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

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

   数栈君   发表于 2026-03-30 10:30  64  0

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

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


一、Oracle RAC部署的核心前提

在启动部署前,必须确认以下基础设施满足最低要求:

  • 硬件平台:至少两台x86_64架构服务器,建议使用相同型号以避免驱动与性能差异。CPU核心数建议不低于8核,内存不低于32GB。
  • 操作系统:Oracle Linux 8.x 或 Red Hat Enterprise Linux 8.x,推荐使用Oracle官方认证的版本。系统需关闭防火墙(firewalld)与SELinux,或配置为permissive模式。
  • 网络架构:至少三张网卡:
    • Public Network:用于客户端连接与应用通信,配置静态IP。
    • Private Network:用于节点间心跳与缓存融合(Cache Fusion),建议使用10Gbps光纤或InfiniBand,避免与公网混用。
    • Storage Network(可选):若使用IP-SAN或iSCSI,建议独立网络以降低I/O干扰。
  • 存储系统:必须使用共享存储,支持ASM(Automatic Storage Management)或第三方集群文件系统(如OCFS2)。推荐使用SAN存储或NFSv4(需配置锁管理)。

📌 重要提示:Oracle RAC不支持本地磁盘作为共享存储。任何节点独占的存储设备将导致集群无法启动。


二、共享存储配置详解

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

2.1 使用ASM(推荐方案)

ASM是Oracle官方推荐的存储管理方案,具备自动负载均衡、条带化与镜像能力。

步骤如下:

  1. 划分LUN:在SAN存储上为RAC创建至少5个LUN:

    • 1个用于OCR(Oracle Cluster Registry)
    • 1个用于Voting Disk
    • 3个用于数据文件(建议大小一致,用于ASM DiskGroup)
  2. 识别磁盘路径

    lsblk -f# 或使用/usr/sbin/scsi_id -g -u -s /block/sdX

    记录每个LUN的WWID(World Wide Identifier),用于后续udev规则绑定。

  3. 配置udev规则(以Oracle Linux为例):编辑 /etc/udev/rules.d/99-oracle-asm.rules

    KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/sbin/scsi_id -g -u -s %p", RESULT=="36000c29a1b2c3d4e5f6a7b8c9d0e1f2", SYMLINK+="asm-disk1", OWNER="grid", GROUP="dba", MODE="0660"

    重复为每个LUN添加规则,确保命名一致(如asm-disk1至asm-disk5)。

  4. 重启udev服务并验证

    udevadm control --reload-rulesudevadm triggerls -l /dev/asm-*

2.2 使用NFS共享存储(备选方案)

若无SAN设备,可使用NFSv4挂载共享目录,但需满足:

  • NFS服务器运行在独立高可用主机上
  • 挂载选项必须包含:rw,bg,hard,intr,rsize=1048576,wsize=1048576,tcp,vers=4,actimeo=0
  • 启用NFS锁服务(lockd、rpc.statd)
  • 所有节点时间同步(NTP必须精确到毫秒级)

⚠️ 注意:NFS方案在高并发写入场景下性能低于ASM,仅适用于测试或低负载环境。


三、网络与主机配置

3.1 主机名与DNS解析

所有节点必须配置唯一主机名,并在 /etc/hosts 中添加所有节点的公网与私网IP:

192.168.1.10  rac1.example.com rac1192.168.1.11  rac2.example.com rac210.10.10.10   rac1-priv.example.com rac1-priv10.10.10.11   rac2-priv.example.com rac2-priv192.168.1.20  rac1-vip.example.com rac1-vip192.168.1.21  rac2-vip.example.com rac2-vip

VIP(Virtual IP) 是RAC的高可用核心,当某节点宕机时,其VIP会自动漂移至存活节点,客户端无需重连。

3.2 时间同步(NTP)

使用chrony或ntpd同步时间,误差必须小于1秒:

systemctl enable chronydsystemctl start chronydchronyc sources -v

在集群安装过程中,Oracle Clusterware会检测时间差,超限将导致安装失败。

3.3 用户与权限

创建统一的用户组与用户:

groupadd -g 1000 oinstallgroupadd -g 1001 dbagroupadd -g 1002 opergroupadd -g 1003 asmadmingroupadd -g 1004 asmdbagroupadd -g 1005 asmoperuseradd -u 1100 -g oinstall -G dba,asmdba,oper griduseradd -u 1101 -g oinstall -G dba,asmdba,oper oracle

设置密码并确保用户家目录权限正确。


四、安装Oracle Grid Infrastructure

Grid Infrastructure是RAC的集群管理层,包含OCR、Voting Disk、Clusterware与ASM。

4.1 下载与解压

从Oracle官网下载:

  • linuxx64_21c_grid_home.zip(对应Oracle 21c)
  • linuxx64_21c_database_home.zip

解压至 /opt/oracle

unzip linuxx64_21c_grid_home.zip -d /opt/oracle/cd /opt/oracle/grid

4.2 静默安装(推荐)

创建响应文件 grid.rsp,关键参数如下:

oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v21.0.0INVENTORY_LOCATION=/u01/app/oraInventorySELECTED_LANGUAGES=enORACLE_HOSTNAME=rac1.example.comUNIX_GROUP_NAME=oinstallINSTALL_TYPE=CRSCLUSTER_NODES={rac1,rac2}CLUSTER_NAME=rac-clusterSCAN_NAME=rac-scan.example.comSCAN_PORT=1521ASM_DISKGROUP_NAME=DATAASM_DISKSTRING='/dev/asm-*'ASM_PASSWORD=YourPass123!

执行安装:

./gridSetup.sh -silent -responseFile /opt/oracle/grid/grid.rsp -ignorePrereqFailure

安装过程约30–60分钟,期间系统将自动配置网络、启动集群服务、初始化OCR与Voting Disk。

4.3 执行root脚本

安装完成后,按提示在两个节点分别执行:

/u01/app/oraInventory/orainstRoot.sh/u01/app/19c/grid/root.sh

🔍 执行后可通过 crsctl check cluster 验证集群状态,输出应为 CRS-4537: Cluster Ready Services is online


五、安装Oracle Database Software

在Grid Infrastructure部署成功后,安装数据库软件:

cd /opt/oracle/database./runInstaller -silent -responseFile /opt/oracle/database/db.rsp -ignorePrereqFailure

响应文件示例:

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v21.0.0oracle.install.option=INSTALL_DB_SWONLYORACLE_HOSTNAME=rac1.example.comUNIX_GROUP_NAME=oinstallINVENTORY_LOCATION=/u01/app/oraInventorySELECTED_LANGUAGES=enORACLE_HOME=/u01/app/oracle/product/21c/dbhome_1ORACLE_BASE=/u01/app/oracleoracle.install.db.InstallEdition=EEoracle.install.db.isCustomInstall=falseoracle.install.db.DBA_GROUP=dbaoracle.install.db.OPER_GROUP=operoracle.install.db.config.starterdb.type=GENERAL_PURPOSESECURITY_UPDATES_VIA_MYORACLESUPPORT=falseDECLINE_SECURITY_UPDATES=true

执行 root.sh 脚本后,数据库软件安装完成。


六、创建RAC数据库

使用DBCA(Database Configuration Assistant)图形化或静默方式创建数据库:

dbca -silent -createDatabase \  -templateName General_Purpose.dbc \  -gdbname RACDB \  -sid RACDB \  -responseFile NO_VALUE \  -characterSet AL32UTF8 \  -nationalCharacterSet AL16UTF16 \  -totalMemory 8192 \  -databaseType MULTIPURPOSE \  -nodeinfo rac1,rac2 \  -storageType ASM \  -diskGroupName DATA \  -recoveryGroupName FRA \  -sysPassword YourSysPass123 \  -systemPassword YourSysPass123 \  -emConfiguration NONE

创建成功后,可通过 srvctl status database -d RACDB 查看实例状态,应显示两个节点均处于OPEN状态。


七、验证与监控

部署完成后,执行以下验证命令:

检查项命令
集群状态crsctl check cluster
节点状态olsnodes -n
ASM磁盘组asmcmd lsdg
数据库服务srvctl status database -d RACDB
监听器状态lsnrctl status

✅ 正常情况下,所有服务应为ONLINE,且无FAILEDUNKNOWN状态。


八、运维建议与最佳实践

  • 定期备份OCR与Voting Disk:使用 ocrconfig -exportdd 命令备份至安全位置。
  • 启用自动存储管理(ASM)快照:配合Oracle Recovery Manager(RMAN)实现零停机备份。
  • 监控网络延迟:使用 pingnetstatsar 监控私网延迟,超过5ms需排查交换机或网卡问题。
  • 禁用透明大页(Transparent Huge Pages):在 /etc/default/grub 中添加 transparent_hugepage=never,重启生效。

九、企业级价值与扩展建议

Oracle RAC部署不仅提升数据库可用性,更支撑了数字孪生、实时决策系统与可视化分析平台的底层数据服务。当企业需要将ERP、CRM、IoT数据流统一接入并实现毫秒级响应时,RAC的多节点并发处理能力成为关键支撑。

🚀 若您正在规划企业级数据中台架构,建议在RAC之上部署数据缓存层(如Redis Cluster)与ETL调度引擎,实现数据的实时汇聚与分发。申请试用&https://www.dtstack.com/?src=bbs申请试用&https://www.dtstack.com/?src=bbs申请试用&https://www.dtstack.com/?src=bbs


十、结语

Oracle RAC双节点部署虽涉及多个技术环节,但只要严格遵循网络、存储、权限与安装顺序,即可稳定交付生产环境。其核心价值在于:零停机维护、动态负载均衡、跨节点容灾。对于追求业务连续性的企业,RAC不是可选项,而是必选项。

建议在测试环境完成三次完整部署后,再进入生产环境实施。同时,建立标准化的部署手册与故障恢复预案,是保障系统长期稳定运行的关键。

💡 技术没有捷径,但流程可以优化。从共享存储配置到集群服务验证,每一步都决定着系统的健壮性。现在就开始您的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条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

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