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

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

   数栈君   发表于 2026-03-27 21:10  32  0

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

在现代企业数据架构中,高可用性与零停机服务已成为核心诉求。尤其在数据中台、实时分析与数字孪生系统中,数据库的稳定性直接决定业务连续性。Oracle Real Application Clusters(RAC)作为Oracle官方提供的集群解决方案,允许多个节点共享同一数据库实例,实现负载均衡与故障自动切换,是构建企业级高可用数据库平台的黄金标准。

本文将基于生产环境实践,系统讲解Oracle RAC双节点部署全流程,涵盖硬件准备、操作系统配置、共享存储设置、集群软件安装、数据库创建与验证,帮助技术团队构建稳定、可扩展、可运维的RAC环境。


一、Oracle RAC部署前提与架构认知

Oracle RAC的核心理念是“多实例共享单数据库”。与单实例数据库不同,RAC由两个或更多节点(Instance)组成,每个节点运行独立的Oracle实例,但共同访问同一组数据文件、控制文件和重做日志文件——这些文件必须部署在共享存储上。

📌 关键架构组件:

  • 共享存储:必须使用集群文件系统(如ASM)或网络文件系统(NFS),推荐使用光纤通道(FC)或iSCSI存储,确保低延迟与高吞吐。
  • 私有网络:用于节点间心跳通信(Interconnect),建议使用10Gbps以上网卡,独立于公有网络,避免干扰。
  • 公共网络:客户端连接入口,通过VIP(Virtual IP)实现负载均衡与故障转移。
  • OCR(Oracle Cluster Registry)与Voting Disk:集群元数据与仲裁磁盘,用于判断节点存活状态,防止脑裂。

⚠️ 注意:Oracle RAC对网络延迟极为敏感。私有网络延迟应控制在1ms以内,否则可能触发误判节点宕机。


二、硬件与网络规划(双节点标准配置)

组件推荐配置
节点数量2(最小高可用配置)
CPU每节点 ≥ 16核(Intel Xeon Silver或以上)
内存每节点 ≥ 64GB(建议128GB以上)
存储共享存储 ≥ 2TB(SSD优先)
网络接口公共网络:2×1Gbps/10Gbps;私有网络:2×10Gbps(冗余)
操作系统Oracle Linux 8.8 或 Red Hat Enterprise Linux 8.8(64位)

🌐 网络规划示例(双节点):

接口用途IP地址子网掩码
eth0公共网络192.168.1.101255.255.255.0
eth0公共网络192.168.1.102255.255.255.0
eth1私有网络(Interconnect)10.10.10.101255.255.255.0
eth1私有网络(Interconnect)10.10.10.102255.255.255.0
VIP节点1虚拟IP192.168.1.111255.255.255.0
VIP节点2虚拟IP192.168.1.112255.255.255.0
SCAN IP客户端接入192.168.1.120255.255.255.0

✅ SCAN(Single Client Access Name)是Oracle 11g后引入的特性,通过DNS轮询实现客户端自动连接任意可用节点,无需硬编码IP。


三、操作系统与内核参数优化

在两个节点上执行统一配置,确保环境一致性。

1. 关闭防火墙与SELinux

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

2. 配置主机名与DNS解析

hostnamectl set-hostname racnode1hostnamectl set-hostname racnode2

编辑 /etc/hosts

192.168.1.101   racnode1 racnode1.example.com192.168.1.102   racnode2 racnode2.example.com10.10.10.101    racnode1-priv racnode1-priv.example.com10.10.10.102    racnode2-priv racnode2-priv.example.com192.168.1.111   racnode1-vip192.168.1.112   racnode2-vip192.168.1.120   rac-scan

3. 创建用户与组

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

4. 内核参数调优(/etc/sysctl.conf)

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

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

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

四、共享存储配置(ASM + Multipath)

Oracle RAC必须使用共享存储。推荐使用ASM(Automatic Storage Management),它是Oracle内置的集群文件系统,专为RAC优化。

1. 配置多路径(Multipath)

安装多路径工具:

yum install -y device-mapper-multipathsystemctl enable multipathd --now

编辑 /etc/multipath.conf,添加存储厂商配置(以华为/戴尔为例):

defaults {    user_friendly_names yes}devices {    device {        vendor "DELL"        product "PERC H730"        path_grouping_policy multibus        hardware_handler "0"        path_checker readsector0        failback immediate    }}

重启服务并查看设备:

systemctl restart multipathdmultipath -ll

2. 创建ASM磁盘组

使用 oracleasm 工具标记共享磁盘:

oracleasm createdisk DISK1 /dev/mapper/mpathboracleasm createdisk DISK2 /dev/mapper/mpathcoracleasm listdisks

确保两个节点都能看到相同磁盘:

oracleasm listdisks# 输出应包含:DISK1 DISK2

五、安装Oracle Grid Infrastructure(集群软件)

在任一节点执行安装(建议使用图形界面,或静默安装):

1. 下载Oracle 19c GI软件

从Oracle官网下载 linuxx64_193000_grid_home.zip

2. 解压并运行安装程序

unzip linuxx64_193000_grid_home.zipcd grid./runInstaller

3. 安装向导关键步骤:

  • 选择“Install and Configure Oracle Grid Infrastructure for a Cluster”
  • 节点配置:添加两个节点(racnode1, racnode2)
  • 网络接口:指定eth0为Public,eth1为Private
  • 存储选项:选择ASM,创建磁盘组DATA(使用DISK1、DISK2)
  • 设置OCR与Voting Disk位置:自动分配至ASM磁盘组
  • 设置密码:为grid用户设置统一密码(建议使用复杂密码)

✅ 安装过程中,脚本会自动在两个节点上执行root.sh,需在提示时分别在两个节点终端执行。

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

crsctl check clustercrsctl stat res -t

输出应显示所有资源为ONLINE状态。


六、安装Oracle Database软件并创建RAC数据库

1. 安装数据库软件(静默模式推荐)

unzip linuxx64_193000_db_home.zipcd dbhome_1./runInstaller -silent -responseFile /tmp/db.rsp

响应文件需提前配置好:

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0oracle.install.option=INSTALL_DB_SWONLYORACLE_HOSTNAME=racnode1UNIX_GROUP_NAME=oinstallINVENTORY_LOCATION=/u01/app/oraInventorySELECTED_LANGUAGES=enORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1ORACLE_BASE=/u01/app/oracleoracle.install.db.InstallEdition=EEoracle.install.db.OSDBA_GROUP=dbaoracle.install.db.OSOPER_GROUP=operoracle.install.db.OSBACKUPDBA_GROUP=dbaoracle.install.db.OSDGDBA_GROUP=dbaoracle.install.db.OSKMDBA_GROUP=dbaoracle.install.db.OSRACDBA_GROUP=dbaSECURITY_UPDATES_VIA_MYORACLESUPPORT=falseDECLINE_SECURITY_UPDATES=true

2. 使用DBCA创建RAC数据库

dbca -silent -createDatabase \  -templateName General_Purpose.dbc \  -gdbname ORCL \  -sid ORCL \  -responseFile NO_VALUE \  -characterSet AL32UTF8 \  -nationalCharacterSet AL16UTF16 \  -registerWithDirService FALSE \  -listeners LISTENER \  -nodeinfo racnode1,racnode2 \  -storageType ASM \  -diskGroupName DATA \  -databaseType OLTP \  -automaticMemoryManagement true \  -totalMemory 16384 \  -sampleSchema true

💡 建议开启归档模式(ARCHIVELOG)以支持备份与恢复。

创建完成后,验证数据库服务:

srvctl status database -d ORCL

输出示例:

Instance ORCL_1 is running on node racnode1Instance ORCL_2 is running on node racnode2

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

1. 负载均衡测试

使用SQL*Plus从客户端连接SCAN IP:

CONNECT scott/tiger@rac-scan:1521/ORCL

执行 SELECT instance_name FROM v$instance;,多次查询应看到实例名在两个节点间轮换。

2. 模拟节点宕机

在racnode1上强制关闭:

shutdown -h now

观察:

  • racnode2自动接管VIP与数据库服务
  • 客户端连接无中断(连接池需支持重连)
  • srvctl status database -d ORCL 显示仅一个实例运行

✅ 业务无感知切换,证明RAC高可用生效。


八、运维建议与最佳实践

  • 监控:部署Enterprise Manager或使用 crsctlsrvctl 定期巡检。
  • 备份:使用RMAN备份ASM中的数据文件,定期测试恢复流程。
  • 补丁:使用OPatch打补丁,优先在非主节点执行,再滚动升级。
  • 网络:禁用网络接口的节能模式(Power Saving),避免心跳中断。
  • 文档:记录所有IP、磁盘、密码、脚本路径,避免运维混乱。

九、结语:RAC是数字中台的基石

在构建数据中台、支撑数字孪生系统时,数据库的可用性不是“可选项”,而是“必选项”。Oracle RAC通过双节点共享存储架构,实现了真正的高可用、零中断、弹性扩展能力。虽然部署复杂,但其稳定性与企业级支持能力,远超开源方案。

若您正在规划新一代数据平台,或希望将现有单实例数据库升级为高可用架构,Oracle RAC仍是当前最成熟、最可靠的解决方案之一。

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

建议在生产环境部署前,先在测试环境完整演练一次,确保每一步操作可复现、可回滚。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条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

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