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

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

   数栈君   发表于 2026-03-29 15:23  63  0

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

在企业级数据中台架构中,高可用性与横向扩展能力是支撑数字孪生、实时分析与可视化决策的核心基础。Oracle Real Application Clusters(RAC)作为业界领先的数据库集群解决方案,通过多节点共享同一数据库实例,实现了故障自动切换、负载均衡与资源弹性伸缩。本文将深入解析Oracle RAC在双节点环境下的完整部署流程,并重点优化共享存储配置,为企业构建稳定、高性能、可扩展的数据库平台提供可落地的技术指南。


一、Oracle RAC部署前提条件

在开始部署前,必须确保硬件与软件环境满足Oracle官方认证要求。双节点RAC架构至少需要:

  • 两台物理服务器或虚拟机:建议使用相同型号的服务器,确保CPU、内存、网络接口配置一致,避免性能瓶颈。
  • 共享存储系统:必须支持集群文件系统(如ASM、OCFS2)或NFS(仅限特定场景),推荐使用SAN或iSCSI存储,容量建议不低于500GB用于数据文件、控制文件与重做日志。
  • 网络架构:至少双网卡配置,一个用于公共网络(Public Network),一个用于私有心跳网络(Private Interconnect),建议使用10GbE或更高带宽,降低节点间通信延迟。
  • 操作系统:推荐Oracle Linux 8.x 或 Red Hat Enterprise Linux 8.x,内核版本需为4.18以上,且已安装Oracle Clusterware与Database的依赖包(如pdksh、libaio、gcc等)。
  • 时间同步:所有节点必须启用NTP或Chrony服务,时间偏差不得超过1秒,否则集群心跳检测将失败。

✅ 建议在部署前使用Oracle Pre-Install RPM自动配置系统参数:yum install oracle-database-preinstall-19c


二、网络与主机配置详解

1. 静态IP规划(示例)

节点公共IP私有IP虚拟IP(VIP)扫描IP(SCAN)
node1192.168.1.1010.10.10.1192.168.1.100192.168.1.110
node2192.168.1.1110.10.10.2192.168.1.101192.168.1.110

📌 SCAN IP是客户端连接RAC的统一入口,由DNS或GNS解析为多个VIP,实现负载均衡。

2. 主机名与hosts文件配置

在两个节点的 /etc/hosts 中添加如下条目:

192.168.1.10    node1.example.com node1192.168.1.11    node2.example.com node210.10.10.1      node1-priv.example.com node1-priv10.10.10.2      node2-priv.example.com node2-priv192.168.1.100   node1-vip.example.com node1-vip192.168.1.101   node2-vip.example.com node2-vip192.168.1.110   rac-scan.example.com rac-scan

确保所有节点能通过主机名互相ping通,禁用防火墙或开放必要端口(如1521、5560、5561、42424等)。

3. 用户与权限配置

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

groupadd oinstallgroupadd dbagroupadd operuseradd -g oinstall -G dba,oper oracleecho "oracle:YourSecurePass123" | chpasswd

设置用户资源限制(/etc/security/limits.conf):

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

三、共享存储配置与ASM优化

共享存储是RAC的核心,其性能直接影响集群稳定性与吞吐量。

1. 存储划分建议(以LUN为例)

LUN大小用途文件系统
50GBOCR(Oracle Cluster Registry)ASM
50GBVoting DiskASM
100GBDATA DiskGroup(数据文件)ASM
50GBFRA(Fast Recovery Area)ASM

⚠️ OCR与Voting Disk必须部署在冗余存储上,建议使用外部冗余(External Redundancy)或镜像存储。

2. ASM配置步骤

  1. 使用 fdiskparted 创建分区(如 /dev/sdb1, /dev/sdc1 等)。
  2. 安装 oracleasm 工具包并初始化:
oracleasm configure -i# 设置为自动启动,用户为oracleoracleasm init
  1. 创建ASM磁盘:
oracleasm createdisk DATA1 /dev/sdb1oracleasm createdisk FRA1 /dev/sdc1oracleasm createdisk OCR1 /dev/sdd1oracleasm createdisk VOTE1 /dev/sde1
  1. 在另一节点扫描磁盘:
oracleasm scandisksoracleasm listdisks

✅ 推荐使用ASM的Normal Redundancy(双镜像)模式,确保单磁盘故障不影响服务。

3. 性能优化建议

  • 使用 ASM Striping(条带化)提升I/O并发能力,尤其适用于高并发OLTP场景。
  • Redo LogArchive Log 分别放置在不同物理磁盘组,避免争用。
  • 启用 ASM Fast Mirror Resync 加速磁盘恢复:ALTER DISKGROUP data SET ATTRIBUTE 'fast_start_mttr_target'='300';

四、Clusterware与Database安装流程

1. 安装Oracle Grid Infrastructure(GI)

  1. 上传并解压 linuxx64_193000_grid_home.zip
  2. 执行安装程序:
cd grid./runInstaller
  1. 在图形界面中选择 “Install and Configure Oracle Grid Infrastructure for a Cluster”
  2. 添加第二个节点(node2),输入SSH密钥对(需提前配置互信)。
  3. 指定ASM磁盘组名称(如DATA、FRA),设置密码(建议使用复杂密码)。
  4. 运行root脚本(在两个节点分别执行):
/u01/app/19.0.0/grid/root.sh
  1. 使用 crsctl check cluster 验证集群状态,确保所有资源为ONLINE。

2. 安装Oracle Database软件

  1. 解压 linuxx64_193000_db_home.zip
  2. 执行 runInstaller,选择 “Install database software only”
  3. 在两个节点上分别安装,确保软件路径一致(如 /u01/app/oracle/product/19.0.0/dbhome_1)。
  4. 执行 root.sh 完成安装。

3. 创建RAC数据库

使用DBCA(Database Configuration Assistant):

  • 选择 “Create a Database” → “Oracle RAC Database”
  • 选择所有节点(node1, node2)
  • 设置数据库名(如 RACDB)、字符集(AL32UTF8)
  • 存储选择 ASM,指定DATA与FRA磁盘组
  • 启用 Automatic Memory Management,内存建议为物理内存的60%
  • 配置监听器与服务名(如 RACDB_SVC

✅ 创建完成后,使用 srvctl status database -d RACDB 检查实例状态,应显示两个实例均运行。


五、高可用性与监控策略

1. 服务注册与负载均衡

在客户端连接串中使用SCAN地址,实现自动负载均衡:

RACDB =  (DESCRIPTION =    (ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan.example.com)(PORT = 1521))    (CONNECT_DATA =      (SERVER = DEDICATED)      (SERVICE_NAME = RACDB_SVC)    )  )

Oracle RAC通过 TAF(Transparent Application Failover) 实现连接自动切换,客户端无需重启。

2. 监控与告警

  • 使用 crsctl stat res -t 查看所有集群资源状态。
  • 配置Enterprise Manager Cloud Control或第三方工具(如Zabbix)监控:
    • ASM磁盘组使用率
    • 节点心跳延迟
    • 数据库实例CPU与I/O等待
  • 设置告警阈值:如Voting Disk不可用、OCR损坏、节点离线等。

3. 备份与恢复

  • 使用RMAN备份至ASM FRA区域:
    rman target /RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '+FRA/%U';RMAN> BACKUP DATABASE PLUS ARCHIVELOG;
  • 定期测试恢复流程,确保在主节点故障时能快速切换。

六、常见问题与排错技巧

问题原因解决方案
CRS-4535: Cannot communicate with clusterware时间不同步同步NTP,重启crs服务
ASM磁盘无法识别权限或设备未扫描执行 oracleasm scandisks,检查 /dev/oracleasm/disks/
数据库实例无法启动控制文件路径错误使用 ALTER DATABASE MOUNT 指定正确ASM路径
心跳网络丢包网络交换机QoS未配置使用专用交换机,关闭Jumbo Frame冲突

🔍 推荐使用 ocrcheckcrsctl check crscluvfy stage -post crsinst 等工具进行健康检查。


七、企业级部署建议

  • 安全加固:禁用root远程登录,使用SSH密钥认证,定期轮换密码。
  • 自动化运维:结合Ansible或Shell脚本实现批量部署与配置同步。
  • 灾备联动:将RAC集群与Data Guard结合,实现同城双活+异地容灾。
  • 成本控制:对于中小型企业,可考虑使用云服务商提供的RAC托管服务,降低硬件投入。

🚀 如需快速验证RAC部署方案,或希望获得专业团队的定制化架构设计支持,申请试用&https://www.dtstack.com/?src=bbs 可获取企业级数据库集群部署评估服务。


八、性能调优进阶建议

  • 内存分配:SGA + PGA 不应超过物理内存的70%,避免交换。
  • I/O优化:使用SSD存储ASM磁盘组,开启 ASM Rebalance 自动均衡。
  • SQL优化:启用Real Application Testing(RAT)分析生产负载,识别慢SQL。
  • 并行处理:对大数据量查询启用 PARALLEL_DEGREE_POLICY=AUTO

结语

Oracle RAC集群部署不是简单的软件安装,而是一整套涉及网络、存储、操作系统、集群管理与应用架构的系统工程。双节点架构虽成本较低,但足以支撑大多数中型企业核心业务系统的高可用需求。通过合理规划共享存储、优化ASM配置、实施自动化监控,企业可构建出具备金融级稳定性的数据库平台。

在数字化转型加速的今天,数据库的稳定性直接决定业务连续性。无论是构建数字孪生模型,还是支撑实时可视化分析,一个健壮的RAC集群都是底层数据引擎的基石。

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

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

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