博客 Oracle RAC集群部署全流程实战

Oracle RAC集群部署全流程实战

   数栈君   发表于 2026-03-30 12:24  100  0

Oracle RAC集群部署全流程实战

Oracle Real Application Clusters(RAC)是Oracle公司为实现高可用性、负载均衡与横向扩展能力而设计的企业级数据库集群架构。在数据中台、数字孪生与数字可视化系统中,RAC集群是支撑核心业务连续性、保障海量实时数据写入与查询稳定性的关键基础设施。本文将系统性地阐述Oracle RAC集群的完整部署流程,涵盖硬件准备、操作系统配置、网络规划、存储设置、集群软件安装、数据库创建及后期验证,适用于具备中高级运维能力的企业技术团队。


一、部署前提与环境规划

Oracle RAC部署对底层基础设施有严格要求,任何环节的疏漏都将导致集群无法启动或运行不稳定。

1.1 硬件要求

  • 服务器节点:至少2台x86_64架构服务器,推荐使用相同型号与配置,避免因硬件差异引发资源争用。
  • CPU与内存:每节点建议≥16核CPU、≥64GB内存,高并发场景建议≥32核与128GB以上。
  • 磁盘系统:需配置共享存储,支持ASM(Automatic Storage Management)或第三方集群文件系统(如Veritas)。
  • 网络接口:每节点至少3个网卡:
    • 公网接口(Public IP):用于客户端连接
    • 私网接口(Private IP):用于节点间心跳通信,推荐10Gbps光纤或InfiniBand
    • 专用VIP接口(Virtual IP):用于故障切换时的客户端重定向

1.2 存储架构设计

RAC要求所有节点访问同一套共享存储,推荐方案:

  • ASM + 多路径I/O:Oracle官方推荐,支持条带化与镜像,提升I/O性能与容错能力。
  • 共享磁盘划分
    • OCR(Oracle Cluster Registry):存放集群配置信息,建议≥10GB,配置3个冗余副本。
    • Voting Disk:用于仲裁,防止脑裂,建议≥10GB,至少3个副本。
    • 数据文件与日志文件:存放于ASM DiskGroup中,建议划分为DATA与RECO两个组,分别用于数据与归档日志。

✅ 建议使用企业级SAN或NVMe共享存储,避免使用NAS或本地磁盘模拟共享。


二、操作系统与内核参数配置

Oracle RAC支持Linux(Red Hat、Oracle Linux)、AIX、Solaris等平台,以下以Oracle Linux 8.x为例。

2.1 系统基础配置

# 关闭防火墙与SELinuxsudo systemctl stop firewalld && sudo systemctl disable firewalldsudo setenforce 0sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config# 配置主机名与hosts解析hostnamectl set-hostname racnode1echo "192.168.1.10 racnode1 racnode1-vip" >> /etc/hostsecho "192.168.1.11 racnode2 racnode2-vip" >> /etc/hostsecho "192.168.2.10 racnode1-priv" >> /etc/hostsecho "192.168.2.11 racnode2-priv" >> /etc/hosts

2.2 用户与组创建

groupadd -g 501 oinstallgroupadd -g 502 dbagroupadd -g 503 operuseradd -u 501 -g oinstall -G dba,oper oracleecho "oracle:Oracle123" | chpasswd

2.3 内核参数优化

编辑 /etc/sysctl.conf

fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 17179869184kernel.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

应用配置:

sudo sysctl -p

2.4 资源限制配置

编辑 /etc/security/limits.conf

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

三、网络与共享存储配置

3.1 网络绑定与多路径

为保障私网通信稳定性,建议配置bonding:

# 创建bond0(私网)nmcli con add type bond ifname bond0 mode active-backupnmcli con modify bond0 bond.options "mode=active-backup,miimon=100"nmcli con add type ethernet slave-type bond ifname eth1 master bond0nmcli con add type ethernet slave-type bond ifname eth2 master bond0nmcli con up bond0

3.2 共享存储识别

使用/usr/sbin/oracleasm工具扫描并标记磁盘:

# 初始化ASMsudo /usr/sbin/oracleasm init# 扫描磁盘sudo /usr/sbin/oracleasm scandisks# 标记磁盘sudo /usr/sbin/oracleasm createdisk OCR1 /dev/sdb1sudo /usr/sbin/oracleasm createdisk VOTE1 /dev/sdc1sudo /usr/sbin/oracleasm createdisk DATA1 /dev/sdd1sudo /usr/sbin/oracleasm createdisk RECO1 /dev/sde1# 验证sudo /usr/sbin/oracleasm listdisks

⚠️ 所有节点必须完成相同磁盘标记,确保ASM能跨节点识别。


四、安装Oracle Grid Infrastructure

Grid Infrastructure是RAC的集群管理核心,包含Clusterware与ASM。

4.1 下载与解压

从Oracle官网下载对应版本的Grid Infrastructure(如19c):

  • linuxx64_193000_grid_home.zip
  • linuxx64_193000_database_home.zip

解压至 /opt/oracle/grid

unzip linuxx64_193000_grid_home.zip -d /opt/oracle/gridcd /opt/oracle/grid

4.2 静默安装(推荐)

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

oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v19.0.0oracle.install.option=CRS_CONFIGORACLE_HOSTNAME=racnode1INVENTORY_LOCATION=/u01/app/oraInventorySELECTED_LANGUAGES=enORACLE_HOME=/u01/app/19.0.0/gridORACLE_BASE=/u01/app/gridoracle.install.asm.SYSASMPassword=Oracle123oracle.install.asm.diskGroup.name=DATAoracle.install.asm.diskGroup.redundancy=EXTERNALoracle.install.asm.diskGroup.disks=/dev/oracleasm/disks/DATA1oracle.install.asm.diskGroup.diskDiscoveryString=/dev/oracleasm/disks/*oracle.install.crs.config.gpnp.scanName=rac-scanoracle.install.crs.config.gpnp.scanPort=1521oracle.install.crs.config.clusterName=rac-clusteroracle.install.crs.config.nodeList=racnode1,racnode2oracle.install.crs.config.privateInterface=eth1:192.168.2.0

执行安装:

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

安装完成后,以root身份在所有节点执行脚本:

/u01/app/oraInventory/orainstRoot.sh/u01/app/19.0.0/grid/root.sh

五、安装Oracle Database软件

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

5.1 静默安装数据库

创建 db_install.rsp

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0oracle.install.option=INSTALL_DB_SWONLYORACLE_HOSTNAME=racnode1UNIX_GROUP_NAME=oinstallINVENTORY_LOCATION=/u01/app/oraInventorySELECTED_LANGUAGES=enORACLE_HOME=/u01/app/oracle/product/19.0.0/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_PURPOSE

执行安装:

./runInstaller -silent -responseFile /opt/oracle/db_install.rsp -ignorePrereqFailure

执行root脚本:

/u01/app/oracle/product/19.0.0/dbhome_1/root.sh

六、创建RAC数据库

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

6.1 静默创建RAC数据库

dbca -silent \  -createDatabase \  -templateName General_Purpose.dbc \  -gdbname orcl \  -sid orcl \  -responseFile NO_VALUE \  -characterSet AL32UTF8 \  -nationalCharacterSet AL16UTF16 \  -totalMemory 8192 \  -databaseType MULTIPURPOSE \  -automaticMemoryManagement true \  -storageType ASM \  -diskGroupName DATA \  -recoveryGroupName RECO \  -nodeinfo racnode1,racnode2 \  -sampleSchema true \  -sysPassword Oracle123 \  -systemPassword Oracle123

6.2 验证集群状态

# 检查集群服务crsctl check clustercrsctl stat res -t# 检查数据库实例srvctl status database -d orcl

✅ 正常输出应显示两个实例均处于OPEN状态。


七、性能调优与高可用验证

7.1 启用监听器服务

srvctl add listener -l LISTENER -p 1521srvctl start listener -l LISTENER

7.2 测试负载均衡

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

sqlplus sys/Oracle123@rac-scan:1521/orcl as sysdba

执行:

select instance_name, host_name from v$instance;

多次执行,应看到实例在racnode1与racnode2之间轮换,证明负载均衡生效。

7.3 模拟节点故障

在racnode1上执行:

shutdown -h now

观察racnode2是否自动接管服务,客户端连接是否无中断。


八、监控与运维建议

  • 使用Oracle Enterprise Manager Cloud Control监控集群健康状态。
  • 定期备份OCR与Voting Disk:ocrconfig -export /backup/ocr.bak
  • 启用自动诊断仓库(ADR)收集日志:adrci
  • 设置ASM自动扩展策略,避免空间耗尽。

九、常见问题与解决方案

问题原因解决方案
CRS-4535: Cannot communicate with Cluster Ready Services时间不同步使用NTP同步所有节点时间
ORA-15042: ASM disk is missing磁盘未被识别重新扫描并标记ASM磁盘
TNS-12541: TNS:no listener监听器未启动srvctl start listener
VIP无法漂移网络子网配置错误检查public/private网段是否隔离

十、总结与企业级建议

Oracle RAC部署是一项系统工程,涉及硬件、网络、存储、操作系统、集群软件、数据库等多层协同。在数据中台架构中,RAC为实时分析、数字孪生仿真、可视化大屏等高并发场景提供了零宕机、高吞吐、强一致的底层支撑。

部署前务必进行完整压力测试与故障演练,避免上线后出现不可控风险。

如需快速构建企业级RAC环境,降低运维复杂度,可考虑采用云原生数据库托管方案。申请试用&https://www.dtstack.com/?src=bbs

✅ 企业用户建议采用自动化部署工具(如Ansible + Terraform)标准化RAC部署流程,提升效率与一致性。申请试用&https://www.dtstack.com/?src=bbs

对于希望实现数据库与数字可视化平台无缝对接的团队,RAC集群的稳定性和扩展性是构建数据驱动决策体系的基石。申请试用&https://www.dtstack.com/?src=bbs


提示:Oracle RAC并非万能方案。若业务对延迟敏感但并发量不高,单实例+Data Guard可能是更经济的选择。请根据实际业务SLA与预算综合评估。

申请试用&下载资料
点击袋鼠云官网申请免费试用: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条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

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