Oracle RAC集群部署实战:双节点配置与共享存储设置
在企业级数据中台架构中,高可用性与高性能是核心诉求。Oracle Real Application Clusters(RAC)作为Oracle官方提供的集群解决方案,允许多个节点共享同一数据库实例,实现负载均衡、故障自动切换与持续服务,是构建关键业务系统(如金融交易、供应链管理、实时分析平台)的首选架构。本文将深入解析Oracle RAC双节点部署的完整流程,重点聚焦共享存储配置、网络规划、集群软件安装与验证,帮助技术团队高效完成生产级部署。
在开始部署前,必须确保硬件与软件环境满足Oracle官方推荐标准。RAC对底层基础设施有严格要求,任何配置偏差都可能导致集群启动失败或数据不一致。
yum install -y binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel make sysstat libxcb libXrender libXtstsystemctl stop firewalld && systemctl disable firewalldsetenforce 0sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config创建专用用户组与用户:
groupadd oinstallgroupadd dbagroupadd operuseradd -g oinstall -G dba,oper oraclepasswd oracle为oracle用户设置资源限制(/etc/security/limits.conf):
oracle soft nofile 1024oracle hard nofile 65536oracle soft nproc 16384oracle hard nproc 16384oracle soft stack 10240oracle hard stack 32768共享存储是RAC架构的基石。若共享存储配置错误,将导致节点间数据冲突、ASM磁盘组无法识别,甚至数据库崩溃。
在两个节点上执行以下命令,确认共享磁盘是否可见:
lsblk# 或fdisk -l典型输出应包含如 /dev/sdb, /dev/sdc, /dev/sdd 等共享磁盘。
使用 multipath 工具统一设备名(推荐):
yum install -y device-mapper-multipathsystemctl enable multipathd --nowmultipath -ll编辑 /etc/multipath.conf,添加别名规则:
defaults { user_friendly_names yes}devices { device { vendor "PURE" product "FlashArray" path_grouping_policy multibus path_checker directio }}重启服务并生成设备映射:
systemctl restart multipathdmultipath -v2使用 oracleasm 工具创建ASM磁盘(适用于Oracle Linux):
oracleasm createdisk DATA1 /dev/mapper/mpathboracleasm createdisk FRA1 /dev/mapper/mpathcoracleasm listdisks确保两个节点均能识别这些磁盘:
oracleasm scandisksoracleasm listdisks✅ 关键提示:ASM磁盘必须由两个节点以相同名称识别,否则集群安装将失败。
在节点1写入测试文件:
dd if=/dev/zero of=/dev/oracleasm/disks/DATA1 bs=1M count=100在节点2立即读取:
dd if=/dev/oracleasm/disks/DATA1 of=/dev/null bs=1M count=100若无报错,说明共享存储配置成功。
Oracle Clusterware是RAC的底层集群管理引擎,负责节点通信、资源管理与故障检测。
下载Oracle 19c或21c Grid Infrastructure安装包(需与数据库版本匹配),解压后运行:
cd /opt/oracle/grid./runInstaller安装向导中选择:
AsmPass2024!)⚠️ 注意:安装过程中,脚本会自动调用
root.sh,需在两个节点分别以root身份执行。必须按提示顺序执行,先主节点,后从节点。
安装完成后,执行:
crsctl check clustercrsctl stat res -t预期输出应显示所有资源为 ONLINE,包括:
ora.cluster_interconnect.haipora.cssdora.diskmonora.evmd若出现 OFFLINE,检查网络延迟、防火墙、共享磁盘权限或时间同步问题。
在Clusterware正常运行后,方可安装Oracle Database软件并创建RAC数据库。
以oracle用户运行:
cd /opt/oracle/database./runInstaller选择:
安装完成后,以root身份在两个节点执行:
/u01/app/oraInventory/orainstRoot.sh/u01/app/oracle/product/19c/dbhome_1/root.shdbca配置步骤:
racdb.example.com)创建完成后,使用 srvctl status database -d racdb 验证实例状态。
echo 0 > /proc/sys/net/ipv4/tcp_timestampsecho 1 > /proc/sys/net/ipv4/tcp_low_latencyRAC对时间一致性要求极高,必须使用NTP或chrony同步:
timedatectl set-ntp truechronyc sources -v确保两个节点时间差不超过1秒。
部署后建议配置:
crsctl query css votedisk 查看投票磁盘状态ora.cssd 或 ora.evmd 状态变为 OFFLINE 时触发邮件通知| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
crsctl stat res -t 显示OFFLINE | 时间不同步 | 使用 chronyc sources 校准时间 |
| ASM磁盘无法识别 | 权限错误或multipath未配置 | 检查 /dev/oracleasm/disks/ 所有权,执行 oracleasm scandisks |
| VIP无法漂移 | DNS解析失败 | 确保 /etc/hosts 包含所有节点VIP映射 |
| 数据库无法启动 | 控制文件路径错误 | 使用 asmcmd 检查控制文件是否在ASM中 |
Oracle RAC部署虽复杂,但其带来的业务连续性价值远超成本。在数字孪生系统中,RAC可支撑多源实时数据写入;在可视化平台中,可保障高并发查询不中断。对于需要7×24小时运行的中台系统,RAC是唯一经过验证的高可用架构。
为提升运维效率,建议:
如需快速验证RAC架构在您业务场景中的可行性,申请试用&https://www.dtstack.com/?src=bbs 获取专业部署评估服务。若您正在规划下一代数据平台架构,申请试用&https://www.dtstack.com/?src=bbs 可获得Oracle RAC与云原生数据库的混合部署方案。为确保系统稳定性与扩展性,申请试用&https://www.dtstack.com/?src=bbs 获取定制化集群性能调优建议。
Oracle RAC部署不是简单的软件安装,而是一次对基础设施、网络架构与运维流程的全面重构。从共享存储的精确配置,到集群件的稳定运行,每一步都决定着系统的健壮性。掌握本指南所列步骤,您将具备独立部署生产级Oracle RAC双节点集群的能力。建议在测试环境完整演练后,再迁移至生产环境。持续监控、定期演练、文档沉淀,是保障RAC长期稳定运行的关键。
申请试用&下载资料