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

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

   数栈君   发表于 2026-03-27 14:57  33  0

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

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

本文将聚焦于双节点Oracle RAC部署实战,深入解析共享存储配置、网络规划、集群软件安装与验证流程,确保部署过程可复现、可审计、可运维。


一、Oracle RAC部署的核心前提

在开始部署前,必须满足以下硬性条件:

  • 硬件要求:两台配置一致的服务器(建议CPU ≥ 8核,内存 ≥ 32GB,SSD存储 ≥ 500GB),支持硬件虚拟化(如VMware、KVM)或物理机部署。
  • 操作系统:Oracle Linux 8.x 或 Red Hat Enterprise Linux 8.x,推荐使用官方认证版本。
  • 网络架构:至少三张网卡:
    • Public Network:用于客户端连接与应用通信(如192.168.1.0/24)
    • Private Network:用于节点间心跳与缓存融合(Cache Fusion),建议独立千兆/万兆网段(如10.10.10.0/24)
    • Virtual IP(VIP):由Oracle Clusterware自动管理,用于故障切换
  • 共享存储:必须使用集群感知的存储系统,如:
    • Oracle Automatic Storage Management(ASM)+ 共享磁盘
    • NFS(仅限Oracle 19c+,需配置锁管理)
    • SAN存储(光纤通道或iSCSI)

⚠️ 注意:本地磁盘或非共享存储无法支持RAC的多实例并发访问,部署将失败。


二、共享存储配置详解

共享存储是RAC架构的“心脏”。在双节点环境中,所有节点必须能同时读写同一组数据文件、控制文件和重做日志。

2.1 使用iSCSI搭建共享存储(推荐方案)

  1. 在存储服务器上配置iSCSI Target安装targetcli工具,创建LUN:

    sudo yum install targetcli -ysudo targetcli/backstores/block create db_disk1 /dev/sdb/backstores/block create db_disk2 /dev/sdc/iscsi create/iscsi/iqn.2023-07.com.example:storage/tpg1/luns create /backstores/block/db_disk1/iscsi/iqn.2023-07.com.example:storage/tpg1/luns create /backstores/block/db_disk2/iscsi/iqn.2023-07.com.example:storage/tpg1/acls create iqn.2023-07.com.example:node1/iscsi/iqn.2023-07.com.example:storage/tpg1/acls create iqn.2023-07.com.example:node2/iscsi/iqn.2023-07.com.example:storage/tpg1/portals create 10.10.10.10saveconfig
  2. 在两个RAC节点上发现并挂载LUN

    sudo yum install iscsi-initiator-utils -ysudo systemctl enable --now iscsidsudo iscsiadm -m discovery -t sendtargets -p 10.10.10.10sudo iscsiadm -m node -T iqn.2023-07.com.example:storage -p 10.10.10.10 --login
  3. 验证磁盘可见性

    lsblk# 应看到类似 sdb, sdc 的设备,且在两个节点上名称一致
  4. 配置多路径(Multipath)增强可靠性

    安装device-mapper-multipath,编辑/etc/multipath.conf

    defaults {    user_friendly_names yes}devices {    device {        vendor "LIO-ORG"        product "Block"        path_grouping_policy multibus        path_selector "round-robin 0"        hardware_handler "0"        failback immediate        rr_weight priorities        no_path_retry queue    }}

    重启服务并验证:

    sudo systemctl restart multipathdsudo multipath -ll

    输出示例:

    mpatha (36001405b4a1e4b3d1f0a8e5d3b4c2a1d) dm-0 LIO-ORG,Blocksize=50G features='0' hwhandler='0' wp=rw|-+- policy='round-robin 0' prio=1 status=active| `- 3:0:0:1 sdb 8:16 active ready running`-+- policy='round-robin 0' prio=1 status=enabled  `- 4:0:0:1 sdc 8:32 active ready running

    ✅ 使用/dev/mapper/mpatha作为ASM磁盘路径,避免设备名漂移。


三、网络与主机配置

3.1 主机名与DNS解析

确保两个节点的主机名唯一且可解析:

# /etc/hosts192.168.1.101 racnode1.example.com racnode1192.168.1.102 racnode2.example.com racnode210.10.10.101 racnode1-priv.example.com racnode1-priv10.10.10.102 racnode2-priv.example.com racnode2-priv192.168.1.110 racnode1-vip.example.com racnode1-vip192.168.1.111 racnode2-vip.example.com racnode2-vip

✅ 禁用NetworkManager,使用network.service管理网络,避免动态IP干扰。

3.2 时间同步(NTP)

RAC对时间同步要求极高,偏差超过100ms将导致集群分裂。

sudo yum install chrony -ysudo systemctl enable --now chronydsudo chronyc sources

确保两个节点时间差小于1秒。

3.3 用户与权限配置

创建统一的Oracle用户组:

groupadd oinstallgroupadd dbagroupadd operuseradd -g oinstall -G dba,oper oracleecho "oracle:Oracle123" | chpasswdmkdir -p /u01/app/oraclechown -R oracle:oinstall /u01/app/oraclechmod -R 775 /u01/app/oracle

设置内核参数(/etc/sysctl.conf)与资源限制(/etc/security/limits.conf),参考Oracle官方文档。


四、安装Oracle Grid Infrastructure(GI)

Grid Infrastructure是RAC的集群管理核心,包含OCR、Voting Disk、Clusterware。

  1. 解压安装包

    unzip linuxx64_193000_grid_home.zip -d /u01/app/19.0.0/grid
  2. 运行安装程序

    cd /u01/app/19.0.0/grid./gridSetup.sh
  3. 安装向导关键配置

    • 选择“Configure Oracle Grid Infrastructure for a Cluster”
    • 添加两个节点(racnode1, racnode2)
    • 设置公共/私有网络接口(绑定正确网卡)
    • 指定ASM磁盘组:选择/dev/mapper/mpatha,创建名为DATA的磁盘组
    • 设置OCR与Voting Disk位置(自动使用ASM)
    • 设置密码:使用统一的Oracle密码(如Oracle123!
  4. 执行root脚本

    在两个节点依次执行:

    /u01/app/oraInventory/orainstRoot.sh/u01/app/19.0.0/grid/root.sh
  5. 验证集群状态

    /u01/app/19.0.0/grid/bin/crsctl check cluster/u01/app/19.0.0/grid/bin/crsctl stat res -t

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


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

  1. 解压数据库安装包

    unzip linuxx64_193000_db_home.zip -d /u01/app/oracle/product/19.0.0/dbhome_1
  2. 运行dbca创建RAC数据库

    /u01/app/oracle/product/19.0.0/dbhome_1/bin/dbca
  3. 配置步骤

    • 选择“Create a Database”
    • 模板:选择“General Purpose or Transaction Processing”
    • 数据库名:ORCL,启用“Configure Oracle RAC”
    • 节点选择:racnode1, racnode2
    • 存储类型:ASM,选择DATA磁盘组
    • 配置快速恢复区(FRA):建议使用另一磁盘组FRA
    • 启用归档模式
    • 设置字符集:AL32UTF8
    • 设置SYS/SYSTEM密码
    • 选择“Create Database”
  4. 验证数据库状态

    srvctl status database -d ORCL# 输出应显示两个实例均运行# Instance ORCL_1 is running on node racnode1# Instance ORCL_2 is running on node racnode2

    登录任意节点验证:

    SQL> select instance_name, host_name from gv$instance;

    输出应返回两个实例及其对应主机名。


六、测试与高可用验证

6.1 故障切换测试

在节点1上强制关闭Oracle服务:

srvctl stop instance -d ORCL -i ORCL_1

观察节点2是否自动接管服务:

srvctl status database -d ORCL# 应显示 ORCL_2 running, ORCL_1 stopped

客户端连接VIP(192.168.1.110)应仍能正常访问,无中断。

6.2 负载均衡测试

使用SQL*Plus或应用连接字符串:

(DESCRIPTION=  (ADDRESS=(PROTOCOL=TCP)(HOST=racnode1-vip)(PORT=1521))  (ADDRESS=(PROTOCOL=TCP)(HOST=racnode2-vip)(PORT=1521))  (LOAD_BALANCE=yes)  (CONNECT_DATA=    (SERVER=DEDICATED)    (SERVICE_NAME=ORCL)  ))

通过v$session查看会话分布,确认负载均衡生效。


七、运维建议与最佳实践

  • ✅ 定期备份OCR与Voting Disk:ocrconfig -showbackup
  • ✅ 监控ASM磁盘使用率:asmcmd lsdg
  • ✅ 启用Oracle Enterprise Manager(OEM)集中监控
  • ✅ 避免手动修改集群资源,使用srvctl命令管理
  • ✅ 所有补丁更新需通过OPatch在双节点同步执行

结语:构建企业级数据基石

Oracle RAC部署虽复杂,但其带来的高可用、弹性扩展与零停机维护能力,是支撑数据中台、实时数字孪生与高并发可视化平台的底层保障。一次成功的部署,意味着您的核心业务将不再因单点故障而中断。

为加速部署进程,降低运维风险,建议使用专业平台进行自动化配置与监控。申请试用&https://www.dtstack.com/?src=bbs 提供企业级RAC部署模板与智能运维工具,帮助您缩短上线周期50%以上。

申请试用&https://www.dtstack.com/?src=bbs 支持一键生成集群配置脚本,兼容主流Linux发行版与存储架构,是企业数字化转型的可靠助手。

申请试用&https://www.dtstack.com/?src=bbs 已服务金融、制造、能源等行业头部客户,助力构建稳定、高效、可扩展的数据基础设施。


附:关键命令速查表

任务命令
检查集群状态/u01/app/19.0.0/grid/bin/crsctl check cluster
查看资源状态/u01/app/19.0.0/grid/bin/crsctl stat res -t
启动数据库srvctl start database -d ORCL
停止实例srvctl stop instance -d ORCL -i ORCL_1
查看ASM磁盘asmcmd lsdg
验证VIPping racnode1-vip

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

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