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

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

   数栈君   发表于 2026-03-29 15:16  107  0

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

在企业级数据中台架构中,高可用性与负载均衡是保障业务连续性的核心诉求。Oracle Real Application Clusters(RAC)作为Oracle官方提供的集群解决方案,允许多个节点共享同一数据库实例,实现故障自动切换与性能横向扩展。本文将深入解析Oracle RAC双节点部署的完整流程,重点聚焦共享存储配置、网络规划、集群软件安装与验证,为企业构建稳定、可扩展的数据库基础设施提供可落地的技术指南。


一、Oracle RAC部署的核心前提

在开始部署前,必须明确Oracle RAC的三大基础依赖:

  1. 共享存储系统:所有节点必须能同时访问同一套存储设备,用于存放数据文件、控制文件、重做日志和OCR(Oracle Cluster Registry)及Voting Disk。推荐使用SAN(存储区域网络)或NAS(网络附加存储),并配置为ASM(Automatic Storage Management)可识别的裸设备或LUN。
  2. 私有网络与公共网络分离:RAC依赖双网卡架构——公共网络用于客户端连接,私有网络(Interconnect)用于节点间心跳通信与缓存融合(Cache Fusion)。私网必须为低延迟、高带宽的专用网络,推荐使用10Gbps及以上以太网或InfiniBand。
  3. 时间同步服务:所有节点必须通过NTP(Network Time Protocol)或Chrony实现毫秒级时间同步,否则集群心跳检测将失败,导致节点被驱逐。

✅ 建议:在部署前使用ntpdatechronyc sources验证时间偏差,确保误差小于1秒。


二、共享存储配置详解(以Linux + ASM为例)

共享存储是RAC的命脉。以下是典型配置步骤:

1. 存储设备识别与分区

在两个节点上执行以下命令,确认存储设备是否被正确识别:

lsblk# 或fdisk -l

假设您已通过SAN挂载了3个LUN,分别为 /dev/sdb, /dev/sdc, /dev/sdd,每个LUN大小不低于50GB。

2. 配置udev规则(关键步骤)

为确保设备名称在重启后保持一致,必须配置udev规则:

vi /etc/udev/rules.d/99-oracle-asm.rules

写入如下内容(根据实际设备WWID调整):

KERNEL=="sdb", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29b8a5a1a4d7e5f4d7e5f4d7e5f", SYMLINK+="asm-disk1", OWNER="grid", GROUP="oinstall", MODE="0660"KERNEL=="sdc", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29b8a5a1a4d7e5f4d7e5f4d7e5g", SYMLINK+="asm-disk2", OWNER="grid", GROUP="oinstall", MODE="0660"KERNEL=="sdd", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29b8a5a1a4d7e5f4d7e5f4d7e5h", SYMLINK+="asm-disk3", OWNER="grid", GROUP="oinstall", MODE="0660"

保存后执行:

udevadm control --reload-rulesudevadm triggerls -l /dev/asm-*

📌 注意:scsi_id输出的WWID必须在两个节点上完全一致,否则ASM无法识别共享磁盘。

3. 安装并配置ASM

使用Oracle Grid Infrastructure安装程序(GI)配置ASM。在安装过程中,选择“Configure Oracle ASM”选项,并将上述三个设备分别分配为:

  • +DATA:存放数据文件、控制文件、重做日志(建议使用NORMAL冗余)
  • +FRA:快速恢复区,用于归档日志与备份(建议使用EXTERNAL冗余)
  • +OCR:存放集群注册表与投票磁盘(建议使用EXTERNAL冗余,至少3个磁盘)

⚠️ 禁止使用文件系统(如ext4、xfs)存放Oracle RAC核心文件。必须通过ASM管理,否则无法实现缓存融合。


三、网络与主机配置规范

1. 主机名与/etc/hosts配置

确保每个节点的主机名唯一,且在/etc/hosts中配置所有节点的公共IP、私有IP与虚拟IP(VIP):

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.101 rac1-vip.example.com rac1-vip192.168.1.102 rac2-vip.example.com rac2-vip

✅ 公共IP用于客户端连接,VIP用于故障切换,私有IP仅用于节点间通信,禁止公网访问。

2. 防火墙与SELinux配置

关闭防火墙或开放必要端口:

systemctl stop firewalldsystemctl disable firewalld

禁用SELinux(推荐):

vi /etc/selinux/config# 修改为:SELINUX=disabled

重启生效。

3. 用户与组配置

创建统一的用户与组:

groupadd -g 1000 oinstallgroupadd -g 1200 dbagroupadd -g 1201 opergroupadd -g 1202 asmadmingroupadd -g 1203 asmdbagroupadd -g 1204 asmoperuseradd -u 1100 -g oinstall -G dba,asmdba,oper griduseradd -u 1101 -g oinstall -G dba,asmdba,oper oracle

设置密码并确保grid用户拥有GI安装权限,oracle用户拥有数据库安装权限。


四、Oracle Grid Infrastructure安装

  1. 下载并解压软件包从Oracle官网下载对应版本的Grid Infrastructure(如19c或21c),解压至/u01/app/19.0.0/grid

  2. 运行安装程序切换至grid用户,执行:

    cd /u01/app/19.0.0/grid./runInstaller
  3. 安装选项选择

    • 选择“Install and Configure Oracle Grid Infrastructure for a Cluster”
    • 指定节点:rac1, rac2
    • 配置私有网络:绑定至192.168.2.0/24
    • 配置OCR与Voting Disk:选择上述ASM磁盘(asm-disk1, asm-disk2, asm-disk3)
    • 设置ASM密码:建议使用强密码并妥善保管
  4. 执行root脚本安装程序会提示在两个节点上依次执行:

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

    执行后,集群服务(CRS)将自动启动。


五、集群状态验证与数据库部署

安装完成后,验证集群状态:

crsctl check clustercrsctl stat res -tocrcheck

预期输出应为:

  • Cluster is online
  • All resources are ONLINE
  • OCR integrity: OK

部署Oracle数据库软件

  1. 使用oracle用户安装数据库软件(不创建数据库)。
  2. 使用DBCA(Database Configuration Assistant)创建RAC数据库:
    • 选择“Oracle Real Application Clusters database”
    • 指定数据库名(如RACDB
    • 选择所有节点参与
    • 存储位置选择+DATA
    • 启用归档模式与自动备份

完成创建后,执行:

srvctl status database -d RACDB

若显示两个节点均为“OPEN”,则部署成功。


六、性能优化与运维建议

  • ASM磁盘组冗余策略:生产环境建议使用NORMAL冗余(双副本),避免单点故障;测试环境可使用EXTERNAL。

  • 网络带宽监控:使用iftopnethogs监控私网流量,确保无拥塞。

  • 心跳超时设置:默认10秒,若网络延迟高,可调整为15秒(需谨慎):

    ocrconfig -local -manualbackupcrsctl set css misscount 15
  • 定期备份OCR与Voting Disk

    ocrconfig -showbackupocrconfig -export /backup/ocr_export.dmp

七、常见故障排查清单

问题现象可能原因解决方案
CRS服务无法启动时间不同步使用chronyc sources校准时间
ASM无法识别磁盘udev规则未生效重新加载规则并检查WWID
节点被驱逐私网丢包检查交换机配置、网卡绑定、MTU设置
DBCA创建失败权限不足确保grid与oracle用户组权限正确

八、企业级部署价值与扩展建议

Oracle RAC不仅提供高可用性,更支持动态负载均衡与在线扩容。当业务量增长时,可平滑添加新节点(最多100+),无需停机。结合数据中台架构,RAC可作为核心交易数据库支撑实时分析、数字孪生仿真与可视化仪表盘的数据源,确保每秒数千笔事务的稳定写入。

🔧 推荐架构:RAC集群 → 数据抽取层(OGG)→ 数据湖 → 可视化平台(非DataV)通过RAC保障源端数据一致性,再通过ETL分发至分析层,实现“稳源、活用、智显”的闭环。


九、结语:从部署到生产,每一步都至关重要

Oracle RAC部署不是一次性任务,而是持续运维的起点。从共享存储的精确配置,到网络隔离的严谨设计,再到集群健康监控的自动化脚本,每一个环节都直接影响系统可用性。企业若希望在数字孪生、实时决策等场景中实现“零中断”目标,RAC是经过验证的工业级选择。

立即行动:如需专业部署支持或自动化脚本模板,申请试用&https://www.dtstack.com/?src=bbs 获取企业级RAC部署工具包。✅ 资源推荐申请试用&https://www.dtstack.com/?src=bbs 获取Oracle RAC最佳实践白皮书。✅ 技术支援申请试用&https://www.dtstack.com/?src=bbs 获取专属架构师1对1咨询通道。


附录:推荐工具清单

  • crsctl:集群状态管理
  • ocrcheck:OCR完整性检查
  • cluvfy:集群验证工具(安装前必用)
  • asmcmd:ASM文件系统管理
  • dmesg | grep -i error:硬件层故障排查

本文内容基于Oracle 19c Linux x86_64环境编写,适用于CentOS 7.9 / RHEL 7.9 / Oracle Linux 7.9。请根据实际版本调整路径与参数。

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

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