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

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

   数栈君   发表于 2026-03-27 12:49  19  0

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

在现代企业数据架构中,高可用性与弹性扩展已成为核心诉求。对于需要7×24小时持续运行的关键业务系统——如金融交易、电力调度、物流追踪等——单点故障意味着巨大的经济损失与品牌风险。Oracle Real Application Clusters(RAC)作为Oracle官方提供的集群解决方案,允许多个节点共享同一数据库实例,实现负载均衡与故障自动切换。本文将深入解析Oracle RAC在双节点环境下的完整部署流程,重点聚焦共享存储配置、网络规划、集群软件安装与验证,为企业构建稳定、可扩展的数据库基础设施提供可落地的技术指南。


一、Oracle RAC架构核心组件解析

Oracle RAC并非简单的多服务器堆叠,而是一个由多个关键组件协同工作的精密系统:

  • 共享存储(Shared Storage):所有节点必须访问同一组存储设备,用于存放数据文件、控制文件、重做日志和OCR(Oracle Cluster Registry)及Voting Disk。推荐使用ASM(Automatic Storage Management)管理存储,避免文件系统锁竞争。
  • 私有网络(Private Interconnect):用于节点间心跳通信与缓存融合(Cache Fusion),确保数据块在内存中高效同步。建议使用10Gbps以上光纤或InfiniBand,避免网络延迟导致脑裂(Split-Brain)。
  • 公共网络(Public Network):客户端连接数据库的入口,每个节点需配置独立IP,由VIP(Virtual IP)实现故障转移。
  • 集群件(Clusterware):Oracle Cluster Ready Services(CRS)或Oracle Grid Infrastructure,负责监控节点健康、启动/停止数据库实例、管理资源分配。

📌 关键提示:Oracle RAC要求所有节点操作系统版本、内核参数、用户组、环境变量完全一致,任何微小差异都可能导致集群启动失败。


二、硬件与网络规划:双节点部署基础

1. 服务器配置建议

组件推荐配置
CPU至少8核,建议16核以上(支持并行处理)
内存64GB起步,建议128GB+(缓存融合依赖内存)
磁盘至少5块独立磁盘:系统盘(200GB)、OCR/Voting(50GB×2)、ASM数据盘(≥1TB)
网卡至少双网卡:1个用于公共网络,1个用于私有网络(建议绑定为bond0)

2. 网络拓扑设计(示例)

节点1 (node1):  Public IP: 192.168.1.10  Private IP: 10.10.10.1  VIP: 192.168.1.100节点2 (node2):  Public IP: 192.168.1.11  Private IP: 10.10.10.2  VIP: 192.168.1.101共享存储:NFS 或 iSCSI SAN,挂载路径:/u01/oradata

⚠️ 重要限制:私有网络必须与公共网络隔离,禁止使用同一网段。建议启用Jumbo Frames(MTU=9000)以提升缓存融合效率。


三、共享存储配置:ASM与多路径的实战部署

Oracle RAC的核心是“共享”。若存储配置不当,集群将无法启动。

1. 存储类型选择

  • 推荐方案:使用SAN(光纤通道)或iSCSI存储,通过多路径软件(如Multipathd)实现冗余访问。
  • 不推荐:本地磁盘、NFS(除非Oracle 19c+且配置为“NFS over TCP with lock manager”)。

2. 配置多路径(Multipath)示例(RHEL/CentOS)

# 安装multipath-toolsyum install -y device-mapper-multipath# 生成配置文件mpathconf --enable --with_multipathd y# 查看识别的磁盘multipath -ll# 编辑 /etc/multipath.conf,添加如下内容:defaults {    user_friendly_names yes    find_multipaths yes}devices {    device {        vendor "DELL"        product "PowerVault"        path_grouping_policy multibus        path_checker directio        hardware_handler "0"        failback immediate    }}

重启服务并验证:

systemctl restart multipathdmultipath -ll

输出应显示多个路径指向同一LUN,如:

mpatha (3600605b00e1f4f401c3d7e7e7e7e7e7) dm-0 DELL,PowerVaultsize=100G features='1 queue_if_no_path' hwhandler='0' wp=rw|-+- policy='round-robin 0' prio=1 status=active| `- 2:0:0:1 sdb 8:16 active ready running`-+- policy='round-robin 0' prio=1 status=enabled  `- 3:0:0:1 sdc 8:32 active ready running

3. 创建ASM磁盘组

使用Oracle ASMCA工具创建磁盘组:

  • 磁盘名称:/dev/mapper/mpatha1(OCR)、/dev/mapper/mpatha2(Voting)、/dev/mapper/mpatha3(DATA)
  • 磁盘组类型:EXTERNAL(单副本)或 NORMAL(双副本)
  • 命名规范:OCR_DGVOTE_DGDATA_DG

最佳实践:OCR与Voting Disk必须位于独立磁盘,且至少3个Voting Disk(三节点以上),双节点可配置2个Voting Disk + 1个仲裁磁盘。


四、操作系统与用户环境准备

1. 用户与组配置

groupadd oinstallgroupadd dbagroupadd operuseradd -g oinstall -G dba,oper oraclepasswd oracle

2. 内核参数优化(/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

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

4. 时间同步(NTP)

所有节点必须使用相同NTP服务器:

yum install -y ntpsystemctl enable ntpdntpq -p

📌 注意:Oracle RAC对时间同步精度要求极高,偏差超过100ms将导致节点被驱逐。


五、安装Oracle Grid Infrastructure与Database

1. 安装前准备

  • 下载Oracle 19c或21c Grid Infrastructure与Database软件
  • 解压至 /u01/app/oracle/product/19.0.0/grid/u01/app/oracle/product/19.0.0/dbhome_1
  • 设置环境变量(.bash_profile):
export ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=/u01/app/oracle/product/19.0.0/gridexport PATH=$ORACLE_HOME/bin:$PATHexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

2. 运行Grid Infrastructure安装

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

安装向导关键步骤:

  • 选择“Install and Configure Oracle Grid Infrastructure for a Cluster”
  • 节点选择:node1、node2
  • 网络接口:绑定私有网络(eth1)为“Private Interconnect”
  • 存储选项:选择ASM,指定OCR与Voting磁盘
  • 执行root脚本:在两个节点分别运行/u01/app/oracle/product/19.0.0/grid/root.sh

3. 验证集群状态

crsctl check clusterocrcheckcrsctl stat res -t

预期输出:

Cluster is healthyConfiguration for OCR is validNAME           STATE    SERVER       STATE_DETAILS--------------------------- ------------------- -------------------ora.cluster_interconnect.haip ONLINE   node1ora.cssd         ONLINE   node1ora.cssd         ONLINE   node2

4. 安装Oracle Database软件

在任一节点运行:

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

选择“Install database software only”,不创建数据库。

5. 使用DBCA创建RAC数据库

dbca -silent -createDatabase \  -templateName General_Purpose.dbc \  -gdbname RACDB \  -sid RACDB \  -responseFile NO_VALUE \  -characterSet AL32UTF8 \  -nationalCharacterSet AL16UTF16 \  -databaseType OLTP \  -nodeinfo node1,node2 \  -storageType ASM \  -diskGroupName DATA_DG \  -recoveryAreaDestination FRA_DG \  -memoryPercentage 40 \  -emConfiguration NONE

六、高可用性验证与性能调优

完成部署后,执行以下测试:

  1. 节点故障模拟在node1上执行:shutdown -h now观察node2是否自动接管VIP与数据库实例,客户端连接是否无中断。

  2. 负载均衡测试使用SQL*Plus从多个客户端并发连接,查看v$active_session_history中会话是否均匀分布。

  3. 缓存融合监控查询:SELECT * FROM v$gcspfstat;GCS SHADOWS值持续增长,说明缓存争用严重,需优化应用SQL或增加内存。

  4. 日志审计检查$ORACLE_BASE/diag/crs/下的alert日志,排查心跳超时、网络丢包等潜在风险。


七、运维建议与扩展路径

  • 定期备份OCRocrconfig -export /backup/ocr_backup_$(date +%Y%m%d)
  • 监控ASM空间asmcmd lsdg,避免磁盘组满导致实例宕机
  • 升级策略:先升级Grid Infrastructure,再升级Database
  • 扩展性:未来可平滑扩展至4节点,无需重构存储架构

🔧 企业级建议:部署RAC后,建议结合自动化运维平台(如Ansible或Terraform)实现配置标准化。对于希望降低运维复杂度的企业,可考虑申请试用&https://www.dtstack.com/?src=bbs 的云原生数据库托管服务,实现RAC架构的弹性伸缩与智能监控。


八、常见陷阱与规避方案

问题原因解决方案
CRS启动失败时间不同步使用chrony同步,确保偏差<50ms
ASM磁盘无法识别权限错误chown oracle:oinstall /dev/mapper/mpath* + chmod 660
VIP无法浮动DNS未配置在DNS或hosts中绑定VIP到主机名
安装卡在“Linking”阶段编译器缺失安装gcc-c++libaio-develelfutils-libelf-devel

结语:构建企业级高可用数据库的基石

Oracle RAC部署虽复杂,但其带来的高可用性、负载均衡与零停机维护能力,是支撑核心业务系统的关键技术。在数据驱动的时代,数据库的稳定性直接决定企业运营的连续性。通过本文的详细步骤,您已掌握双节点RAC的完整部署流程。下一步,建议结合监控工具(如Enterprise Manager)实现自动化告警,并持续优化SQL与存储I/O。

对于希望进一步降低运维成本、提升部署效率的企业,不妨探索申请试用&https://www.dtstack.com/?src=bbs 提供的智能运维解决方案,让RAC集群从“手动维护”走向“自主运行”。

最终,技术的价值不在于复杂性,而在于可靠性。当您的系统在凌晨三点自动完成节点切换,而业务无感知时,您将真正体会到Oracle 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条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

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