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

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

   数栈君   发表于 2026-03-29 08:12  81  0

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

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

本文将聚焦于双节点Oracle RAC部署的完整实战流程,涵盖操作系统配置、共享存储设置、网络规划、集群软件安装与数据库创建,确保每一步都具备可复现性与生产环境适用性。


一、环境准备:硬件与网络规划

Oracle RAC对底层基础设施有严格要求,尤其在双节点架构中,必须确保以下组件满足规范:

  • 服务器节点:两台配置一致的x86_64服务器,推荐CPU ≥ 8核,内存 ≥ 32GB,SSD系统盘 ≥ 200GB。
  • 网络接口:每节点至少配备3个网卡:
    • Public Network:用于客户端连接与管理,建议使用千兆或万兆以太网。
    • Private Network (Interconnect):用于节点间心跳与缓存融合(Cache Fusion),必须独立于公网,推荐万兆光纤或InfiniBand,延迟需低于1ms。
    • Storage Network(可选):若使用IP-SAN或iSCSI,建议单独组网以避免带宽竞争。

最佳实践:私网与公网应使用不同VLAN或物理交换机,防止广播风暴影响集群心跳。

网络IP规划示例:

角色节点1节点2
Public IP192.168.1.10192.168.1.11
Private IP10.10.10.1010.10.10.11
Virtual IP (VIP)192.168.1.12192.168.1.13
Scan IP192.168.1.14(DNS解析)

DNS或/etc/hosts配置必须确保所有节点能通过主机名互相解析,建议使用DNS而非静态hosts,便于后期扩展。


二、共享存储配置:ASM与多路径

Oracle RAC的核心是共享存储,所有节点必须能同时访问同一套数据文件、控制文件与重做日志。推荐使用ASM(Automatic Storage Management)管理存储,其优势在于无需第三方LVM,内置冗余与负载均衡。

2.1 存储类型选择

类型适用场景推荐度
FC SAN高性能、低延迟,企业级首选⭐⭐⭐⭐⭐
iSCSI over dedicated network成本较低,适合中等负载⭐⭐⭐⭐
NFS(仅限Oracle 19c+)简化部署,但性能受限⭐⭐

⚠️ 注意:NFS不支持ASM的冗余模式(如NORMAL或HIGH),仅支持EXTERNAL,不推荐用于生产。

2.2 多路径配置(Multipath)

为避免单路径故障,必须配置多路径软件(如Linux的multipathd):

# 安装multipath-toolsyum install -y device-mapper-multipath# 生成配置文件mpathconf --enable --with_multipathd y# 扫描存储设备multipath -ll# 编辑 /etc/multipath.conf,设置别名与策略defaults {    user_friendly_names yes    path_grouping_policy multibus}

配置完成后,重启服务并验证:

systemctl restart multipathdmultipath -ll

输出应显示每个LUN有多个路径,例如:

mpatha (36006016077702d005e3d9f8a8b1e3d11) dm-0 DELL,MD3220size=100G features='1 queue_if_no_path' hwhandler='1 alua' wp=rw|-+- policy='service-time 0' prio=50 status=active| |- 3:0:0:0 sdb 8:16  active ready running| `- 4:0:0:0 sdc 8:32  active ready running`-+- policy='service-time 0' prio=10 status=enabled  |- 3:0:1:0 sdd 8:48  active ready running  `- 4:0:1:0 sde 8:64  active ready running

2.3 创建ASM磁盘组

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

# 标记磁盘(需在所有节点执行)oracleasm createdisk DATA1 /dev/mapper/mpatha1oracleasm createdisk FRA1 /dev/mapper/mpathb1# 查看磁盘oracleasm listdisks

确保所有节点都能看到相同磁盘列表,这是集群部署成功的关键前提。


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

Oracle RAC对操作系统有明确要求,以下为RHEL/CentOS 7/8的必要配置:

3.1 用户与组配置

groupadd oinstallgroupadd dbauseradd -g oinstall -G dba oracleecho "oracle:password" | chpasswd

3.2 内核参数调整(/etc/sysctl.conf)

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

3.3 资源限制(/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

3.4 时间同步(NTP/Chrony)

集群节点间时间偏差不得超过1秒:

timedatectl set-ntp truechronyc sources -v

四、安装Oracle Grid Infrastructure

在两个节点上分别执行以下步骤:

4.1 解压安装包

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

4.2 运行安装程序

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

安装向导中选择:

  • Install and Configure Grid Infrastructure for a Cluster
  • 节点选择:勾选node1与node2
  • 网络接口:指定public与private接口
  • 存储选项:选择ASM,创建磁盘组DATA与FRA
  • 设置密码:为grid用户设置统一密码

✅ 安装过程中,脚本会自动调用root.sh,需在每个节点以root身份执行,顺序为:先主节点,后从节点。

4.3 验证集群状态

安装完成后,执行:

crsctl check clustercrsctl stat res -t

输出应显示所有资源为ONLINE,包括ora.cssdora.diskmonora.cluster_interconnect.haip等。


五、部署Oracle Database RAC

在Grid Infrastructure安装完成后,切换至oracle用户,启动DBCA:

export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1export PATH=$ORACLE_HOME/bin:$PATHdbca

配置选项:

  • Create a DatabaseOracle RAC Database
  • 模板选择:General Purpose or Data Warehouse
  • 数据库名:RACDB
  • 启用所有节点(node1 & node2)
  • 存储类型:ASM,使用之前创建的DATA磁盘组
  • 配置快速恢复区(FRA)
  • 设置字符集:AL32UTF8(推荐)

完成创建后,数据库将自动在两个节点上启动,并注册到OCR中。

验证数据库状态:

srvctl status database -d RACDB

输出示例:

Instance RACDB1 is running on node1Instance RACDB2 is running on node2

六、高可用性测试与监控

部署完成后,必须进行压力测试与故障模拟:

  • 节点宕机测试:在node1上执行shutdown -h now,观察node2是否自动接管服务。
  • 网络中断测试:断开私网链路,验证HAIP是否自动切换。
  • 连接负载均衡:使用tnsnames.ora中的SCAN地址连接,验证请求是否均匀分发。

监控工具推荐:

  • Oracle Enterprise Manager Cloud Control
  • crsctl stat res -t
  • dmesg | grep -i ora 查看内核级错误

七、运维建议与扩展性设计

  • 备份策略:使用RMAN + ASM快照,定期备份控制文件与归档日志。
  • 补丁管理:使用OPatch进行滚动升级,避免停机。
  • 扩展节点:未来可增加第3、第4节点,无需重建集群。
  • 性能调优:启用ASM条带化(ASM Striping),合理分配磁盘组冗余级别。

🔧 重要提醒:RAC集群的复杂性远超单机数据库,建议团队配备专职DBA,并定期演练灾难恢复流程。


结语:构建企业级数据底座的关键一步

Oracle RAC部署不仅是技术实现,更是企业数字化转型的基础设施保障。无论是支撑实时数据中台的高并发查询,还是为数字孪生系统提供稳定的数据源,一个健壮的RAC集群都能显著降低系统中断风险,提升SLA水平。

在部署过程中,任何一步的疏忽——如网络延迟超标、共享存储未正确识别、时间不同步——都可能导致集群启动失败或数据不一致。因此,建议在生产环境上线前,先在测试环境中完整模拟部署流程。

如需获取更详细的部署脚本、配置模板或自动化Ansible Playbook,可申请专业支持服务:申请试用&https://www.dtstack.com/?src=bbs

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

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