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

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

   数栈君   发表于 2026-03-26 20:43  21  0

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

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

本文将聚焦于双节点Oracle RAC部署实战,从硬件准备、共享存储配置、操作系统优化到集群软件安装,提供一套可落地、可验证的完整操作指南。所有步骤均基于Oracle官方推荐架构,适用于生产环境部署前的验证与实施。


一、部署前提与架构要求

Oracle RAC的核心在于“共享存储”与“集群通信”。在双节点架构中,必须满足以下硬性条件:

  • 两个物理或虚拟服务器:建议配置相同硬件规格(CPU、内存、磁盘),避免因资源不均导致负载倾斜。推荐CPU ≥ 8核,内存 ≥ 32GB,SSD存储。
  • 共享存储系统:必须为两个节点提供可同时挂载的存储设备。推荐使用:
    • ASM(Automatic Storage Management):Oracle官方推荐的存储管理方案,支持条带化与镜像。
    • SAN(光纤通道)或 iSCSI:确保低延迟、高带宽。不建议使用NFS或本地磁盘。
  • 网络配置
    • 公共网络(Public Network):用于客户端连接与管理,建议使用千兆或万兆以太网。
    • 私有网络(Private Network / Interconnect):用于节点间心跳与缓存融合(Cache Fusion),必须独立于公共网络,推荐万兆网卡,启用Jumbo Frames(MTU ≥ 9000)。
    • 虚拟IP(VIP):用于故障转移时的客户端无缝重连。
  • 操作系统:推荐Oracle Linux 8.x 或 Red Hat Enterprise Linux 8.x,内核版本 ≥ 4.18,已安装Oracle Preinstall RPM包。

关键提示:RAC对网络延迟极为敏感。私有网络延迟应控制在1ms以内,否则将触发节点驱逐(Node Eviction),导致服务中断。


二、共享存储配置详解

共享存储是RAC的“心脏”。在双节点环境中,需为以下三类文件分配独立的存储卷:

存储类型用途推荐大小文件系统/管理方式
OCR(Oracle Cluster Registry)存储集群配置信息5GBASM
Voting Disk判断节点存活状态5GBASM
数据文件与重做日志用户数据库核心数据≥100GBASM

配置步骤:

  1. 初始化共享磁盘使用lsblkfdisk -l确认共享磁盘是否被两个节点识别。假设识别出/dev/sdb/dev/sdc/dev/sdd三个LUN。

  2. 配置多路径(Multipath)为避免单路径故障,启用多路径软件(如multipathd):

    yum install -y device-mapper-multipathsystemctl enable --now multipathdmultipath -ll

    编辑/etc/multipath.conf,添加如下配置以确保设备命名一致:

    defaults {    user_friendly_names yes}
  3. 创建ASM磁盘组安装Oracle Grid Infrastructure后,使用asmca图形化工具或命令行创建ASM磁盘组:

    asmca -silent -createDiskGroup -diskGroupName DATA -diskList '/dev/mapper/data_disk1' -redundancy EXTERNALasmca -silent -createDiskGroup -diskGroupName FRA -diskList '/dev/mapper/fra_disk1' -redundancy EXTERNAL

    ⚠️ 注意:OCR与Voting Disk默认由Grid Infrastructure自动创建在+DATA磁盘组中,无需手动分配。

  4. 验证共享访问在两个节点上分别执行:

    dd if=/dev/zero of=/dev/mapper/data_disk1 bs=1M count=100

    若两节点均可写入且无报错,则共享存储配置成功。


三、操作系统与网络优化

1. 内核参数调优

编辑/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 生效。

2. 用户与资源限制

编辑/etc/security/limits.conf

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

3. 时间同步(NTP/Chrony)

RAC对时间一致性要求极高,时间偏差超过100ms将触发集群重启。

yum install chrony -ysystemctl enable --now chronydchronyc sources -v

确保两个节点时间差小于50ms。


四、安装Oracle Grid Infrastructure

  1. 下载软件包从Oracle官网下载:

    • linuxx64_193000_grid_home.zip(Grid Infrastructure 19c)
    • linuxx64_193000_db_home.zip(Database 19c)
  2. 解压并运行安装程序

    unzip linuxx64_193000_grid_home.zip -d /u01/app/cd /u01/app/grid./runInstaller
  3. 安装配置要点

    • 选择“Configure Oracle Grid Infrastructure for a Cluster”
    • 添加两个节点的主机名与VIP(如node1-vip、node2-vip)
    • 指定私有网络接口(如eth1)
    • 设置ASM密码(建议使用强密码)
    • 执行root.sh脚本(在两个节点分别执行)
  4. 验证集群状态

    crsctl check clustercrsctl stat res -t

    输出应显示所有资源为ONLINE,包括ora.cluster_interconnect.haipora.cssdora.diskmon


五、安装Oracle Database软件并创建RAC数据库

  1. 解压数据库安装包

    unzip linuxx64_193000_db_home.zip -d /u01/app/cd /u01/app/dbhome_1./runInstaller
  2. 安装选项

    • 选择“Install database software only”
    • 选择“Oracle Real Application Clusters database installation”
    • 选中两个节点
  3. 创建数据库(DBCA)

    dbca -silent -createDatabase \  -templateName General_Purpose.dbc \  -gdbname RACDB \  -sid RACDB \  -responseFile NO_VALUE \  -characterSet AL32UTF8 \  -nationalCharacterSet AL16UTF16 \  -totalMemory 8192 \  -databaseType MULTIPURPOSE \  -nodeinfo node1,node2 \  -storageType ASM \  -diskGroupName DATA \  -recoveryAreaDestination FRA \  -emConfiguration NONE

    安装完成后,使用srvctl status database -d RACDB验证数据库是否在双节点运行。


六、性能监控与高可用验证

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

  • 负载测试:使用sqlplus并发连接多个会话,执行复杂查询,观察CPU与I/O负载分布。
  • 心跳中断测试:临时关闭私有网络接口(ifdown eth1),观察是否触发VIP漂移与节点接管。
  • ASM磁盘组冗余测试:模拟一块共享磁盘离线,验证数据库是否仍可正常读写。

📊 建议使用Oracle Enterprise Manager(OEM)或awrreport生成性能报告,分析缓存融合效率与等待事件(如gc cr block busy)。


七、运维建议与最佳实践

  • 定期备份OCR与Voting Disk:使用ocrconfig -export导出配置。
  • 避免在RAC节点上部署其他应用:防止资源争抢。
  • 启用自动诊断仓库(ADR):便于快速定位集群异常。
  • 监控ASM磁盘使用率:避免因空间不足导致实例崩溃。

结语:为企业级数据平台奠定坚实基础

Oracle RAC部署虽复杂,但其带来的高可用性、弹性扩展与零停机维护能力,是支撑数字孪生仿真、实时数据中台与大规模可视化分析系统的理想选择。在数据驱动决策的时代,任何一次服务中断都可能带来不可估量的业务损失。通过本文所述的双节点配置流程,企业可构建出符合生产标准的Oracle RAC集群,为关键业务系统提供坚实底座。

如需进一步降低部署复杂度,提升自动化水平,可考虑借助专业云原生数据库管理平台。申请试用&https://www.dtstack.com/?src=bbs申请试用&https://www.dtstack.com/?src=bbs申请试用&https://www.dtstack.com/?src=bbs

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

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