Oracle RAC集群部署全流程实战指南
在企业级数据中台、数字孪生与数字可视化系统中,高可用性与高性能是核心诉求。Oracle Real Application Clusters(RAC)作为Oracle官方提供的集群解决方案,允许多个节点共享同一数据库实例,实现负载均衡、故障自动切换与无缝扩展,是支撑关键业务系统(如金融交易、智能制造、能源监控)的首选架构。本文将系统性地讲解Oracle RAC部署的完整流程,涵盖硬件规划、操作系统配置、网络设置、存储配置、集群软件安装、数据库创建与验证,确保部署过程可复现、可审计、可运维。
Oracle RAC要求至少两个物理节点(推荐3节点以上用于生产环境),每个节点需满足以下基础配置:
⚠️ 注意:Oracle官方强烈建议使用共享存储(如SAN、NFS 4.1、或Oracle ACFS),禁止使用本地磁盘作为共享存储。
网络方面需配置三张网卡:
| 网络类型 | 用途 | 推荐配置 |
|---|---|---|
| Public Network | 客户端连接、应用访问 | 静态IP,千兆或万兆以太网 |
| Private Network | 节点间心跳与缓存融合(Cache Fusion) | 独立网段,≥10Gbps,禁用防火墙 |
| Virtual IP (VIP) | 故障转移时自动漂移 | 与Public同网段,由Clusterware自动管理 |
📌 建议:Private网络使用专用交换机,避免与Public网络混用,防止心跳丢包导致脑裂(Split-Brain)。
推荐使用Oracle Linux 8.x 或 Red Hat Enterprise Linux 8.x,确保与Oracle官方兼容性。
groupadd -g 501 oinstallgroupadd -g 502 dbagroupadd -g 503 operuseradd -u 501 -g oinstall -G dba,oper oracleecho "oracle:Oracle123" | chpasswdfs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 68719476736kernel.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 生效。
oracle soft nofile 1024oracle hard nofile 65536oracle soft nproc 16384oracle hard nproc 16384oracle soft stack 10240oracle hard stack 32768oracle soft memlock 3145728oracle hard memlock 3145728systemctl stop firewalldsystemctl disable firewalldsetenforce 0sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/configOracle RAC依赖ASM(Automatic Storage Management)管理共享存储。推荐使用**多路径(Multipath)**提升可靠性。
yum install -y device-mapper-multipathsystemctl enable multipathd --nowdefaults { user_friendly_names yes find_multipaths yes}devices { device { vendor "DGC" product "RAID" path_grouping_policy multibus hardware_handler "1 emc" path_checker readsector0 failback immediate }}重启服务并查看设备:
systemctl restart multipathdmultipath -ll使用oracleasm或udev规则绑定磁盘为ASM设备:
oracleasm createdisk DATA1 /dev/mapper/data1oracleasm createdisk FRA1 /dev/mapper/fra1oracleasm listdisks✅ 建议:至少创建两个磁盘组:
+DATA(数据文件)和+FRA(快速恢复区)。
在所有节点上执行相同操作,使用图形化安装器(OUI)或静默安装。
unzip linuxx64_193000_grid_home.zip -d /u01/app/19.0.0/gridchown -R oracle:oinstall /u01/app/19.0.0/gridcd /u01/app/19.0.0/grid./runcluvfy.sh stage -pre crsinst -n node1,node2 -verbose./gridSetup.sh选择 “Configure Oracle Grid Infrastructure for a Cluster”,按提示:
⚠️ 安装过程中,系统会自动在所有节点上执行root脚本(root.sh),请在提示时在每个节点上以root身份执行。
安装完成后,验证集群状态:
crsctl check clustercrsctl stat res -tunzip linuxx64_193000_db_home.zip -d /u01/app/oracle/product/19.0.0/dbhome_1chown -R oracle:oinstall /u01/app/oracle/product/19.0.0/dbhome_1export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1export PATH=$ORACLE_HOME/bin:$PATHdbca选择 “Create a Database” → “Oracle Real Application Clusters database”
racdb.example.comracdb1, racdb2racdb-scan.example.com:1521)✅ 建议:启用“Enterprise Manager Express”以便后续监控。
安装完成后,执行:
srvctl status database -d racdb输出应显示所有实例为“OPEN”状态。
sqlplus sys@racdb-scan:1521/racdb as sysdba执行:
SELECT instance_name, host_name FROM gv$instance;应返回所有节点的实例名与主机名,证明RAC正常运行。
在多个客户端同时连接,观察v$session中会话是否均匀分布在不同实例上。
手动关闭一个节点的网络或重启节点:
shutdown -h now观察另一节点是否自动接管服务,VIP是否漂移,应用是否无感知。
awr 报告分析跨实例负载v$ges_statistics 与 v$gcspfmaster_info 查看缓存融合效率crsctl check crs 和 ocrcheck| 类别 | 建议 |
|---|---|
| 备份 | 使用RMAN备份至+FRA,定期验证恢复流程 |
| 补丁 | 使用OPatch打补丁,优先在非生产节点测试 |
| 监控 | 部署Oracle Enterprise Manager(OEM)或Prometheus+Grafana采集指标 |
| 日志 | 定期清理 $ORACLE_BASE/diag/crs/ 下的诊断日志 |
| 扩展 | 添加新节点时,使用 addnode.sh 脚本,避免重建集群 |
| 错误现象 | 解决方案 |
|---|---|
CRS-4535: Cannot communicate with clusterware | 检查Private网络连通性,确认防火墙关闭 |
ORA-15025: could not open disk | 检查ASM磁盘权限,确认multipath配置正确 |
VIP not coming up | 检查DNS或/etc/hosts中SCAN名称解析是否正确 |
ORA-29701: unable to connect to Cluster Manager | 确保所有节点时间同步(NTP) |
💡 强烈建议:部署前在测试环境完整演练一次,记录每一步操作与输出。
在构建数字孪生平台或实时数据中台时,业务系统对“零停机”和“线性扩展”有刚性需求。Oracle RAC通过:
显著提升系统可用性(99.99%+),满足金融、制造、交通等高可靠场景。
🔧 若您正在评估RAC替代方案(如PostgreSQL + Patroni),请务必评估事务一致性、跨节点锁机制与运维复杂度。Oracle RAC在企业级事务处理中仍具不可替代性。
Oracle RAC部署不是一次性任务,而是一个持续运维的系统工程。从硬件选型、网络隔离、存储配置、集群安装到数据库创建,每一步都需严谨执行。建议企业建立标准化部署手册,并结合自动化工具(如Ansible)实现一键部署。
为加速RAC环境落地,降低运维门槛,我们推荐使用企业级数据平台工具进行统一监控与资源调度。申请试用&https://www.dtstack.com/?src=bbs申请试用&https://www.dtstack.com/?src=bbs申请试用&https://www.dtstack.com/?src=bbs
通过科学的部署与持续的监控,Oracle RAC将成为您数字中台最坚实的数据库基石。
申请试用&下载资料