博客 Oracle RAC集群部署实战:双节点高可用配置

Oracle RAC集群部署实战:双节点高可用配置

   数栈君   发表于 2026-03-28 10:04  281  0

Oracle RAC集群部署实战:双节点高可用配置

在企业级数据中台架构中,数据库的高可用性与连续性是保障业务连续运转的核心基石。Oracle Real Application Clusters(RAC)作为Oracle官方推出的集群解决方案,允许多个节点共享同一数据库实例,实现负载均衡、故障自动切换与无缝扩展。本文将深入解析Oracle RAC在双节点环境下的完整部署流程,涵盖硬件准备、操作系统配置、共享存储设置、集群软件安装、数据库创建及验证测试等关键环节,为企业构建稳定、高性能、可扩展的数据库平台提供可落地的实战指南。


一、Oracle RAC部署核心架构解析

Oracle RAC的核心理念是“共享一切,独立运行”。多个节点(通常为2个或以上)通过高速网络互联,访问同一套共享存储设备,每个节点运行独立的Oracle实例,但共同操作同一个数据库。这种架构实现了:

  • 高可用性:单节点故障时,其他节点自动接管服务,中断时间可控制在秒级。
  • 负载均衡:客户端请求可分发至多个实例,提升并发处理能力。
  • 横向扩展:可按需增加节点,线性提升系统吞吐量。

在双节点部署中,建议采用以下拓扑结构:

组件配置建议
节点数量2个(生产环境最低推荐)
网络接口至少3个:Public(业务)、Private(心跳)、VIP(虚拟IP)
存储类型共享块存储(ASM磁盘组)或NFS(仅限测试)
操作系统Oracle Linux 8.x / Red Hat Enterprise Linux 8.x
存储管理Oracle Automatic Storage Management (ASM)

📌 关键提示:RAC依赖底层存储的高可用性。建议使用企业级SAN或NAS设备,避免使用本地磁盘或普通文件系统。


二、前置环境准备:硬件与网络配置

1. 硬件要求

  • 每节点:≥16GB内存,≥4核CPU,≥100GB系统盘,≥200GB共享存储空间
  • 网络:千兆以上以太网(建议万兆),支持多网卡绑定
  • 存储:至少提供3个共享LUN(用于OCR、Voting Disk、Datafile)

2. 网络规划示例(双节点)

接口IP地址用途
eth0192.168.1.101Node1 Public
eth0192.168.1.102Node2 Public
eth1192.168.10.101Node1 Private (Heartbeat)
eth1192.168.10.102Node2 Private
VIP192.168.1.111Node1 Virtual IP
VIP192.168.1.112Node2 Virtual IP
SCAN IP192.168.1.120Single Client Access Name

🚫 禁止在Private网络中使用DHCP,必须静态分配IP。

3. 主机名与DNS配置

确保所有节点的/etc/hosts文件包含完整解析:

192.168.1.101   node1.example.com node1192.168.1.102   node2.example.com node2192.168.10.101  node1-priv.example.com node1-priv192.168.10.102  node2-priv.example.com node2-priv192.168.1.111   node1-vip.example.com node1-vip192.168.1.112   node2-vip.example.com node2-vip192.168.1.120   scan.example.com scan

✅ 推荐使用DNS服务器(如BIND)管理SCAN IP,避免hosts文件在集群扩展时失效。


三、操作系统级配置

1. 关闭防火墙与SELinux

systemctl stop firewalld && systemctl disable firewalldsetenforce 0sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config

2. 创建用户与组

groupadd -g 1000 oinstallgroupadd -g 1001 dbagroupadd -g 1002 operuseradd -u 1001 -g oinstall -G dba,oper oracleecho "oracle:Welcome123" | chpasswd

3. 内核参数优化(/etc/sysctl.conf)

fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 1073741824kernel.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 生效。

4. 用户资源限制(/etc/security/limits.conf)

oracle soft nofile 1024oracle hard nofile 65536oracle soft nproc 16384oracle hard nproc 16384oracle soft stack 10240oracle hard stack 32768

5. 安装依赖包

yum install -y binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel make sysstat libxcb libX11 libXau libXi libXtst libXrender libXext libXt libXmu libXp libXpm libXinerama

四、共享存储配置(ASM)

Oracle RAC必须使用共享存储。推荐使用ASM(Automatic Storage Management)进行磁盘管理。

1. 使用udev规则绑定共享磁盘

假设共享磁盘为 /dev/sdb, /dev/sdc, /dev/sdd,创建规则:

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

内容如下:

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

重启udev服务:

udevadm control --reload-rules && udevadm trigger

验证设备:

ls -l /dev/asm-*

2. 安装Oracle Grid Infrastructure

下载Oracle Grid Infrastructure 19c或21c安装包,解压后执行:

./runInstaller -silent -responseFile /path/to/grid.rsp -ignorePrereqFailure

安装过程中需指定:

  • 安装路径:/u01/app/19.0.0/grid
  • 管理员组:dba
  • 磁盘组:创建DATAFRA两个ASM磁盘组
  • 网络接口:绑定Public与Private网络

安装完成后,以root身份执行两个脚本:

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

五、安装Oracle Database软件

在任一节点上执行:

./runInstaller -silent -responseFile /path/to/db.rsp -ignorePrereqFailure

安装路径建议:

  • Oracle Home:/u01/app/oracle/product/19.0.0/dbhome_1

安装完成后,执行:

/u01/app/oracle/product/19.0.0/dbhome_1/root.sh

⚠️ 注意:不要在此阶段创建数据库,需先完成集群验证。


六、创建RAC数据库

使用DBCA(Database Configuration Assistant)图形化或静默方式创建数据库:

dbca -silent -createDatabase \  -templateName General_Purpose.dbc \  -gdbname RACDB \  -sid RACDB \  -responseFile NO_VALUE \  -characterSet AL32UTF8 \  -nationalCharacterSet AL16UTF16 \  -totalMemory 4096 \  -databaseType MULTIPURPOSE \  -automaticMemoryManagement false \  -storageType ASM \  -diskGroupName DATA \  -recoveryAreaDestination FRA \  -nodeinfo node1,node2 \  -sampleSchema true

创建完成后,验证数据库状态:

srvctl status database -d RACDB

输出应显示:

Instance RACDB1 is running on node1Instance RACDB2 is running on node2

七、高可用性验证与故障模拟

1. 负载均衡测试

使用SQL*Plus连接SCAN地址:

sqlplus sys/Welcome123@scan.example.com:1521/RACDB as sysdba

执行:

SELECT instance_name, host_name FROM v$instance;

多次执行,观察实例是否在两个节点间轮换。

2. 故障切换测试

在Node1上强制关闭Oracle服务:

srvctl stop instance -d RACDB -i RACDB1

观察Node2是否自动接管,客户端连接是否无中断。

验证:

srvctl status database -d RACDB

✅ 正常情况下,客户端连接在3~5秒内恢复,无数据丢失。


八、运维建议与最佳实践

类别建议
备份使用RMAN + ASM快照,定期备份控制文件与归档日志
监控部署Enterprise Manager Cloud Control或使用crsctl check cluster
日志定期检查 $GRID_HOME/log/$ORACLE_HOME/log/ 下的alert日志
升级先升级Grid Infrastructure,再升级Database软件
安全禁用默认账户,启用TNS加密,配置SSL连接

九、结语:构建企业级数据中台的坚实底座

Oracle RAC双节点部署虽复杂,但其带来的高可用性、零停机维护与弹性扩展能力,使其成为金融、制造、能源等行业核心系统的首选。在构建数据中台的过程中,RAC不仅保障了数据服务的持续可用,也为后续的实时分析、数字孪生建模提供了稳定的数据源支撑。

若您的团队缺乏RAC部署经验,或希望快速验证架构可行性,可申请专业平台支持,降低实施风险:

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

我们建议在非生产环境中先行部署测试环境,验证网络延迟、存储I/O吞吐与心跳稳定性。一旦确认架构可行,即可快速迁移至生产环境。

再次强调,RAC不是“一键部署”的产品,而是需要精细规划、持续监控与规范运维的系统工程。每一次心跳检测、每一块共享磁盘、每一个VIP配置,都直接影响系统的健壮性。

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

如需获取完整的部署脚本模板、网络配置清单与故障排查手册,欢迎通过官方渠道获取企业级部署包,提升部署效率与成功率。

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

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