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

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

   数栈君   发表于 2026-03-28 09:43  32  0

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

在现代企业数据架构中,高可用性与负载均衡是保障业务连续性的核心诉求。Oracle Real Application Clusters(RAC)作为Oracle官方提供的集群解决方案,允许多个节点共享同一数据库实例,实现故障自动切换与横向扩展。对于构建数据中台、支撑数字孪生系统或实现高并发可视化分析平台的企业而言,部署一套稳定可靠的Oracle RAC集群,是提升系统韧性与性能的关键一步。

本文将聚焦于双节点Oracle RAC部署实战,深入解析共享存储配置、网络规划、操作系统准备、集群软件安装与数据库创建全流程,确保部署过程可复现、可验证、可运维。


一、Oracle RAC部署核心前提

在开始部署前,必须明确Oracle RAC的底层依赖架构:

  • 共享存储:所有节点必须访问同一套存储设备,用于存放控制文件、数据文件、重做日志和OCR/Voting Disk。
  • 私有网络:用于节点间心跳通信(Interconnect),建议使用10Gbps以上高速网络,避免脑裂(Split-Brain)。
  • 公共网络:用于客户端连接与管理,需配置虚拟IP(VIP)实现故障转移。
  • 时间同步:所有节点必须通过NTP或Chrony保持时间一致,误差不得超过1秒。
  • 操作系统:推荐使用Oracle Linux 8.x 或 Red Hat Enterprise Linux 8.x,确保内核参数与软件包满足官方要求。

⚠️ 注意:Oracle RAC不支持本地存储(如本地SSD),必须使用SAN、NAS或Oracle ASM磁盘组等共享存储方案。


二、共享存储配置详解

共享存储是RAC的基石。推荐使用Oracle Automatic Storage Management(ASM) 管理共享磁盘,其优势在于:

  • 自动条带化与镜像
  • 动态扩展能力
  • 与集群件深度集成
  • 支持OCR与Voting Disk的高可用存放

2.1 存储设备规划(以SAN为例)

类型容量用途
OCR Disk10GB存储集群配置信息(Oracle Cluster Registry)
Voting Disk10GB集群成员心跳判断(建议3个以上,奇数)
DATA Disk Group200GB+存放数据文件、控制文件、重做日志
FRA Disk Group150GB+快速恢复区(Flash Recovery Area)

2.2 磁盘识别与分区

在两个节点上执行以下命令,确认共享磁盘是否可见:

lsblk# 或fdisk -l | grep -E "sd[a-z]|nvme"

使用oracleasm工具对磁盘进行扫描与标记:

# 在两个节点上均执行oracleasm scandisksoracleasm listdisks

若未安装oracleasm,请安装oracleasm-supportoracleasmlib包:

yum install -y oracleasm-support oracleasmlib

为每个磁盘创建ASM标签:

oracleasm createdisk OCR_DISK /dev/sdb1oracleasm createdisk VOTE_DISK /dev/sdc1oracleasm createdisk DATA_DISK /dev/sdd1oracleasm createdisk FRA_DISK /dev/sde1

✅ 验证:在节点1创建后,节点2必须能通过oracleasm listdisks看到相同标签,否则共享存储未正确配置。


三、网络与主机配置

3.1 网络接口规划

接口类型IP地址说明
eth0公共网络192.168.1.101 / 192.168.1.102客户端访问,配置VIP
eth1私有网络10.10.10.101 / 10.10.10.102节点心跳,禁止路由
eth2可选(备用)10.10.11.101 / 10.10.11.102多路径冗余

3.2 主机名与hosts文件

在两个节点的/etc/hosts中添加:

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

📌 确保hostname/etc/hosts完全匹配,否则GI安装失败。

3.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

四、用户与权限准备

创建统一的Oracle用户组与用户:

groupadd -g 1000 oinstallgroupadd -g 1001 dbagroupadd -g 1002 opergroupadd -g 1003 asmadmingroupadd -g 1004 asmdbagroupadd -g 1005 asmoperuseradd -u 1000 -g oinstall -G dba,asmdba,oper oracleuseradd -u 1001 -g oinstall -G asmadmin,asmdba,asmoper grid

设置密码:

passwd oraclepasswd grid

创建安装目录并授权:

mkdir -p /u01/app/19.0.0/gridmkdir -p /u01/app/gridmkdir -p /u01/app/oraclechown -R grid:oinstall /u01/appchmod -R 775 /u01/app

五、安装Oracle Grid Infrastructure

5.1 下载并解压软件包

从Oracle官网下载:

  • linuxx64_193000_grid_home.zip(Grid Infrastructure)
  • linuxx64_193000_db_home.zip(Database Software)

解压至/u01/app/19.0.0/grid目录:

unzip linuxx64_193000_grid_home.zip -d /u01/app/19.0.0/grid

5.2 运行安装程序

切换至grid用户,启动图形安装器(需X11转发或VNC):

cd /u01/app/19.0.0/grid./runInstaller

选择安装类型:

  • Install and Configure Oracle Grid Infrastructure for a Cluster

配置集群信息:

  • Cluster Name:rac-cluster
  • Node List:添加两个节点(racnode1、racnode2)
  • Private Interconnect:选择eth1接口
  • SCAN Name:rac-scan.example.com(DNS解析或/etc/hosts绑定)
  • SCAN Port:1521

设置ASM密码,选择磁盘组(OCR、VOTE、DATA、FRA),确认磁盘路径。

安装过程中,系统会自动执行脚本(如root.sh),需在两个节点上分别以root身份执行:

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

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

crsctl check clustercrsctl stat res -t

输出应显示所有资源为ONLINE


六、安装Oracle Database软件

切换至oracle用户,解压数据库安装包:

unzip linuxx64_193000_db_home.zip -d /u01/app/oracle/product/19.0.0/dbhome_1

运行安装:

cd /u01/app/oracle/product/19.0.0/dbhome_1./runInstaller

选择:

  • Install database software only
  • 选择所有节点(racnode1、racnode2)
  • 安装路径:/u01/app/oracle/product/19.0.0/dbhome_1

执行root.sh脚本:

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

七、创建RAC数据库

使用DBCA(Database Configuration Assistant)创建数据库:

dbca

选择:

  • Create a Database
  • Oracle Real Application Clusters database
  • 选择所有节点
  • 数据库模板:General Purpose or Transaction Processing
  • 数据库名:RACDB
  • 启用Shared Storage,指定ASM磁盘组(DATA、FRA)
  • 配置监听器:自动识别VIP
  • 设置字符集:AL32UTF8
  • 启用归档模式(推荐用于生产)

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

srvctl status database -d RACDB

应显示两个实例均处于OPEN状态。


八、高可用性验证与监控

8.1 故障切换测试

模拟节点1宕机:

# 在节点1执行(谨慎操作)shutdown -h now

在节点2上观察:

srvctl status database -d RACDB# 应显示:Instance RACDB_2 is running on node racnode2# Instance RACDB_1 is not running

客户端连接VIP(如racnode1-vip)仍可正常访问数据库,证明高可用生效。

8.2 性能监控建议

  • 使用top监控CPU与内存
  • 使用iostat -x 1观察磁盘IO
  • 使用crsctl stat res -t监控集群资源
  • 使用awr报告分析数据库负载

九、运维建议与最佳实践

  • 定期备份OCR与Voting Diskocrconfig -showbackup
  • 启用ASM镜像:使用NORMALHIGH冗余级别
  • 禁用防火墙与SELinux:生产环境建议关闭或配置策略
  • 监控时间同步ntpq -p 检查NTP偏移
  • 日志集中管理$GRID_HOME/log/$ORACLE_HOME/log/ 为关键日志目录

十、结语:为企业数字化转型提供坚实底座

Oracle RAC集群部署虽复杂,但一旦成功,将为企业数据中台、实时分析平台、数字孪生仿真系统提供99.99%可用性保障。无论是支撑金融交易、工业物联网数据流,还是驱动可视化决策系统,RAC的多节点并发能力与自动容错机制,都是不可替代的基础设施。

为确保部署顺利,建议在测试环境先行演练,参考官方文档(Doc ID 2219822.1),并结合自动化脚本提升效率。

如需获取部署模板、脚本包或专业实施支持,可申请试用&https://www.dtstack.com/?src=bbs如需进一步优化集群性能与监控体系,可申请试用&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条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

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