博客 Oracle RAC集群部署详解:双节点配置与共享存储配置

Oracle RAC集群部署详解:双节点配置与共享存储配置

   数栈君   发表于 2026-03-29 14:43  75  0

Oracle RAC集群部署详解:双节点配置与共享存储配置 🏗️

在现代企业数据架构中,高可用性与负载均衡已成为核心需求。对于关键业务系统,如金融交易、供应链管理、客户关系平台等,单点故障意味着巨大的业务损失。Oracle Real Application Clusters(RAC)作为Oracle官方提供的集群解决方案,允许多个节点共享同一数据库实例,实现无缝故障转移与横向扩展。本文将系统性地解析Oracle RAC部署的核心流程,聚焦双节点环境下的操作系统配置、网络规划、共享存储搭建与集群软件安装,为企业构建稳定、高性能的数据库平台提供可落地的技术指南。


一、Oracle RAC部署的核心价值与适用场景 ✅

Oracle RAC通过共享存储架构,使多个数据库实例同时访问同一套数据文件,实现真正的多节点并发读写。其核心优势包括:

  • 高可用性:任一节点宕机,其余节点自动接管服务,中断时间可控制在秒级。
  • 负载均衡:客户端请求可动态分发至多个实例,提升并发处理能力。
  • 在线扩展:新增节点无需停机,可动态加入集群,适应业务增长。
  • 数据一致性:通过Cache Fusion机制,实现跨节点缓冲区高速同步,避免数据冲突。

适用于需要7×24小时运行、高并发访问、数据零丢失的场景,如ERP系统、核心交易库、实时报表平台等。尤其在数据中台架构中,RAC作为底层数据引擎,支撑着数字孪生模型的实时数据注入与查询响应。

申请试用&https://www.dtstack.com/?src=bbs


二、双节点Oracle RAC部署前置条件 📋

在正式部署前,必须完成以下基础设施与环境准备:

1. 硬件要求

  • 服务器节点:至少2台物理或虚拟机,建议配置相同(CPU、内存、磁盘规格一致)。
  • 网络接口:每节点至少3个网卡:
    • Public Network:用于客户端连接与管理(如192.168.1.0/24)。
    • Private Network:用于节点间Cache Fusion通信(建议10Gbps,独立网段如10.10.10.0/24)。
    • Storage Network(可选):若使用光纤通道或iSCSI,需独立网络路径。
  • 存储系统:必须为共享存储,支持多节点并发访问。推荐方案:
    • ASM(Automatic Storage Management):Oracle官方推荐,基于块设备管理。
    • NFS(网络文件系统):仅限测试环境,生产环境不推荐。
    • SAN(光纤存储):企业级首选,如EMC、NetApp、华为OceanStor。

2. 操作系统要求

  • 支持平台:Oracle Linux 8.x / 9.x、Red Hat Enterprise Linux 8.x / 9.x。
  • 内核版本:不低于 5.4(推荐 5.15+)。
  • 必须关闭防火墙与SELinux,或配置精确策略:
    sudo setenforce 0sudo systemctl stop firewalldsudo systemctl disable firewalld

3. 用户与权限配置

  • 创建统一的Oracle用户组:
    groupadd oinstallgroupadd dbauseradd -g oinstall -G dba oraclepasswd 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部署中最易出错的部分,必须严格遵循规范。

1. 主机名与DNS解析

  • 所有节点必须配置永久主机名,避免使用localhost或动态IP。
  • /etc/hosts 中添加所有节点的公共、私有IP与主机名映射:
    192.168.1.10  racnode1.example.com racnode1192.168.1.11  racnode2.example.com racnode210.10.10.10   racnode1-priv.example.com racnode1-priv10.10.10.11   racnode2-priv.example.com racnode2-priv192.168.1.15  racnode1-vip.example.com racnode1-vip192.168.1.16  racnode2-vip.example.com racnode2-vip192.168.1.20  rac-scan.example.com rac-scan
  • VIP(Virtual IP):故障时自动漂移,确保客户端连接不中断。
  • SCAN(Single Client Access Name):由DNS或GNS解析,支持3个IP地址,实现客户端负载均衡。

⚠️ 注意:SCAN名称必须在DNS服务器中配置A记录,或在 /etc/hosts 中绑定至少3个IP(生产环境推荐DNS)。

2. 时间同步(NTP)

  • 所有节点必须使用NTP服务同步时间,误差不得超过5秒。
  • 安装并配置chrony:
    sudo dnf install chrony -ysudo systemctl enable --now chronydsudo chronyc sources

四、共享存储配置详解 💾

共享存储是RAC的基石。以下以ASM(推荐)为例说明配置流程。

1. 存储设备准备

  • 使用SAN或iSCSI为目标节点挂载至少3个共享磁盘:
    • 1个用于OCR(Oracle Cluster Registry)
    • 1个用于Voting Disk(仲裁磁盘)
    • 1个及以上用于数据文件(DATA磁盘组)

使用 lsblkfdisk -l 确认磁盘在所有节点可见,且权限为 oracle:oinstall

2. 配置ASM磁盘

  • 安装Oracle ASMlib(可选,推荐使用udev规则):
    sudo yum install oracleasm-support oracleasmlib -ysudo /etc/init.d/oracleasm configure
  • 创建ASM磁盘(udev规则方式):编辑 /etc/udev/rules.d/99-oracle-asm.rules
    KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29a1b2d3e4f5a6b7c8d9e0f1a2", SYMLINK+="asm-disk1", OWNER="oracle", GROUP="oinstall", MODE="0660"
  • 重新加载规则并创建符号链接:
    sudo udevadm control --reload-rulessudo udevadm triggerls -l /dev/asm-*

3. 验证共享性

在两个节点分别执行:

dd if=/dev/asm-disk1 of=/dev/null bs=1M count=100

若无权限错误且能读取,则共享存储配置成功。

申请试用&https://www.dtstack.com/?src=bbs


五、Grid Infrastructure安装与集群配置 🧩

Oracle Clusterware(Grid Infrastructure)是RAC的集群管理层,负责节点管理、心跳检测、资源调度。

1. 安装Grid Infrastructure

  • 下载Oracle 19c或21c Grid Infrastructure软件包。
  • 使用图形化安装程序(X11转发)或静默安装:
    ./runInstaller -silent -responseFile /path/to/grid.rsp
  • 安装过程中需指定:
    • 集群名称(如 rac-cluster
    • 节点列表(racnode1, racnode2)
    • 公共与私有网络接口
    • ASM磁盘组名称(如 DATA, FRA

2. 执行root脚本

安装完成后,系统会提示在每个节点以root身份执行脚本:

# 在racnode1执行/u01/app/19.0.0/grid/root.sh# 在racnode2执行/u01/app/19.0.0/grid/root.sh

这些脚本会配置OCR、启动CRS服务、注册集群资源。

3. 验证集群状态

crsctl check clustercrsctl stat res -tolsnodes -n

输出应显示所有节点为“ONLINE”,资源状态为“ONLINE”。


六、数据库实例部署与验证 🗄️

完成Grid Infrastructure后,使用DBCA(Database Configuration Assistant)创建RAC数据库。

1. 启动DBCA

dbca -silent -createDatabase \  -templateName General_Purpose.dbc \  -gdbname RACDB \  -sid RACDB \  -responseFile NO_VALUE \  -characterSet AL32UTF8 \  -nationalCharacterSet AL16UTF16 \  -databaseType MULTIPURPOSE \  -memoryPercentage 30 \  -enableArchive true \  -redoLogFileSize 500 \  -storageType ASM \  -diskGroupName DATA \  -recoveryGroupName FRA \  -nodes racnode1,racnode2 \  -sampleSchema true

2. 验证多实例运行

登录任意节点,查询实例状态:

SELECT instance_name, status, host_name FROM gv$instance;

输出应显示两个实例(如 RACDB_1, RACDB_2),状态均为 OPEN

3. 测试负载均衡

使用SQL*Plus从不同客户端连接SCAN地址:

sqlplus user/pass@rac-scan:1521/RACDB

多次连接,观察连接是否在两个节点间轮转。


七、运维建议与最佳实践 🛡️

  • 监控:使用Enterprise Manager或自定义脚本监控CRS状态、ASM磁盘使用率、节点心跳。
  • 备份:定期备份OCR与Voting Disk:
    ocrconfig -showbackupocrconfig -manualbackup
  • 补丁更新:使用OPatch按顺序更新Grid Infrastructure → Database。
  • 日志路径
    • Grid:$ORACLE_BASE/diag/crs/
    • DB:$ORACLE_BASE/diag/rdbms/

申请试用&https://www.dtstack.com/?src=bbs


结语:构建企业级高可用数据库平台

Oracle RAC部署虽复杂,但其带来的稳定性与扩展性,是支撑现代企业核心业务系统的基石。无论是为数字孪生提供实时数据源,还是为可视化分析平台保障数据连续性,RAC都是不可替代的技术选择。通过严谨的网络规划、共享存储配置与集群管理,企业可构建出媲美金融级可靠性的数据库架构。

建议在生产环境部署前,先在测试环境完整演练一次全流程,并结合自动化脚本(Ansible、Terraform)实现部署标准化。同时,持续关注Oracle官方文档与补丁更新,确保系统安全与兼容。

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

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