Oracle RAC集群部署实战:双节点配置与共享存储设置
在现代企业数据架构中,高可用性与负载均衡是保障核心业务连续性的基石。Oracle Real Application Clusters(RAC)作为Oracle数据库的集群解决方案,允许多个节点共享同一数据库实例,实现故障自动切换与资源动态分配。对于构建数据中台、支撑数字孪生系统或实现高并发数字可视化平台的企业而言,部署一套稳定可靠的Oracle RAC集群,是提升系统韧性与扩展能力的关键一步。
本文将深入解析Oracle RAC在双节点环境下的完整部署流程,涵盖操作系统配置、共享存储设置、网络规划、集群软件安装与数据库创建等核心环节,确保部署过程可复现、可验证、可运维。
在开始部署前,必须确保硬件与软件环境满足Oracle官方推荐的最低标准:
✅ 关键提示:所有节点必须使用相同的操作系统版本、补丁级别和内核参数,避免因环境差异导致集群启动失败。
Oracle RAC依赖两个独立的网络通道:
| 网络类型 | 用途 | 推荐IP规划 | 网络设备 |
|---|---|---|---|
| 公共网络(Public) | 客户端连接、应用访问 | 192.168.1.101 / 192.168.1.102 | eth0 |
| 私有网络(Private) | 节点间心跳、缓存融合(Cache Fusion) | 10.10.10.101 / 10.10.10.102 | eth1 |
配置要点:
192.168.1.101 racnode1.example.com racnode1192.168.1.102 racnode2.example.com racnode210.10.10.101 racnode1-priv.example.com racnode1-priv10.10.10.102 racnode2-priv.example.com racnode2-priv📌 重要:禁用NetworkManager,使用传统的network服务管理网络接口,避免动态IP变更破坏集群稳定性。
Oracle RAC的核心是共享存储。所有节点必须能同时访问同一套数据文件、控制文件与重做日志。
| 类型 | 适用场景 | 推荐度 |
|---|---|---|
| SAN(光纤通道) | 高性能、企业级 | ⭐⭐⭐⭐⭐ |
| iSCSI | 成本敏感、中等负载 | ⭐⭐⭐⭐ |
| NFS(仅限Oracle 19c+) | 云环境、简化部署 | ⭐⭐⭐ |
⚠️ 不建议使用本地磁盘或非共享存储,否则无法实现真正的高可用。
为提升存储冗余与吞吐,需配置多路径软件(如device-mapper-multipath):
# 安装多路径工具yum install -y device-mapper-multipath# 生成配置文件mpathconf --enable --with_multipathd y# 扫描存储设备multipath -ll# 编辑 /etc/multipath.conf,定义别名与策略defaults { user_friendly_names yes path_grouping_policy multibus}配置完成后,重启服务并验证:
systemctl restart multipathdmultipath -ll输出应显示每个LUN有多个路径,例如:
mpatha (3600601607d320a001f3e3a1e3a1e3a1e) dm-0 DELL,MD3200size=100G features='1 queue_if_no_path' hwhandler='1 emc' wp=rw|-+- policy='round-robin 0' prio=1 status=active| `- 3:0:0:0 sda 8:0 active ready running`-+- policy='round-robin 0' prio=1 status=enabled `- 4:0:0:0 sdb 8:16 active ready running使用Oracle ASM管理共享存储,避免文件系统锁竞争:
# 使用oracleasm工具创建ASM磁盘oracleasm createdisk DATA /dev/mapper/mpatha1oracleasm createdisk FRA /dev/mapper/mpatha2# 验证磁盘oracleasm listdisks✅ 建议划分两个磁盘组:
DATA(存放数据文件)与FRA(快速恢复区),确保备份与日志分离。
fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 10737418240kernel.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执行生效:
sysctl -poracle soft nofile 1024oracle hard nofile 65536oracle soft nproc 16384oracle hard nproc 16384oracle soft stack 10240oracle hard stack 32768oracle soft memlock 3145728oracle hard memlock 3145728groupadd -g 501 oinstallgroupadd -g 502 dbagroupadd -g 503 operuseradd -u 501 -g oinstall -G dba,oper oracleecho "oracle:YourSecurePass123!" | chpasswdmkdir -p /u01/app/oraclechown -R oracle:oinstall /u01/appchmod -R 775 /u01/appGrid Infrastructure是Oracle RAC的集群管理核心,包含OCR、Voting Disk与Clusterware。
从Oracle官网下载:
linuxx64_193000_grid_home.zip(Grid Infrastructure 19c)linuxx64_193000_db_home.zip(Database 19c)解压至/u01/app/19.0.0/grid(GI)与/u01/app/oracle/product/19.0.0/dbhome_1(DB)
使用X11转发或VNC连接,运行:
cd /u01/app/19.0.0/grid./runInstaller安装向导步骤:
10.10.10.0/24DATA、FRA📌 安装完成后,使用
crsctl check cluster验证集群状态,应返回CRS-4537: Cluster Ready Services is online
在任一节点运行:
cd /u01/app/oracle/product/19.0.0/dbhome_1./runInstaller选择“Install database software only”,并勾选两个节点。
dbca -silent -createDatabase \ -templateName General_Purpose.dbc \ -gdbname RACDB \ -sid RACDB \ -responseFile NO_VALUE \ -characterSet AL32UTF8 \ -nationalCharacterSet AL16UTF16 \ -registerWithDirService false \ -listeners LISTENER \ -nodeinfo racnode1,racnode2 \ -storageType ASM \ -diskGroupName DATA \ -recoveryGroupName FRA \ -databaseType MULTIPURPOSE \ -memoryPercentage 40 \ -emConfiguration NONE✅ 创建成功后,可通过
srvctl status database -d RACDB查看实例状态,应显示两个实例均运行。
crsctl stat res -t输出应包含:
在racnode1上强制关闭集群:
crsctl stop cluster -all观察racnode2是否自动接管服务,客户端连接是否无中断。
连接数据库并查询:
SELECT instance_name, host_name FROM v$instance;多次执行,应看到两个实例交替返回,证明TNS负载均衡生效。
ocrconfig -export /backup/ocr_backup.dmpALTER DISKGROUP DATA REBALANCE POWER 11;oifcfg getif + ping -c 10 racnode1-priv$GRID_HOME/log/ 与 $ORACLE_BASE/diag/在构建数据中台时,单一数据库节点已成为性能瓶颈与单点风险。Oracle RAC通过共享存储与多实例并发访问,实现了零停机维护、动态负载均衡、横向扩展能力,是支撑数字孪生仿真、实时可视化分析、金融交易系统等高要求场景的黄金标准。
部署Oracle RAC虽复杂,但其带来的业务连续性价值远超投入成本。建议企业结合自身IT架构,优先采用自动化部署工具(如Ansible)提升效率,并建立标准化运维手册。
🔗 申请试用&https://www.dtstack.com/?src=bbs🔗 申请试用&https://www.dtstack.com/?src=bbs🔗 申请试用&https://www.dtstack.com/?src=bbs
如需进一步获取Oracle RAC部署模板、Shell自动化脚本或集群监控告警规则,欢迎通过官方渠道获取专业支持。
申请试用&下载资料