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

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

   数栈君   发表于 2026-03-30 09:10  83  0

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

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


一、Oracle RAC部署的核心前提条件

在启动部署前,必须确保硬件与软件环境满足Oracle官方推荐的最低标准。RAC不是简单的多实例部署,而是依赖底层共享存储与高可用网络的复杂系统。

1.1 硬件要求

  • 双节点服务器:建议使用相同型号、相同CPU架构、相同内存容量的物理服务器,避免因硬件差异导致性能瓶颈或集群心跳异常。
  • 网络接口:每个节点至少配备3个独立网卡:
    • Public Network:用于客户端连接与应用访问(如192.168.1.x)
    • Private Network(Interconnect):用于节点间心跳通信与缓存融合(Cache Fusion),推荐使用10GbE光纤或专用千兆以太网,IP段独立(如10.10.10.x)
    • Storage Network(可选):若使用iSCSI或FC存储,建议单独网络路径以降低延迟
  • 存储系统:必须使用共享存储,支持ASM(Automatic Storage Management)或集群文件系统(如OCFS2)。推荐使用SAN(光纤通道)或NAS(NFS over RDMA),避免本地磁盘。

1.2 软件依赖

  • 操作系统:Oracle Linux 8.x / Red Hat Enterprise Linux 8.x(推荐)
  • 内核版本:至少 4.18.0-348.el8
  • 必装软件包:oracle-database-preinstall-19ckmod-oracleasmlibaiosysstatnfs-utils
  • Oracle软件版本:Oracle Database 19c 或 21c(建议使用最新PSU补丁)

关键提示:所有节点必须保持系统时间同步,建议部署NTP服务并配置chronyd,时间偏差不得超过1秒,否则集群将拒绝启动。


二、共享存储配置:ASM与磁盘发现

Oracle RAC的核心是“共享存储 + 缓存融合”。所有节点必须能同时访问同一组数据文件、控制文件与重做日志。

2.1 存储类型选择

类型优点缺点适用场景
ASM(推荐)自动负载均衡、条带化、镜像、无需第三方文件系统需要磁盘划分,学习曲线略高生产环境首选
OCFS2支持POSIX文件语义,适合非ASM场景性能低于ASM,维护复杂旧系统迁移过渡
NFS易于管理,适合云环境网络延迟敏感,不推荐用于高并发OLTP测试/开发环境

2.2 ASM磁盘划分实战步骤

  1. 连接共享存储:通过光纤通道或iSCSI将存储LUN映射至两个节点。
  2. 扫描新磁盘
    lsblk# 或fdisk -l | grep -i "Disk /dev/sd"
  3. 使用udev规则绑定持久设备名(避免设备名重启后变化):
    # 编辑 /etc/udev/rules.d/99-oracle-asm.rulesKERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29b1e8a5a8f4a8b1e8a5a8f4a8b", SYMLINK+="asm-disk1", OWNER="grid", GROUP="asmadmin", MODE="0660"
  4. 安装Oracle ASMlib(可选,推荐用于简化管理):
    yum install oracleasm-support oracleasmlib oracleasm-clioracleasm initoracleasm createdisk DISK1 /dev/sdb1oracleasm listdisks
  5. 验证磁盘可见性:在两个节点上分别执行:
    oracleasm listdisks# 应返回相同列表:DISK1 DISK2 DISK3

📌 重要:ASM磁盘必须由grid用户拥有,权限为0660,且不能挂载为文件系统。


三、网络与主机配置:确保集群心跳畅通

RAC的稳定性高度依赖网络的低延迟与高可靠性。

3.1 配置双网卡绑定(Bonding)

为提高私网可靠性,建议在两个节点上配置bonding模式(mode=1或mode=4):

# 编辑 /etc/sysconfig/network-scripts/ifcfg-bond0DEVICE=bond0BOOTPROTO=staticONBOOT=yesBONDING_OPTS="mode=1 miimon=100"IPADDR=10.10.10.10NETMASK=255.255.255.0

然后将两个物理网卡绑定到bond0:

# ifcfg-ens1f0MASTER=bond0SLAVE=yes

重启网络服务:

systemctl restart network

3.2 配置DNS或/etc/hosts

在两个节点的/etc/hosts中添加所有节点的VIP、SCAN IP与私网IP:

192.168.1.101  racnode1.example.com racnode1192.168.1.102  racnode2.example.com racnode2192.168.1.105  racnode1-vip.example.com racnode1-vip192.168.1.106  racnode2-vip.example.com racnode2-vip10.10.10.10    racnode1-priv.example.com racnode1-priv10.10.10.11    racnode2-priv.example.com racnode2-priv192.168.1.110  rac-scan.example.com192.168.1.111  rac-scan.example.com192.168.1.112  rac-scan.example.com

⚠️ SCAN IP必须由DNS解析(推荐)或在/etc/hosts中配置至少3个IP,用于客户端负载均衡。


四、安装Oracle Grid Infrastructure(GI)

Grid Infrastructure是RAC的集群管理核心,包含OCR、Voting Disk、Clusterware和ASM。

4.1 创建用户与组

groupadd -g 1000 oinstallgroupadd -g 1001 dbagroupadd -g 1002 opergroupadd -g 1003 asmadmingroupadd -g 1004 asmdbagroupadd -g 1005 asmoperuseradd -u 1100 -g oinstall -G dba,asmadmin,asmdba,asmoper griduseradd -u 1101 -g oinstall -G dba,oper,asmdba oracle

4.2 设置环境变量

grid用户的.bash_profile中添加:

export ORACLE_BASE=/u01/app/gridexport ORACLE_HOME=/u01/app/19.0.0/gridexport ORACLE_SID=+ASM1export PATH=$ORACLE_HOME/bin:$PATH

4.3 安装Grid Infrastructure

  1. 挂载Oracle 19c安装介质
  2. 执行:
    ./runInstaller
  3. 选择“Install and Configure Oracle Grid Infrastructure for a Cluster”
  4. 输入节点名(racnode1, racnode2),配置SSH互信(使用sshUserSetup.sh自动完成)
  5. 指定ASM磁盘组:选择之前创建的DISK1、DISK2、DISK3,创建名为DATA的磁盘组
  6. 设置OCR与Voting Disk位置(默认使用ASM)
  7. 执行root脚本(在两个节点分别运行root.sh

✅ 安装完成后,使用crsctl check cluster验证集群状态,应返回CRS-4537: Cluster Ready Services is online


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

5.1 安装数据库软件(仅需在任一节点执行)

  • 使用oracle用户运行runInstaller
  • 选择“Install database software only”
  • 选择“Oracle Real Application Clusters database installation”
  • 指定所有节点(racnode1, racnode2)

5.2 创建RAC数据库

使用DBCA(Database Configuration Assistant)图形化工具:

  1. 选择“Create a Database”
  2. 选择“RAC Database”
  3. 选择“General Purpose or Transaction Processing”
  4. 指定全局数据库名(如racdb.example.com
  5. 选择“Use ASM”作为存储,选择DATA磁盘组
  6. 配置监听器:自动使用SCAN IP
  7. 设置字符集:建议AL32UTF8
  8. 启用“Enable Archive Log Mode”以支持备份恢复
  9. 完成创建后,DBCA将自动在两个节点启动实例(racdb1, racdb2)

验证数据库状态:

srvctl status database -d racdb# 输出应显示:Instance racdb1 is running on node racnode1#                         Instance racdb2 is running on node racnode2

六、集群验证与高可用测试

6.1 基础验证命令

# 查看集群资源crsctl stat res -t# 查看ASM状态asmcmd lsdg# 查看数据库实例sqlplus / as sysdbaSQL> select instance_name, status from v$instance;

6.2 故障模拟测试

  • 在节点1上执行:shutdown -h now
  • 观察节点2是否自动接管服务
  • 客户端连接SCAN IP是否仍可访问数据库
  • 重启节点1后,观察是否自动加入集群

📊 性能建议:在生产环境中,建议启用Fast Application Notification(FAN)和ONS,实现应用层快速感知节点故障。


七、运维建议与最佳实践

  • 定期备份OCR与Voting Diskocrconfig -showbackup
  • 监控集群日志$ORACLE_BASE/diag/crs/ 下的日志文件是排查问题的关键
  • 禁用防火墙与SELinux:在部署期间建议关闭,生产环境可配置策略放行端口
  • 使用Oracle Enterprise Manager:集中监控RAC集群健康状态
  • 定期打PSU补丁:避免已知漏洞导致集群异常

结语:构建企业级高可用数据库基石

Oracle RAC部署虽复杂,但其带来的高可用性、弹性扩展与零停机维护能力,是支撑数据中台、数字孪生系统等关键业务的底层保障。通过本文的双节点实战配置,您已掌握共享存储、集群网络、Grid Infrastructure与数据库部署的完整流程。

如需进一步降低部署复杂度、提升运维效率,可考虑结合自动化工具(如Ansible)或云原生方案。对于希望快速验证RAC能力的企业用户,我们推荐通过专业平台进行环境预演:

申请试用&https://www.dtstack.com/?src=bbs

在真实业务场景中,RAC的稳定性直接决定数据服务的SLA。若您正在规划下一代数据平台架构,不妨从一次RAC部署开始,构建真正可靠的数据库核心:

申请试用&https://www.dtstack.com/?src=bbs

无论是金融交易、智能制造还是实时分析,Oracle RAC都能为您提供企业级的数据库韧性。现在就开始规划您的双节点RAC集群,让数据服务永不中断:

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

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