Oracle RAC集群部署实战:双节点配置与共享存储优化
在企业级数据中台架构中,高可用性与横向扩展能力是支撑数字孪生、实时分析与可视化决策的核心基础。Oracle Real Application Clusters(RAC)作为业界领先的数据库集群解决方案,通过多节点共享同一数据库实例,实现了故障自动切换、负载均衡与资源弹性伸缩。本文将深入解析Oracle RAC在双节点环境下的完整部署流程,并重点优化共享存储配置,为企业构建稳定、高性能、可扩展的数据库平台提供可落地的技术指南。
在开始部署前,必须确保硬件与软件环境满足Oracle官方认证要求。双节点RAC架构至少需要:
✅ 建议在部署前使用Oracle Pre-Install RPM自动配置系统参数:
yum install oracle-database-preinstall-19c
| 节点 | 公共IP | 私有IP | 虚拟IP(VIP) | 扫描IP(SCAN) |
|---|---|---|---|---|
| node1 | 192.168.1.10 | 10.10.10.1 | 192.168.1.100 | 192.168.1.110 |
| node2 | 192.168.1.11 | 10.10.10.2 | 192.168.1.101 | 192.168.1.110 |
📌 SCAN IP是客户端连接RAC的统一入口,由DNS或GNS解析为多个VIP,实现负载均衡。
在两个节点的 /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等)。
创建统一的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共享存储是RAC的核心,其性能直接影响集群稳定性与吞吐量。
| LUN大小 | 用途 | 文件系统 |
|---|---|---|
| 50GB | OCR(Oracle Cluster Registry) | ASM |
| 50GB | Voting Disk | ASM |
| 100GB | DATA DiskGroup(数据文件) | ASM |
| 50GB | FRA(Fast Recovery Area) | ASM |
⚠️ OCR与Voting Disk必须部署在冗余存储上,建议使用外部冗余(External Redundancy)或镜像存储。
fdisk 或 parted 创建分区(如 /dev/sdb1, /dev/sdc1 等)。oracleasm 工具包并初始化:oracleasm configure -i# 设置为自动启动,用户为oracleoracleasm initoracleasm createdisk DATA1 /dev/sdb1oracleasm createdisk FRA1 /dev/sdc1oracleasm createdisk OCR1 /dev/sdd1oracleasm createdisk VOTE1 /dev/sde1oracleasm scandisksoracleasm listdisks✅ 推荐使用ASM的Normal Redundancy(双镜像)模式,确保单磁盘故障不影响服务。
ALTER DISKGROUP data SET ATTRIBUTE 'fast_start_mttr_target'='300';linuxx64_193000_grid_home.zip。cd grid./runInstaller/u01/app/19.0.0/grid/root.shcrsctl check cluster 验证集群状态,确保所有资源为ONLINE。linuxx64_193000_db_home.zip。runInstaller,选择 “Install database software only”。/u01/app/oracle/product/19.0.0/dbhome_1)。root.sh 完成安装。使用DBCA(Database Configuration Assistant):
RACDB)、字符集(AL32UTF8)RACDB_SVC)✅ 创建完成后,使用
srvctl status database -d RACDB检查实例状态,应显示两个实例均运行。
在客户端连接串中使用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) 实现连接自动切换,客户端无需重启。
crsctl stat res -t 查看所有集群资源状态。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冲突 |
🔍 推荐使用
ocrcheck、crsctl check crs、cluvfy stage -post crsinst等工具进行健康检查。
🚀 如需快速验证RAC部署方案,或希望获得专业团队的定制化架构设计支持,申请试用&https://www.dtstack.com/?src=bbs 可获取企业级数据库集群部署评估服务。
ASM Rebalance 自动均衡。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
申请试用&下载资料