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

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

   数栈君   发表于 2026-03-27 09:23  35  0

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

在现代企业数据架构中,数据库的高可用性与连续性是支撑业务稳定运行的核心要素。尤其在数据中台、数字孪生和数字可视化等对实时性与数据一致性要求极高的场景中,单点故障可能导致分析延迟、可视化中断甚至决策失误。Oracle Real Application Clusters(RAC)作为Oracle官方提供的企业级高可用解决方案,通过多节点共享存储架构,实现数据库实例的并行运行与故障自动切换,是构建7×24小时不间断数据服务的首选方案。

本文将基于双节点环境,系统性地讲解Oracle RAC部署的完整流程,涵盖硬件规划、操作系统配置、共享存储搭建、集群软件安装、数据库创建及验证测试,确保企业可独立完成生产级RAC集群的落地。


一、部署前提与架构设计

Oracle RAC的核心理念是“共享一切,故障隔离”。双节点RAC架构包含两个独立的服务器节点,共享同一套存储系统,每个节点运行独立的Oracle实例,但访问同一组数据库文件。其架构包含以下关键组件:

  • 公共网络(Public Network):用于客户端连接与节点间通信,通常使用10Gbps以太网。
  • 私有网络(Private Network / Interconnect):用于节点间心跳检测与缓存融合(Cache Fusion),建议使用10Gbps或更高带宽的专用网络,避免与公共网络复用。
  • 共享存储(Shared Storage):必须由SAN、NAS或ASM支持的共享磁盘组成,存放控制文件、数据文件、重做日志、OCR与Voting Disk。
  • 虚拟IP(VIP)与SCAN(Single Client Access Name):实现客户端连接的负载均衡与故障转移。

✅ 推荐配置:

  • 操作系统:Oracle Linux 8.8 或 Red Hat Enterprise Linux 8.8
  • Oracle版本:Oracle Database 19c(19.20+)
  • 存储:至少3块共享磁盘(100GB用于OCR/Voting,200GB用于数据,100GB用于归档)
  • 内存:每节点≥64GB RAM
  • CPU:每节点≥16核

为确保部署顺利,建议提前完成DNS或/etc/hosts的静态解析配置,确保所有节点能通过主机名相互解析。


二、操作系统与网络配置

1. 系统参数优化

在两个节点上执行以下基础配置:

# 关闭防火墙与SELinuxsudo systemctl stop firewalldsudo systemctl disable firewalldsudo setenforce 0sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config# 配置内核参数(/etc/sysctl.conf)fs.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# 应用配置sudo sysctl -p

2. 用户与组创建

groupadd -g 54321 oinstallgroupadd -g 54322 dbagroupadd -g 54323 opergroupadd -g 54324 asmadmingroupadd -g 54325 asmdbagroupadd -g 54326 asmoperuseradd -u 54321 -g oinstall -G dba,asmdba,oper oracleuseradd -u 54322 -g oinstall -G asmadmin,asmdba,asmoper grid

3. 网络接口规划(示例)

接口类型IP地址用途
eth0公共192.168.1.101节点1公共访问
eth0公共192.168.1.102节点2公共访问
eth1私有10.10.10.101节点1心跳
eth1私有10.10.10.102节点2心跳
eth0VIP192.168.1.110节点1虚拟IP
eth0VIP192.168.1.111节点2虚拟IP
SCANDNSrac-scan.example.com3个IP(由DNS轮询)

📌 注意:SCAN名称需在DNS中配置为解析到3个IP地址,或在/etc/hosts中模拟(仅测试环境)。


三、共享存储配置(ASM)

Oracle RAC必须使用ASM(Automatic Storage Management)管理共享存储。推荐使用Oracle Clusterware自带的ASM。

1. 磁盘划分与权限

在共享存储上创建3个LUN(逻辑单元),并确保两个节点均能识别:

lsblk# 输出示例:# sdb 8:16 0 100G 0 disk# sdc 8:32 0 200G 0 disk# sdd 8:48 0 100G 0 disk

使用/usr/sbin/oracleasm工具初始化磁盘:

sudo /usr/sbin/oracleasm createdisk OCRDISK /dev/sdbsudo /usr/sbin/oracleasm createdisk DATADISK /dev/sdcsudo /usr/sbin/oracleasm createdisk ARCHDISK /dev/sdd# 验证sudo /usr/sbin/oracleasm listdisks

确保两个节点均执行相同操作,并确认磁盘可见。

2. 安装Oracle Grid Infrastructure

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

cd /opt/grid./runInstaller

安装向导中选择:

  • “Install and Configure Oracle Grid Infrastructure for a Cluster”
  • 节点选择:node1, node2
  • 网络配置:指定公共与私有网络接口
  • 存储类型:ASM
  • OCR/Voting磁盘:选择OCRDISK
  • 数据磁盘组:创建名为DATA的磁盘组,使用DATADISK
  • 设置ASM密码(建议与数据库密码不同)

安装完成后,以root身份在两个节点执行:

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

使用crsctl check cluster验证集群状态:

/u01/app/19.0.0/grid/bin/crsctl check cluster# 输出应为:CRS-4537: Cluster Ready Services is online

四、安装Oracle Database软件

在任一节点执行数据库软件安装:

cd /opt/database./runInstaller

选择:

  • “Install database software only”
  • 集群安装:选中两个节点
  • 安装路径:/u01/app/oracle/product/19.0.0/dbhome_1

安装完成后,以root身份执行:

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

五、创建RAC数据库

使用DBCA(Database Configuration Assistant)图形化工具创建数据库:

dbca

配置步骤:

  1. 选择“Create a Database”
  2. 选择“Oracle RAC Database”
  3. 数据库模板:选择“General Purpose or Transaction Processing”
  4. 全局数据库名:racdb.example.com
  5. 实例名:racdb1, racdb2
  6. 存储类型:ASM,选择DATA磁盘组
  7. 启用归档模式(建议生产环境开启)
  8. 设置密码:SYS、SYSTEM、PDB管理员密码
  9. 配置OEM(可选)
  10. 完成前预览,确认无误后执行

创建过程约15–30分钟,完成后自动启动两个实例。


六、验证与高可用测试

1. 检查实例状态

srvctl status database -d racdb# 输出示例:# Instance racdb1 is running on node node1# Instance racdb2 is running on node node2

2. 连接测试

使用SQL*Plus从任意节点连接:

sqlplus sys@rac-scan:1521/racdb.example.com as sysdba

若能成功登录,说明SCAN解析与负载均衡正常。

3. 故障切换测试

模拟节点1宕机:

# 在node1上强制关机sudo shutdown -h now

在node2上检查:

srvctl status database -d racdb# 应显示:Instance racdb2 is running on node node2# Instance racdb1 is not running on node1

客户端连接应自动重定向至node2,无中断。

恢复node1后,执行:

srvctl start instance -d racdb -i racdb1

实例将自动加入集群,实现无缝恢复。


七、运维建议与最佳实践

  • 监控:使用crsctl stat res -t监控所有资源状态,定期检查ASM磁盘使用率。
  • 备份:结合RMAN与ASM快照,实现数据库与OCR/Voting的双重保护。
  • 补丁:使用OPatch定期应用PSU(Patch Set Update),保持系统安全。
  • 网络隔离:私有网络必须物理隔离,避免交换机故障导致脑裂(Split-Brain)。
  • 时间同步:所有节点必须启用NTP或Chrony,时间偏差不得超过1秒。

八、为什么选择Oracle RAC?——企业级数据中台的基石

在构建数据中台时,数据服务的连续性直接决定分析模型的可靠性。数字孪生系统依赖实时数据流驱动仿真引擎,任何数据库中断都会导致模型失真。Oracle RAC通过多实例并行处理、缓存融合机制与自动故障转移,保障了数据服务的“零停机”特性。相比主从复制或单机高可用方案,RAC在吞吐量、并发支持与事务一致性方面具有压倒性优势。

🚀 若您正在规划企业级数据平台架构,建议优先评估Oracle RAC的部署可行性。申请试用&https://www.dtstack.com/?src=bbs

当前主流云厂商虽提供托管数据库服务,但在私有化部署、合规性要求高、性能调优深度强的场景下,本地RAC集群仍是不可替代的选择。

📌 企业用户在实施RAC前,应进行充分的容量规划与压力测试。申请试用&https://www.dtstack.com/?src=bbs

我们建议在非生产环境中先行部署双节点RAC,验证网络延迟、存储I/O吞吐与故障恢复时间,再逐步迁移核心业务。

💡 成功部署Oracle RAC,意味着您的数据服务具备了金融级的可靠性。申请试用&https://www.dtstack.com/?src=bbs


结语

Oracle RAC部署虽涉及多个技术环节,但其架构设计严谨、文档成熟、社区支持广泛。通过本文的完整流程,企业可系统性地构建一个稳定、可扩展、高可用的双节点RAC集群。无论是支撑实时BI分析、数字孪生仿真,还是为可视化平台提供底层数据引擎,RAC都能提供企业级的保障。

部署完成后,建议建立标准化运维手册,包括启动/停止流程、故障排查清单与备份恢复预案。持续监控集群健康度,定期演练故障切换,才能真正实现“无人值守、自动恢复”的智能数据服务目标。

企业数字化转型的根基,在于数据的稳定与可靠。Oracle 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条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

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