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

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

   数栈君   发表于 2026-03-29 12:36  41  0

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

在企业级数据中台架构中,高可用性与高性能是核心诉求。Oracle Real Application Clusters(RAC)作为Oracle官方提供的集群解决方案,允许多个节点共享同一数据库实例,实现负载均衡、故障自动切换与持续服务,是构建关键业务系统(如金融交易、供应链管理、实时分析平台)的首选架构。本文将深入解析Oracle RAC双节点部署的完整流程,重点聚焦共享存储配置、网络规划、集群软件安装与验证,帮助技术团队高效完成生产级部署。


一、Oracle RAC部署前提条件

在开始部署前,必须确保硬件与软件环境满足Oracle官方推荐标准。RAC对底层基础设施有严格要求,任何配置偏差都可能导致集群启动失败或数据不一致。

1.1 硬件要求

  • 双节点服务器:建议使用相同型号、相同CPU架构、相同内存容量的物理服务器,避免因硬件差异引发性能瓶颈或兼容性问题。
  • 共享存储系统:必须支持ASM(Automatic Storage Management)或第三方集群文件系统(如OCFS2)。推荐使用SAN存储或iSCSI存储,确保两个节点可同时访问相同磁盘设备。
  • 网络接口:每个节点至少需3个独立网卡:
    • Public Network:用于客户端连接与应用通信(如192.168.1.0/24)
    • Private Network:用于节点间心跳与缓存融合(Cache Fusion),建议使用10Gbps光纤或专用千兆以太网(如192.168.2.0/24)
    • Virtual IP(VIP):用于故障转移时的IP漂移,需与Public Network同网段

1.2 操作系统与软件要求

  • 操作系统:Oracle Linux 8.x / Red Hat Enterprise Linux 8.x(推荐)
  • 内核版本:至少5.4.17以上
  • 必须安装的软件包:
    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 libXtst
  • 关闭防火墙与SELinux:
    systemctl stop firewalld && systemctl disable firewalldsetenforce 0sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config

1.3 用户与权限配置

创建专用用户组与用户:

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

为oracle用户设置资源限制(/etc/security/limits.conf):

oracle soft nofile 1024oracle hard nofile 65536oracle soft nproc 16384oracle hard nproc 16384oracle soft stack 10240oracle hard stack 32768

二、共享存储配置详解

共享存储是RAC架构的基石。若共享存储配置错误,将导致节点间数据冲突、ASM磁盘组无法识别,甚至数据库崩溃。

2.1 存储设备识别与分区

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

lsblk# 或fdisk -l

典型输出应包含如 /dev/sdb, /dev/sdc, /dev/sdd 等共享磁盘。

使用 multipath 工具统一设备名(推荐):

yum install -y device-mapper-multipathsystemctl enable multipathd --nowmultipath -ll

编辑 /etc/multipath.conf,添加别名规则:

defaults {    user_friendly_names yes}devices {    device {        vendor "PURE"        product "FlashArray"        path_grouping_policy multibus        path_checker directio    }}

重启服务并生成设备映射:

systemctl restart multipathdmultipath -v2

2.2 创建ASM磁盘组

使用 oracleasm 工具创建ASM磁盘(适用于Oracle Linux):

oracleasm createdisk DATA1 /dev/mapper/mpathboracleasm createdisk FRA1 /dev/mapper/mpathcoracleasm listdisks

确保两个节点均能识别这些磁盘:

oracleasm scandisksoracleasm listdisks

关键提示:ASM磁盘必须由两个节点以相同名称识别,否则集群安装将失败。

2.3 验证共享访问

在节点1写入测试文件:

dd if=/dev/zero of=/dev/oracleasm/disks/DATA1 bs=1M count=100

在节点2立即读取:

dd if=/dev/oracleasm/disks/DATA1 of=/dev/null bs=1M count=100

若无报错,说明共享存储配置成功。


三、集群件安装与配置

Oracle Clusterware是RAC的底层集群管理引擎,负责节点通信、资源管理与故障检测。

3.1 安装Oracle Grid Infrastructure

下载Oracle 19c或21c Grid Infrastructure安装包(需与数据库版本匹配),解压后运行:

cd /opt/oracle/grid./runInstaller

安装向导中选择:

  • Install and Configure Oracle Grid Infrastructure for a Cluster
  • 节点信息:输入两个节点的主机名与VIP地址
  • 网络接口:指定Public与Private网络
  • 存储选项:选择ASM,指定DATA1与FRA1磁盘
  • 设置ASM密码(建议使用强密码,如 AsmPass2024!

⚠️ 注意:安装过程中,脚本会自动调用 root.sh,需在两个节点分别以root身份执行。必须按提示顺序执行,先主节点,后从节点

3.2 验证集群状态

安装完成后,执行:

crsctl check clustercrsctl stat res -t

预期输出应显示所有资源为 ONLINE,包括:

  • ora.cluster_interconnect.haip
  • ora.cssd
  • ora.diskmon
  • ora.evmd

若出现 OFFLINE,检查网络延迟、防火墙、共享磁盘权限或时间同步问题。


四、数据库实例部署

在Clusterware正常运行后,方可安装Oracle Database软件并创建RAC数据库。

4.1 安装Oracle Database软件

以oracle用户运行:

cd /opt/oracle/database./runInstaller

选择:

  • Install database software only
  • 选择“Oracle Real Application Clusters database installation”
  • 指定两个节点

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

/u01/app/oraInventory/orainstRoot.sh/u01/app/oracle/product/19c/dbhome_1/root.sh

4.2 使用DBCA创建RAC数据库

dbca

配置步骤:

  • 操作:Create a Database
  • 数据库模板:General Purpose or Transaction Processing
  • 数据库标识:填写全局数据库名(如 racdb.example.com
  • 节点选择:勾选两个节点
  • 存储选项:选择ASM,指定DATA磁盘组
  • 启用归档模式(生产环境必需)
  • 设置密码:为SYS、SYSTEM、PDBADMIN设置强密码
  • 可选:启用EM Express、自动备份

创建完成后,使用 srvctl status database -d racdb 验证实例状态。


五、网络与性能优化建议

5.1 私有网络优化

  • 使用专用交换机连接Private网络,避免与Public网络共用设备
  • 设置MTU为9000(Jumbo Frames)提升缓存融合效率
  • 禁用TCP时间戳与Nagle算法:
    echo 0 > /proc/sys/net/ipv4/tcp_timestampsecho 1 > /proc/sys/net/ipv4/tcp_low_latency

5.2 时间同步

RAC对时间一致性要求极高,必须使用NTP或chrony同步:

timedatectl set-ntp truechronyc sources -v

确保两个节点时间差不超过1秒。

5.3 监控与告警

部署后建议配置:

  • Oracle Enterprise Manager(OEM)监控集群健康
  • 使用 crsctl query css votedisk 查看投票磁盘状态
  • 设置告警规则:当 ora.cssdora.evmd 状态变为 OFFLINE 时触发邮件通知

六、常见故障排查清单

问题现象可能原因解决方案
crsctl stat res -t 显示OFFLINE时间不同步使用 chronyc sources 校准时间
ASM磁盘无法识别权限错误或multipath未配置检查 /dev/oracleasm/disks/ 所有权,执行 oracleasm scandisks
VIP无法漂移DNS解析失败确保 /etc/hosts 包含所有节点VIP映射
数据库无法启动控制文件路径错误使用 asmcmd 检查控制文件是否在ASM中

七、企业级部署价值与扩展建议

Oracle RAC部署虽复杂,但其带来的业务连续性价值远超成本。在数字孪生系统中,RAC可支撑多源实时数据写入;在可视化平台中,可保障高并发查询不中断。对于需要7×24小时运行的中台系统,RAC是唯一经过验证的高可用架构。

为提升运维效率,建议:

  • 使用Ansible自动化部署脚本
  • 建立标准化的RAC部署Checklist
  • 定期演练节点故障切换

如需快速验证RAC架构在您业务场景中的可行性,申请试用&https://www.dtstack.com/?src=bbs 获取专业部署评估服务。若您正在规划下一代数据平台架构,申请试用&https://www.dtstack.com/?src=bbs 可获得Oracle RAC与云原生数据库的混合部署方案。为确保系统稳定性与扩展性,申请试用&https://www.dtstack.com/?src=bbs 获取定制化集群性能调优建议。


结语

Oracle RAC部署不是简单的软件安装,而是一次对基础设施、网络架构与运维流程的全面重构。从共享存储的精确配置,到集群件的稳定运行,每一步都决定着系统的健壮性。掌握本指南所列步骤,您将具备独立部署生产级Oracle RAC双节点集群的能力。建议在测试环境完整演练后,再迁移至生产环境。持续监控、定期演练、文档沉淀,是保障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条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

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