博客 Oracle RAC集群部署实战:双节点配置与共享存储设置

Oracle RAC集群部署实战:双节点配置与共享存储设置

   数栈君   发表于 2026-03-28 18:25  37  0

Oracle RAC集群部署实战:双节点配置与共享存储设置

在现代企业数据架构中,高可用性与负载均衡已成为核心需求。对于关键业务系统,如财务结算、交易处理、客户关系管理等,单点故障意味着巨大的业务风险。Oracle Real Application Clusters(RAC)作为Oracle官方提供的集群解决方案,允许多个节点共享同一数据库实例,实现无缝故障转移与横向扩展。本文将深入解析Oracle RAC部署的实战流程,聚焦双节点环境下的系统配置、共享存储设置与网络规划,为企业构建稳定、高性能的数据库集群提供可落地的技术指南。


一、Oracle RAC部署的核心前提

在开始部署前,必须明确Oracle RAC并非简单的“多台服务器装Oracle”,而是一个依赖底层基础设施高度协同的系统工程。其成功部署依赖于三大支柱:

  1. 共享存储系统:所有节点必须访问同一组存储卷,用于存放数据文件、控制文件、重做日志与OCR(Oracle Cluster Registry)和Voting Disk。
  2. 私有网络互联:节点间需配置独立的私有网络(Interconnect),用于心跳检测与缓存融合(Cache Fusion),确保数据一致性。
  3. 公共网络与虚拟IP(VIP):客户端通过公共网络连接,VIP实现节点故障时的自动重定向,保障连接不中断。

⚠️ 注意:Oracle RAC对存储性能与网络延迟极为敏感。建议使用SAN或NAS存储,且网络延迟应低于1ms。若使用iSCSI,需启用Jumbo Frames(MTU≥9000)以降低开销。


二、共享存储的配置:从硬件到逻辑卷

共享存储是RAC的“心脏”。在双节点环境中,推荐使用以下架构:

2.1 存储类型选择

类型适用场景推荐理由
SAN(光纤通道)生产环境首选低延迟、高吞吐、成熟稳定
iSCSI over 10GbE中小型企业成本较低,性能可满足多数场景
NFS(仅限Oracle 19c+)云或虚拟化环境支持ASM over NFS,简化管理

✅ 推荐使用Oracle Automatic Storage Management(ASM)管理共享存储。ASM提供条带化、镜像、动态重平衡等功能,是Oracle官方推荐的存储管理方式。

2.2 存储分区规划(示例)

假设使用SAN存储,分配如下LUN:

LUN编号大小用途文件系统/ASM磁盘组
LUN150GBOCR + Voting DiskOCR_DG
LUN2100GBRedo Log FilesREDO_DG
LUN3200GBData FilesDATA_DG
LUN4150GBFlash Recovery AreaFRA_DG

🔧 每个LUN需在两个节点上均可见,且权限一致(属主为oracle:oinstall)。使用lsblkmultipath -ll验证多路径配置是否生效。

2.3 配置多路径与udev规则(Linux环境)

为避免设备名漂移(如/dev/sdb → /dev/sdc),必须配置udev规则:

# 查看LUN的WWIDscsi_id -g -u -s /block/sdb# 编辑udev规则文件vim /etc/udev/rules.d/99-oracle-asm.rules# 添加规则(示例)KERNEL=="sd*", BUS=="scsi", PROGRAM=="/usr/lib/udev/scsi_id -g -u -s %p", RESULT=="36006016012345600123456789abcdef", SYMLINK+="asm-ocr", OWNER="oracle", GROUP="oinstall", MODE="0660"KERNEL=="sd*", BUS=="scsi", PROGRAM=="/usr/lib/udev/scsi_id -g -u -s %p", RESULT=="36006016012345600123456789abcdeg", SYMLINK+="asm-redo", OWNER="oracle", GROUP="oinstall", MODE="0660"# 重新加载规则udevadm control --reload-rulesudevadm trigger

✅ 验证:ls -l /dev/asm-* 应显示符号链接指向正确的设备。


三、网络配置:公共、私有与VIP

RAC依赖三类网络接口:

类型用途推荐带宽IP规划示例
公共网络客户端连接、监听器1GbE或以上192.168.1.101(node1)、192.168.1.102(node2)
私有网络Cache Fusion、心跳10GbE(必须)10.10.10.101(node1)、10.10.10.102(node2)
虚拟IP(VIP)故障转移同公共网络192.168.1.110(node1-vip)、192.168.1.111(node2-vip)

📌 私有网络必须独立于公共网络,禁止使用同一交换机或VLAN。建议使用专用交换机或VLAN隔离。

3.1 配置DNS或/etc/hosts

Oracle建议使用DNS解析主机名,若无DNS,必须在所有节点的/etc/hosts中静态配置:

192.168.1.101   racnode1.example.com racnode1192.168.1.102   racnode2.example.com racnode2192.168.1.110   racnode1-vip.example.com racnode1-vip192.168.1.111   racnode2-vip.example.com racnode2-vip10.10.10.101    racnode1-priv.example.com racnode1-priv10.10.10.102    racnode2-priv.example.com racnode2-priv

✅ 使用ping -c 3 racnode1-priv测试私网连通性,确保无丢包。


四、操作系统与软件准备

4.1 系统参数优化(Linux)

在两个节点上统一执行以下配置:

# 编辑 /etc/sysctl.conffs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 536870912000kernel.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# 编辑 /etc/security/limits.conforacle   soft   nofile    1024oracle   hard   nofile    65536oracle   soft   nproc     2047oracle   hard   nproc     16384oracle   soft   stack     10240oracle   hard   stack     32768

4.2 用户与组创建

groupadd -g 1000 oinstallgroupadd -g 1200 dbagroupadd -g 1201 operuseradd -u 1100 -g oinstall -G dba,oper oracleecho "oracle:password" | chpasswdmkdir -p /u01/app/gridmkdir -p /u01/app/oraclechown -R oracle:oinstall /u01/appchmod -R 775 /u01/app

4.3 安装依赖包

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 libXrender libXext libXtst libX11 libXau libXi libXt libXdmcp

五、安装Oracle Grid Infrastructure(GI)

Grid Infrastructure是RAC的集群管理层,包含OCR、Voting Disk、Clusterware与ASM。

5.1 下载并解压软件包

从Oracle官网下载:

  • linuxx64_193000_grid_home.zip(Grid Infrastructure 19c)
  • linuxx64_193000_database_home.zip(Database 19c)
unzip linuxx64_193000_grid_home.zip -d /u01/app/cd /u01/app/grid./runInstaller

5.2 安装向导关键配置

  • 安装类型:Configure Oracle Grid Infrastructure for a Cluster
  • 节点信息:添加两个节点(racnode1、racnode2)
  • 网络接口:绑定公共网卡(eth0)与私有网卡(eth1)
  • ASM磁盘组:选择之前配置的asm-ocrasm-redo等设备
  • OCR与Voting Disk位置:自动分配至LUN1(asm-ocr)
  • 密码设置:为oracle、grid用户设置一致密码(建议使用复杂密码)

✅ 安装过程中,脚本会自动执行root.sh,需在两个节点上以root身份运行。


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

6.1 安装数据库软件(仅需在任一节点执行)

cd /u01/app/database./runInstaller
  • 选择“Oracle Real Application Clusters database installation”
  • 选择所有节点(racnode1、racnode2)
  • 安装类型:Enterprise Edition
  • 忽略“创建数据库”选项(后续手动创建)

6.2 使用DBCA创建RAC数据库

dbca -silent -createDatabase \  -templateName General_Purpose.dbc \  -gdbname RACDB \  -sid RACDB \  -responseFile NO_VALUE \  -characterSet AL32UTF8 \  -nationalCharacterSet AL16UTF16 \  -registerWithDirService FALSE \  -listeners LISTENER \  -databaseType MULTIPURPOSE \  -memoryPercentage 30 \  -emConfiguration NONE \  -storageType ASM \  -diskGroupName DATA_DG \  -recoveryGroupName FRA_DG \  -nodes racnode1,racnode2

✅ 创建完成后,使用crsctl stat res -t验证所有资源状态为ONLINE。


七、验证与监控

部署完成后,执行以下命令验证集群健康:

# 检查集群状态crsctl check cluster# 查看所有资源crsctl stat res -t# 检查ASM实例sqlplus / as sysasmSQL> select name, state from v$asm_diskgroup;# 检查数据库实例sqlplus / as sysdbaSQL> select instance_name, status from gv$instance;

📊 建议配置Oracle Enterprise Manager(OEM)或使用asmcmdcluvfy工具进行持续监控。


八、企业级建议与最佳实践

  • 备份策略:使用RMAN + ASM快照,备份OCR与Voting Disk(ocrconfig -manualbackup
  • 补丁更新:使用OPatch与Rolling Patch方式,避免停机
  • 监控告警:集成Zabbix或Prometheus监控ASM磁盘使用率、心跳延迟、节点状态
  • 容灾设计:跨机房部署时,建议使用Oracle Data Guard作为异地灾备

九、常见错误与规避方案

错误现象原因解决方案
CRS-4535: Cannot communicate with cluster ready services时间不同步使用NTP或chrony同步所有节点时间
ASM disk not visible权限或udev规则错误检查ls -l /dev/asm-*oracle:oinstall权限
VIP not floating网络路由或防火墙阻断关闭firewalld,确保VIP网段可达
ORA-15063: ASM discovered an insufficient number of disksLUN未被识别检查多路径配置与SCSI扫描

十、结语:构建高可用数据基石

Oracle RAC部署是一项系统性工程,涉及存储、网络、操作系统、集群软件与数据库的深度协同。对于追求业务连续性与数据可靠性的企业而言,投入时间与资源构建稳定RAC集群,远比事后应对宕机成本更低。

✅ 成功部署Oracle RAC,意味着您的核心系统具备了零停机升级、自动故障恢复、横向扩展能力——这正是数字孪生、实时分析与高并发业务场景的底层支撑。

如需进一步获取部署脚本模板、配置检查清单或自动化安装工具,欢迎申请试用&https://www.dtstack.com/?src=bbs,获取企业级数据库集群部署支持方案。

企业级数据库架构不应止步于“能跑”,而应追求“稳如磐石”。Oracle RAC正是这一目标的基石。再次推荐:申请试用&https://www.dtstack.com/?src=bbs,让专业团队助您规避部署陷阱。

持续优化您的数据中台,从一个可靠的RAC集群开始。申请试用&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条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

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