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

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

   数栈君   发表于 2026-03-30 08:32  62  0

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

在现代企业数据架构中,高可用性与负载均衡是保障业务连续性的核心需求。Oracle Real Application Clusters(RAC)作为Oracle数据库的集群解决方案,允许多个节点同时访问同一数据库实例,实现故障自动切换、横向扩展与资源动态分配。对于构建数据中台、支撑数字孪生系统或实现高并发数字可视化平台的企业而言,部署一套稳定可靠的Oracle RAC集群,是提升系统韧性与性能的关键一步。

本文将聚焦于双节点Oracle RAC集群的完整部署流程,涵盖操作系统配置、共享存储设置、网络规划、集群软件安装与数据库创建等核心环节,确保您能够高效、准确地完成生产级部署。


一、Oracle RAC部署前提条件

在开始部署前,必须确保硬件与软件环境满足Oracle官方推荐标准:

  • 硬件要求:两个物理服务器(或虚拟机),建议配置相同CPU核心数、内存容量与磁盘性能。推荐单节点内存 ≥ 32GB,CPU ≥ 8核,以支撑中大型业务负载。
  • 操作系统:Oracle Linux 8.x 或 Red Hat Enterprise Linux 8.x(64位),需启用SELinux并配置为permissive模式,避免权限冲突。
  • 网络要求:至少三张网卡:
    • Public Network:用于客户端连接与管理,配置静态IP(如192.168.1.10/11)
    • Private Network:用于节点间心跳与缓存融合(Cache Fusion),建议使用万兆网卡,配置独立子网(如10.10.10.10/11)
    • Virtual IP (VIP):用于故障转移,绑定在Public网络上,由Clusterware自动管理
  • 存储要求:必须使用共享存储,支持ASM(Automatic Storage Management)或外部文件系统(如NFS)。推荐使用SAN或iSCSI存储,确保两个节点可同时读写同一磁盘。

关键提示:共享存储是RAC架构的基石。若仅使用本地磁盘,将无法实现多实例并发访问,RAC将失效。


二、共享存储配置详解

共享存储是Oracle RAC区别于单机部署的核心。以下是两种主流配置方式:

1. 使用ASM(推荐)

ASM是Oracle官方推荐的存储管理方案,专为RAC优化,支持条带化、镜像与动态重平衡。

  • 步骤
    1. 在存储阵列上创建至少三个LUN:
      • +DATA:存放数据文件、控制文件、重做日志
      • +FRA:快速恢复区,用于归档日志与备份
      • +OCR:存放OCR(Oracle Cluster Registry)与Voting Disk(投票磁盘)
    2. 在两个节点上安装oracleasm工具:
      yum install oracleasm-support oracleasmlib oracleasm-cli
    3. 配置ASM磁盘:
      /etc/init.d/oracleasm configure  # 设置用户为oracle,组为dba/etc/init.d/oracleasm createdisk DATA /dev/sdb1/etc/init.d/oracleasm createdisk FRA /dev/sdc1/etc/init.d/oracleasm createdisk OCR /dev/sdd1
    4. 在另一节点扫描磁盘:
      /etc/init.d/oracleasm scandisks/etc/init.d/oracleasm listdisks

🔍 为什么用ASM?ASM自动管理文件分布、负载均衡与故障隔离,无需手动管理裸设备。在数字孪生系统中,高频写入的实时数据流可通过ASM的条带化机制均匀分布,避免单盘I/O瓶颈。

2. 使用NFS共享文件系统(备选)

若无SAN环境,可使用NFS挂载共享目录,但性能与可靠性低于ASM。

  • 在存储服务器上导出目录:
    echo "/u01/app/oracle/shared *(rw,sync,no_root_squash)" >> /etc/exportsexportfs -rsystemctl restart nfs-server
  • 在两个节点挂载:
    mount -t nfs storage-server:/u01/app/oracle/shared /u01/app/oracle/shared

⚠️ 注意:NFS不支持OCR/Voting Disk,仍需使用本地磁盘或iSCSI存储存放集群元数据。


三、网络与主机配置

1. 主机名与DNS解析

确保每个节点拥有唯一主机名,并在/etc/hosts中配置所有节点IP:

192.168.1.10    racnode1.example.com racnode1192.168.1.11    racnode2.example.com racnode210.10.10.10     racnode1-priv.example.com racnode1-priv10.10.10.11     racnode2-priv.example.com racnode2-priv192.168.1.100   racnode1-vip.example.com racnode1-vip192.168.1.101   racnode2-vip.example.com racnode2-vip

✅ 推荐使用DNS服务(如Bind)替代hosts文件,避免运维复杂度。

2. 时间同步(NTP)

RAC对时间一致性要求极高,偏差超过1000ms将导致节点驱逐。

yum install chronysystemctl enable chronydsystemctl start chronydchronyc sources

配置所有节点同步至同一NTP服务器,如pool.ntp.org

3. 用户与权限

创建统一的Oracle用户与组:

groupadd oinstallgroupadd dbauseradd -g oinstall -G dba oracleecho "oracle:password" | chpasswdmkdir -p /u01/app/oraclechown -R oracle:oinstall /u01/app/oraclechmod -R 775 /u01/app/oracle

四、安装Oracle Grid Infrastructure

Grid Infrastructure是RAC的集群管理核心,包含Clusterware与ASM。

  1. 下载Oracle Grid Infrastructure 19c或21c(根据数据库版本匹配)
  2. 解压安装包至两个节点的/tmp目录
  3. 启动图形安装器(需X11转发或VNC):
    ./runInstaller
  4. 安装类型选择:Install and Configure Grid Infrastructure for a Cluster
  5. 节点配置:添加两个节点名称与私网IP
  6. 网络接口:绑定Public与Private网卡
  7. 存储选项:选择ASM,指定+DATA、+FRA、+OCR磁盘组
  8. 执行root脚本:在两个节点依次运行root.sh

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

crsctl check clustercrsctl stat res -tolsnodes -n

五、安装Oracle Database软件

  1. 在任一节点解压Database安装包
  2. 运行runInstaller,选择Install database software only
  3. 选择集群模式,勾选两个节点
  4. 完成后,在任一节点执行dbca(Database Configuration Assistant)创建RAC数据库
  5. 数据库配置:
    • 数据库名:ORCL
    • 全局数据库名:ORCL.example.com
    • 选择“Oracle RAC Database”
    • 指定存储位置为ASM(+DATA)
    • 启用归档模式(推荐用于生产)
    • 设置内存与进程参数(建议SGA ≥ 16GB)

✅ 建议启用自动内存管理(AMM)或手动设置SGA/PGA,避免内存争用。


六、验证与性能调优

部署完成后,执行以下验证:

  • 连接测试:从客户端使用VIP连接数据库
    CONNECT sys/password@racnode1-vip:1521/ORCL.example.com AS SYSDBA
  • 负载均衡测试:使用tnspingsqlplus轮询两个VIP,观察连接是否在节点间切换
  • 故障模拟:关闭一个节点,观察VIP是否自动漂移,业务是否无中断
  • 性能监控:使用awrreport分析缓存融合(Cache Fusion)效率,确保跨节点数据访问延迟低于5ms

💡 调优建议

  • 调整_gc_affinity_time参数优化数据亲和性
  • 设置cluster_interconnects明确私网通信接口
  • 开启ASM的ASM_POWER_LIMIT=8加速重平衡

七、运维与监控建议

  • 备份策略:使用RMAN备份至FRA,定期归档日志
  • 日志监控:关注/u01/app/grid/diag/crs//u01/app/oracle/diag/rdbms/下的告警日志
  • 补丁管理:使用OPatch定期应用PSU(Patch Set Update)
  • 自动化脚本:编写Shell脚本自动检测集群状态,异常时触发邮件告警

🚨 避免直接修改OCR或Voting Disk文件。任何配置变更应通过crsctlsrvctl命令操作。


八、企业级应用场景

Oracle RAC集群广泛应用于:

  • 金融交易系统:保障7×24小时连续交易,毫秒级故障切换
  • 数字孪生平台:实时同步物理设备数据,多实例并行处理传感器流
  • 工业可视化平台:支撑高并发Web端数据刷新,避免单点阻塞
  • 政务大数据平台:满足等保三级对高可用的强制要求

在这些场景中,RAC的“多活架构”显著优于主备模式,真正实现“零停机”升级与弹性扩容。


九、常见错误与解决方案

错误现象原因解决方案
CRS-4535: Cannot communicate with cluster manager时间不同步同步NTP,重启crsctl
ORA-15042: ASM disk is missing磁盘未被识别在所有节点执行oracleasm scandisks
TNS-12541: TNS:no listenerVIP未绑定检查srvctl status listener,重启监听器
PRCR-1079: Failed to start resource ora.db.db权限错误检查/u01/app/oracle目录属主是否为oracle:oinstall

十、结语:构建高可用数据基石

Oracle RAC部署虽复杂,但其带来的高可用性、负载均衡与弹性扩展能力,是构建现代数据中台的底层支撑。无论是支撑数字孪生系统的实时仿真,还是驱动可视化平台的海量并发查询,RAC都能提供企业级的稳定保障。

若您希望快速验证RAC架构在自身业务中的可行性,或希望获得预配置的集群模板,可申请试用专业云原生数据库部署平台,降低运维门槛,加速业务上线。申请试用

同样,对于正在规划数据平台升级的企业,建议在测试环境中先行部署双节点RAC,验证性能与容灾能力。申请试用

我们建议在生产环境上线前,与Oracle官方支持团队或认证服务商合作,完成架构评审与压力测试。申请试用 可为您提供定制化部署方案与技术咨询支持。


最终建议:Oracle 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条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

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