博客 Oracle RAC集群部署实战:双节点高可用配置

Oracle RAC集群部署实战:双节点高可用配置

   数栈君   发表于 2026-03-28 15:31  45  0

Oracle RAC集群部署实战:双节点高可用配置

在现代企业数据架构中,数据库的高可用性与连续性是保障业务稳定运行的核心要素。尤其在数据中台、数字孪生和数字可视化等对实时性与数据一致性要求极高的场景下,单点故障可能导致决策延迟、可视化中断甚至业务停摆。Oracle Real Application Clusters(RAC)作为Oracle官方提供的企业级高可用解决方案,通过多节点共享存储架构,实现数据库实例的并行运行与故障自动切换,是构建7×24小时不间断服务系统的首选方案。

本文将基于真实生产环境,系统讲解Oracle RAC双节点部署的完整流程,涵盖硬件规划、操作系统配置、共享存储搭建、集群软件安装、数据库创建及关键验证步骤,确保部署过程可复现、可审计、可运维。


一、部署前提与架构设计

Oracle RAC要求至少两个节点共享同一套存储系统,每个节点运行独立的Oracle实例,但访问相同的数据库文件。双节点架构可实现负载均衡与故障转移,适用于中大型企业核心业务系统。

硬件要求(推荐配置):

  • 节点数量:2台(主备架构)
  • CPU:每节点≥16核(推荐Intel Xeon Gold系列)
  • 内存:每节点≥64GB(建议预留20%用于OS与ASM)
  • 网络:至少双网卡(公共网络 + 私有心跳网络)
  • 存储:共享存储(SAN/NAS),建议使用ASM管理,容量≥500GB(数据+归档+OCR/Voting Disk)

⚠️ 注意:Oracle RAC不支持本地磁盘作为共享存储。必须使用集群文件系统(如OCFS2)或ASM(Automatic Storage Management)。

网络拓扑建议:

网络类型用途推荐IP段带宽
公共网络客户端连接192.168.10.0/241Gbps
私有网络节点间心跳与缓存融合10.10.10.0/2410Gbps(必须)

私有网络必须独立于公共网络,且不得经过交换机或防火墙,避免心跳丢包导致脑裂(Split-Brain)。


二、操作系统与内核参数配置

以Oracle Linux 8.9或Red Hat Enterprise Linux 8.9为例,需完成以下基础配置:

1. 主机名与DNS解析

# 编辑 /etc/hosts,确保所有节点互解析192.168.10.10  racnode1.example.com racnode1192.168.10.11  racnode2.example.com racnode210.10.10.10    racnode1-priv.example.com racnode1-priv10.10.10.11    racnode2-priv.example.com racnode2-priv192.168.10.12  racnode1-vip.example.com racnode1-vip192.168.10.13  racnode2-vip.example.com racnode2-vip192.168.10.14  scan.example.com scan

SCAN(Single Client Access Name)是Oracle RAC的客户端访问入口,由DNS或GNS解析为3个IP,实现负载均衡。

2. 用户与组创建

groupadd -g 54321 oinstallgroupadd -g 54322 dbagroupadd -g 54323 opergroupadd -g 54324 asmadmingroupadd -g 54325 asmdbagroupadd -g 54326 asmoperuseradd -u 54321 -g oinstall -G dba,asmdba,oper oracleuseradd -u 54322 -g oinstall -G asmadmin,asmdba,asmoper grid

3. 内核参数优化

编辑 /etc/sysctl.conf

fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 17179869184kernel.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

4. 资源限制配置

编辑 /etc/security/limits.conf

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

三、共享存储配置(ASM)

Oracle RAC依赖ASM管理共享存储。推荐使用3个磁盘:

  • 1个用于OCR(Oracle Cluster Registry)
  • 1个用于Voting Disk(仲裁磁盘)
  • 1个用于数据文件(+DATA)

使用/dev/sdb, /dev/sdc, /dev/sdd作为共享磁盘,需在所有节点上可见。

配置udev规则(避免设备名变化):

# 编辑 /etc/udev/rules.d/99-oracle-asm.rulesKERNEL=="sdb", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29a1b2c3d4e5f6a7b8c9d0e1f2", SYMLINK+="asm-ocr", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sdc", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29a1b2c3d4e5f6a7b8c9d0e1f3", SYMLINK+="asm-vote", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sdd", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29a1b2c3d4e5f6a7b8c9d0e1f4", SYMLINK+="asm-data", OWNER="grid", GROUP="asmadmin", MODE="0660"

重载规则:

udevadm control --reload-rulesudevadm trigger

验证:

ls -l /dev/asm-*

四、安装Oracle Grid Infrastructure

  1. 下载Oracle Grid Infrastructure 19c或21c(与数据库版本匹配)
  2. 解压至 /u01/app/grid
  3. 执行安装程序:
cd /u01/app/grid/install./runInstaller

安装向导关键配置:

  • 安装类型:Install and Configure Oracle Grid Infrastructure for a Cluster
  • 节点配置:添加racnode1、racnode2,填写SSH连接信息
  • 网络接口:绑定公共网卡(eth0)与私有网卡(eth1)
  • 存储选项:选择ASM,设置ASM磁盘组名称为DATA,添加/dev/asm-data
  • OCR/Voting Disk:自动选择/dev/asm-ocr/dev/asm-vote
  • 密码设置:为grid用户设置统一密码(建议使用复杂密码)

安装完成后,以root身份执行两个脚本:

/u01/app/oraInventory/orainstRoot.sh/u01/app/19.0.0/grid/root.sh

验证集群状态:

crsctl check clustercrsctl stat res -t

五、安装Oracle Database Software

  1. 切换至oracle用户
  2. 解压数据库安装包至 /u01/app/oracle/product/19c/dbhome_1
  3. 执行:
cd /u01/app/oracle/product/19c/dbhome_1/install./runInstaller

安装选项:

  • 安装类型:Install database software only
  • 节点选择:racnode1、racnode2
  • Oracle Home:保持默认
  • 用户组:选择oinstall、dba

安装完成后,以root执行:

/u01/app/oracle/product/19c/dbhome_1/root.sh

六、创建RAC数据库

使用DBCA(Database Configuration Assistant)图形化工具创建数据库:

  1. 启动DBCA:
dbca
  1. 选择:Create a Database
  2. 选择:RAC Database
  3. 模板:General Purpose or Transaction Processing
  4. 全局数据库名:orcl.example.com
  5. 实例名:orcl1, orcl2
  6. 存储类型:ASM
  7. 指定磁盘组:+DATA
  8. 启用归档模式(重要!支持备份与恢复)
  9. 设置密码:SYS、SYSTEM、PDB_ADMIN
  10. 配置自动内存管理(AMM)或手动SGA/PGA
  11. 完成创建,等待数据库启动

✅ 创建完成后,使用srvctl status database -d orcl验证两个实例均处于OPEN状态。


七、高可用性验证与运维检查

1. 故障转移测试

在节点1上强制关闭数据库实例:

srvctl stop instance -d orcl -i orcl1

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

2. 状态监控

# 查看集群资源crsctl stat res -t# 查看数据库实例状态srvctl status database -d orcl# 查看ASM磁盘组asmcmd lsdg# 查看监听器lsnrctl status

3. 日志路径

  • 集群日志:/u01/app/19.0.0/grid/log/racnode1/
  • 数据库日志:/u01/app/oracle/diag/rdbms/orcl/orcl1/trace/
  • ASM日志:/u01/app/19.0.0/grid/log/racnode1/asm/

八、性能优化与监控建议

  • 启用并行查询:适用于数字可视化中大数据量聚合场景
  • 配置连接池:减少频繁连接开销,推荐使用Oracle Universal Connection Pool(UCP)
  • 监控ASM I/O:使用asmcmd iostat分析磁盘延迟
  • 定期备份:使用RMAN备份至共享ASM磁盘组或远程NFS

💡 建议部署Zabbix或Oracle Enterprise Manager监控集群健康度,设置心跳丢失、磁盘组满、实例宕机等告警阈值。


九、常见陷阱与规避策略

问题原因解决方案
OCR/Voting Disk不可用磁盘权限错误检查udev规则与属主(grid:asmadmin)
节点间心跳中断私有网络被防火墙拦截确保私网直连,关闭iptables
DBCA创建失败时间不同步使用NTP同步所有节点时间(chronyd)
ASM磁盘无法识别多路径未配置安装multipath-tools并配置multipath.conf

十、结语:构建企业级数据基石

Oracle RAC部署虽复杂,但其带来的高可用性、负载均衡与零停机维护能力,是支撑数据中台、数字孪生系统持续运行的底层保障。一次成功的RAC部署,意味着您的核心业务将具备抵御硬件故障、网络波动与维护窗口的能力。

为加速部署效率,降低运维风险,建议企业优先采用自动化部署工具(如Ansible)或云原生容器化方案。若您尚未拥有完整测试环境,可申请试用专业数据库管理平台,快速验证RAC架构可行性:申请试用

在生产环境上线前,务必进行压力测试与灾难恢复演练。建议每季度执行一次故障切换演练,确保团队熟悉应急流程。

再次强调:申请试用 可帮助您在非生产环境中快速搭建RAC原型,验证架构可行性,降低试错成本。

对于希望实现数据可视化与实时分析的企业,RAC不仅是数据库的高可用方案,更是数据流稳定输出的基石。没有稳定的底层,再华丽的可视化图表也将失去意义。

申请试用 —— 让您的数据架构,从可靠开始。

申请试用&下载资料
点击袋鼠云官网申请免费试用: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条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

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