Oracle RAC集群部署实战:双节点配置与共享存储设置
在现代企业数据架构中,高可用性与负载均衡是保障核心业务连续性的基石。Oracle Real Application Clusters(RAC)作为Oracle数据库的集群解决方案,允许多个节点同时访问同一数据库实例,实现故障自动切换、横向扩展与资源动态分配。对于构建数据中台、支撑数字孪生系统或实现高并发可视化分析平台的企业而言,部署一套稳定可靠的Oracle RAC集群,是提升系统韧性与性能的关键一步。
本文将聚焦于双节点Oracle RAC部署实战,从硬件准备、共享存储配置、操作系统优化到集群软件安装,提供一套可落地、可验证的完整操作指南。所有步骤均基于Oracle官方推荐架构,适用于生产环境部署前的验证与实施。
Oracle RAC的核心在于“共享存储”与“集群通信”。在双节点架构中,必须满足以下硬性条件:
✅ 关键提示:RAC对网络延迟极为敏感。私有网络延迟应控制在1ms以内,否则将触发节点驱逐(Node Eviction),导致服务中断。
共享存储是RAC的“心脏”。在双节点环境中,需为以下三类文件分配独立的存储卷:
| 存储类型 | 用途 | 推荐大小 | 文件系统/管理方式 |
|---|---|---|---|
| OCR(Oracle Cluster Registry) | 存储集群配置信息 | 5GB | ASM |
| Voting Disk | 判断节点存活状态 | 5GB | ASM |
| 数据文件与重做日志 | 用户数据库核心数据 | ≥100GB | ASM |
初始化共享磁盘使用lsblk或fdisk -l确认共享磁盘是否被两个节点识别。假设识别出/dev/sdb、/dev/sdc、/dev/sdd三个LUN。
配置多路径(Multipath)为避免单路径故障,启用多路径软件(如multipathd):
yum install -y device-mapper-multipathsystemctl enable --now multipathdmultipath -ll编辑/etc/multipath.conf,添加如下配置以确保设备命名一致:
defaults { user_friendly_names yes}创建ASM磁盘组安装Oracle Grid Infrastructure后,使用asmca图形化工具或命令行创建ASM磁盘组:
asmca -silent -createDiskGroup -diskGroupName DATA -diskList '/dev/mapper/data_disk1' -redundancy EXTERNALasmca -silent -createDiskGroup -diskGroupName FRA -diskList '/dev/mapper/fra_disk1' -redundancy EXTERNAL⚠️ 注意:OCR与Voting Disk默认由Grid Infrastructure自动创建在
+DATA磁盘组中,无需手动分配。
验证共享访问在两个节点上分别执行:
dd if=/dev/zero of=/dev/mapper/data_disk1 bs=1M count=100若两节点均可写入且无报错,则共享存储配置成功。
编辑/etc/sysctl.conf,添加以下关键参数:
fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 1073741824kernel.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 -p 生效。
编辑/etc/security/limits.conf:
oracle soft nofile 1024oracle hard nofile 65536oracle soft nproc 16384oracle hard nproc 16384oracle soft stack 10240oracle hard stack 32768grid soft nofile 1024grid hard nofile 65536RAC对时间一致性要求极高,时间偏差超过100ms将触发集群重启。
yum install chrony -ysystemctl enable --now chronydchronyc sources -v确保两个节点时间差小于50ms。
下载软件包从Oracle官网下载:
linuxx64_193000_grid_home.zip(Grid Infrastructure 19c)linuxx64_193000_db_home.zip(Database 19c)解压并运行安装程序
unzip linuxx64_193000_grid_home.zip -d /u01/app/cd /u01/app/grid./runInstaller安装配置要点:
root.sh脚本(在两个节点分别执行)验证集群状态
crsctl check clustercrsctl stat res -t输出应显示所有资源为ONLINE,包括ora.cluster_interconnect.haip、ora.cssd、ora.diskmon。
解压数据库安装包
unzip linuxx64_193000_db_home.zip -d /u01/app/cd /u01/app/dbhome_1./runInstaller安装选项:
创建数据库(DBCA)
dbca -silent -createDatabase \ -templateName General_Purpose.dbc \ -gdbname RACDB \ -sid RACDB \ -responseFile NO_VALUE \ -characterSet AL32UTF8 \ -nationalCharacterSet AL16UTF16 \ -totalMemory 8192 \ -databaseType MULTIPURPOSE \ -nodeinfo node1,node2 \ -storageType ASM \ -diskGroupName DATA \ -recoveryAreaDestination FRA \ -emConfiguration NONE安装完成后,使用srvctl status database -d RACDB验证数据库是否在双节点运行。
部署完成后,必须进行压力测试与故障模拟:
sqlplus并发连接多个会话,执行复杂查询,观察CPU与I/O负载分布。ifdown eth1),观察是否触发VIP漂移与节点接管。📊 建议使用Oracle Enterprise Manager(OEM)或
awrreport生成性能报告,分析缓存融合效率与等待事件(如gc cr block busy)。
ocrconfig -export导出配置。Oracle RAC部署虽复杂,但其带来的高可用性、弹性扩展与零停机维护能力,是支撑数字孪生仿真、实时数据中台与大规模可视化分析系统的理想选择。在数据驱动决策的时代,任何一次服务中断都可能带来不可估量的业务损失。通过本文所述的双节点配置流程,企业可构建出符合生产标准的Oracle RAC集群,为关键业务系统提供坚实底座。
如需进一步降低部署复杂度,提升自动化水平,可考虑借助专业云原生数据库管理平台。申请试用&https://www.dtstack.com/?src=bbs申请试用&https://www.dtstack.com/?src=bbs申请试用&https://www.dtstack.com/?src=bbs
申请试用&下载资料企业级RAC部署不是一次性项目,而是持续优化的工程。建议在正式上线前,完成至少三轮全链路压力测试与灾难恢复演练。