Oracle RAC集群部署实战:双节点配置与共享存储设置
在企业级数据中台架构中,高可用性与负载均衡是保障业务连续性的核心需求。Oracle Real Application Clusters(RAC)作为Oracle官方提供的集群解决方案,允许多个节点共享同一数据库实例,实现故障自动切换、动态负载分担和近乎零停机维护。本文将深入解析Oracle RAC在双节点环境下的完整部署流程,重点聚焦共享存储配置、网络规划、集群软件安装与验证,为企业构建稳定、可扩展的数据库基础设施提供可落地的实战指南。
在启动部署前,必须确保硬件与软件环境满足Oracle官方推荐的最低标准。RAC不是简单的多实例部署,而是依赖底层共享存储与高可用网络的复杂系统。
oracle-database-preinstall-19c、kmod-oracleasm、libaio、sysstat、nfs-utils✅ 关键提示:所有节点必须保持系统时间同步,建议部署NTP服务并配置chronyd,时间偏差不得超过1秒,否则集群将拒绝启动。
Oracle RAC的核心是“共享存储 + 缓存融合”。所有节点必须能同时访问同一组数据文件、控制文件与重做日志。
| 类型 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| ASM(推荐) | 自动负载均衡、条带化、镜像、无需第三方文件系统 | 需要磁盘划分,学习曲线略高 | 生产环境首选 |
| OCFS2 | 支持POSIX文件语义,适合非ASM场景 | 性能低于ASM,维护复杂 | 旧系统迁移过渡 |
| NFS | 易于管理,适合云环境 | 网络延迟敏感,不推荐用于高并发OLTP | 测试/开发环境 |
lsblk# 或fdisk -l | grep -i "Disk /dev/sd"# 编辑 /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"yum install oracleasm-support oracleasmlib oracleasm-clioracleasm initoracleasm createdisk DISK1 /dev/sdb1oracleasm listdisksoracleasm listdisks# 应返回相同列表:DISK1 DISK2 DISK3📌 重要:ASM磁盘必须由
grid用户拥有,权限为0660,且不能挂载为文件系统。
RAC的稳定性高度依赖网络的低延迟与高可靠性。
为提高私网可靠性,建议在两个节点上配置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在两个节点的/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,用于客户端负载均衡。
Grid Infrastructure是RAC的集群管理核心,包含OCR、Voting Disk、Clusterware和ASM。
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在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./runInstallersshUserSetup.sh自动完成)DATA的磁盘组root.sh)✅ 安装完成后,使用
crsctl check cluster验证集群状态,应返回CRS-4537: Cluster Ready Services is online
oracle用户运行runInstaller使用DBCA(Database Configuration Assistant)图形化工具:
racdb.example.com)DATA磁盘组验证数据库状态:
srvctl status database -d racdb# 输出应显示:Instance racdb1 is running on node racnode1# Instance racdb2 is running on node racnode2# 查看集群资源crsctl stat res -t# 查看ASM状态asmcmd lsdg# 查看数据库实例sqlplus / as sysdbaSQL> select instance_name, status from v$instance;shutdown -h now📊 性能建议:在生产环境中,建议启用Fast Application Notification(FAN)和ONS,实现应用层快速感知节点故障。
ocrconfig -showbackup$ORACLE_BASE/diag/crs/ 下的日志文件是排查问题的关键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
申请试用&下载资料