博客 Oracle RAC集群部署实战:双节点配置与共享存储搭建

Oracle RAC集群部署实战:双节点配置与共享存储搭建

   数栈君   发表于 2026-03-29 21:47  79  0

Oracle RAC部署是构建高可用、高并发企业级数据库架构的核心技术之一,尤其适用于对数据连续性要求严苛的金融、电信、制造和能源等行业。在数据中台、数字孪生与数字可视化系统中,Oracle RAC通过多节点并行处理能力,显著提升数据读写吞吐量,保障业务系统7×24小时稳定运行。本文将深入解析Oracle RAC双节点集群的部署实战流程,涵盖操作系统配置、共享存储搭建、网络规划、集群软件安装及数据库创建等关键环节,帮助技术团队系统性掌握企业级数据库集群的构建方法。


一、Oracle RAC部署的核心架构认知

Oracle Real Application Clusters(RAC)允许多个数据库实例同时访问同一套数据库文件,实现负载均衡与故障自动切换。在双节点部署中,两个物理服务器共享同一存储系统,通过私有网络同步内存缓存(Cache Fusion),确保数据一致性。

核心组件包括:

  • 共享存储:用于存放数据文件、控制文件、重做日志和OCR/Voting Disk(集群配置与心跳信息)
  • 私有网络(Interconnect):节点间高速通信通道,用于Cache Fusion数据同步
  • 公共网络(Public Network):客户端连接数据库的入口
  • Oracle Clusterware:集群管理引擎,负责节点监控、资源调度与故障恢复
  • Oracle ASM(Automatic Storage Management):推荐的存储管理方式,简化共享磁盘管理

⚠️ 注意:Oracle RAC部署对硬件和网络环境要求严格,任何单点故障(如网络延迟、存储延迟、时钟不同步)都可能导致集群分裂(Split-Brain)。


二、部署前的环境准备

1. 操作系统配置(以Oracle Linux 8.9为例)

每个节点需安装相同版本的操作系统,并完成以下基础配置:

  • 主机名与hosts文件为每个节点设置唯一主机名(如rac1.example.com、rac2.example.com),并在/etc/hosts中添加所有节点的公网与私网IP映射:

    192.168.1.10 rac1.example.com rac1192.168.1.11 rac2.example.com rac2192.168.2.10 rac1-priv.example.com rac1-priv192.168.2.11 rac2-priv.example.com rac2-priv192.168.1.100 rac-scan.example.com rac-scan
  • 用户与组创建创建oracle用户与oinstalldbaoper组:

    groupadd oinstallgroupadd dbauseradd -g oinstall -G dba oraclepasswd oracle
  • 内核参数优化编辑/etc/sysctl.conf,添加如下参数以支持大内存与高并发:

    fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 10737418240kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576

    执行 sysctl -p 生效。

  • 资源限制配置修改/etc/security/limits.conf

    oracle soft nofile 1024oracle hard nofile 65536oracle soft nproc 16384oracle hard nproc 16384oracle soft stack 10240oracle hard stack 32768

2. 时间同步(NTP/Chrony)

集群节点间时间偏差不得超过1秒,否则Clusterware将拒绝启动。推荐使用Chrony:

yum install chrony -ysystemctl enable --now chronydchronyc sources

确保两节点时间同步,使用date命令验证。


三、共享存储搭建:ASM与多路径配置

Oracle RAC必须使用共享存储,推荐使用ASM(Automatic Storage Management)进行磁盘管理。

1. 存储设备规划

使用iSCSI或光纤通道(FC)连接共享存储,为每个节点提供至少以下磁盘:

磁盘用途大小数量
OCR/Voting Disk10GB3(冗余)
ASM Data Disk100GB+2~4
ASM Flash Recovery Area50GB1

2. 配置多路径(Multipath)

在Linux中启用多路径,避免单链路故障:

yum install device-mapper-multipath -ysystemctl enable --now multipathdmultipath -ll

编辑/etc/multipath.conf,定义别名:

defaults {    user_friendly_names yes}devices {    device {        vendor "NETAPP"        product "LUN"        path_grouping_policy multibus        path_selector "round-robin 0"        hardware_handler "0"        failback immediate    }}

重启服务并验证:

systemctl restart multipathdmultipath -ll

3. 创建ASM磁盘组

使用oracleasm工具标记磁盘:

oracleasm createdisk DATA1 /dev/mapper/data1oracleasm createdisk FRA1 /dev/mapper/fra1oracleasm listdisks

✅ 推荐使用ASM而非裸设备,ASM具备自动负载均衡、在线重平衡、条带化等高级功能,显著降低运维复杂度。


四、安装Oracle Clusterware与Grid Infrastructure

1. 下载并解压软件包

从Oracle官网下载对应版本的Grid Infrastructure(如19c),解压至/u01/app/grid

unzip linuxx64_193000_grid_home.zip -d /u01/app/gridchown -R oracle:oinstall /u01/app/grid

2. 运行安装程序(图形或静默)

推荐使用静默安装,便于自动化:

cd /u01/app/grid/grid./runInstaller -silent -responseFile /tmp/grid.rsp -ignorePrereqFailure

响应文件需提前配置:

oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v19.0.0INVENTORY_LOCATION=/u01/app/oraInventoryORACLE_HOME=/u01/app/19.0.0/gridORACLE_BASE=/u01/app/gridoracle.install.asm.SYSASMPassword=YourSysAsmPass123!oracle.install.asm.diskGroup.name=DATAoracle.install.asm.diskGroup.redundancy=EXTERNALoracle.install.asm.diskGroup.disks=/dev/oracleasm/disks/DATA1oracle.install.asm.diskGroup.diskDiscoveryString=/dev/oracleasm/disks/*

安装过程中,按提示在两个节点上分别执行root.sh脚本。

3. 验证集群状态

crsctl check clustercrsctl stat res -tolsnodes -n

输出应显示所有节点为“ONLINE”,资源状态为“ONLINE”。


五、安装Oracle Database软件并创建RAC数据库

1. 安装数据库软件

在两个节点上分别安装Oracle Database 19c软件(不创建数据库):

unzip linuxx64_193000_db_home.zip -d /u01/app/oracle/product/19.0.0/dbhome_1chown -R oracle:oinstall /u01/app/oracle

使用静默安装:

./runInstaller -silent -responseFile /tmp/db.rsp -ignorePrereqFailure

执行root.sh脚本。

2. 使用DBCA创建RAC数据库

dbca -silent -createDatabase \  -templateName General_Purpose.dbc \  -gdbname RACDB \  -sid RACDB \  -responseFile NO_VALUE \  -characterSet AL32UTF8 \  -nationalCharacterSet AL16UTF16 \  -registerWithDirService FALSE \  -listeners LISTENER \  -nodeinfo rac1,rac2 \  -storageType ASM \  -diskGroupName DATA \  -recoveryGroupName FRA \  -databaseType MULTIPURPOSE \  -memoryPercentage 40 \  -emConfiguration NONE

✅ 创建过程中,DBCA会自动在ASM中创建控制文件、数据文件、重做日志,并注册监听器。

3. 验证数据库服务

srvctl status database -d RACDBsqlplus / as sysdbaSQL> select instance_name, host_name from v$instance;

应返回两个实例,分别运行在rac1与rac2上。


六、性能调优与高可用验证

1. 监控Cache Fusion效率

SELECT * FROM v$ges_stat WHERE name LIKE '%conversion%';

高转换次数(Conversion)可能表示跨节点访问频繁,需优化应用SQL或增加私网带宽。

2. 故障切换测试

手动关闭一个节点:

shutdown -h now

观察另一个节点是否自动接管服务,客户端连接是否无中断。

3. 负载均衡测试

使用SQL*Plus从多个客户端并发连接rac-scan.example.com,验证连接是否在两个节点间均衡分配。


七、运维建议与最佳实践

  • 定期备份OCR与Voting Disk:使用ocrconfig -export导出配置。
  • 监控ASM磁盘使用率:避免空间耗尽导致实例宕机。
  • 启用Oracle Enterprise Manager:集中监控集群健康状态。
  • 网络隔离:私网与公网使用独立交换机,避免广播风暴影响心跳。
  • 补丁管理:使用OPatch统一打补丁,避免版本不一致。

八、结语:为企业数字化转型提供坚实底座

Oracle RAC部署不仅是技术实现,更是企业数据中台高可用能力的基石。在数字孪生系统中,实时数据采集与分析依赖稳定的数据库集群;在可视化决策平台中,高并发查询能力直接影响用户体验。通过本文的完整部署流程,您已掌握构建企业级RAC集群的核心技能。

如需快速验证RAC架构在您业务场景中的表现,或希望获得自动化部署脚本、监控模板与运维手册,可申请试用&https://www.dtstack.com/?src=bbs,获取专业级数据库集群解决方案支持。

再次推荐:申请试用&https://www.dtstack.com/?src=bbs,加速您的数据平台建设进程。

如需长期稳定运行,建议结合容器化部署与云原生架构,申请试用&https://www.dtstack.com/?src=bbs,探索下一代弹性数据库架构。

申请试用&下载资料
点击袋鼠云官网申请免费试用:https://www.dtstack.com/?src=bbs
点击袋鼠云资料中心免费下载干货资料:https://www.dtstack.com/resources/?src=bbs
《数据资产管理白皮书》下载地址:https://www.dtstack.com/resources/1073/?src=bbs
《行业指标体系白皮书》下载地址:https://www.dtstack.com/resources/1057/?src=bbs
《数据治理行业实践白皮书》下载地址:https://www.dtstack.com/resources/1001/?src=bbs
《数栈V6.0产品白皮书》下载地址:https://www.dtstack.com/resources/1004/?src=bbs

免责声明
本文内容通过AI工具匹配关键字智能整合而成,仅供参考,袋鼠云不对内容的真实、准确或完整作任何形式的承诺。如有其他问题,您可以通过联系400-002-1024进行反馈,袋鼠云收到您的反馈后将及时答复和处理。
0条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

最新活动更多
微信扫码获取数字化转型资料