Oracle RAC集群部署实战:双节点配置与共享存储设置
在现代企业数据架构中,高可用性与负载均衡已成为核心需求。对于需要7×24小时持续运行的关键业务系统——如金融交易、供应链管理、客户关系平台——单点故障意味着巨大的业务损失。Oracle Real Application Clusters(RAC)作为Oracle数据库的高可用解决方案,允许多个节点共享同一数据库实例,实现无缝故障转移与横向扩展。本文将深入解析Oracle RAC部署的实战流程,聚焦双节点环境下的系统配置、共享存储设置与网络规划,为企业构建稳定、可扩展的数据库集群提供可落地的技术指南。
Oracle RAC并非简单地在两台服务器上安装数据库。它依赖于三个关键基础设施:共享存储、私有网络与公共网络。任何环节的缺失或配置错误,都将导致集群无法启动或数据损坏。
✅ 关键提醒:Oracle官方明确要求共享存储必须由存储厂商认证支持RAC。未认证的NAS或本地磁盘将导致部署失败。
推荐使用Oracle Linux 8或Red Hat Enterprise Linux 8,确保系统版本与Oracle RAC版本兼容。安装时需选择“Server with GUI”或“Server”基础包,并禁用防火墙与SELinux(或配置为permissive模式)。
# 关闭防火墙systemctl stop firewalldsystemctl disable firewalld# 关闭SELinuxsed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/configsetenforce 0配置内核参数(/etc/sysctl.conf):
fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 536870912kernel.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
创建专用用户与组,确保权限隔离:
groupadd -g 501 oinstallgroupadd -g 502 dbagroupadd -g 503 operuseradd -u 501 -g oinstall -G dba,oper oraclepasswd oracle设置用户资源限制(/etc/security/limits.conf):
oracle soft nofile 1024oracle hard nofile 65536oracle soft nproc 2047oracle hard nproc 16384oracle soft stack 10240oracle hard stack 32768时间偏差超过100ms将导致集群裂脑(Split-Brain)。必须配置NTP或Chrony同步:
yum install chrony -ysystemctl enable chronyd --nowchronyc sources -v确保两节点时间差小于1秒。
| 类型 | 容量 | 用途 |
|---|---|---|
| OCR/Voting Disk | 10GB | 集群元数据与心跳 |
| DATA DiskGroup | 200GB+ | 数据文件、控制文件、重做日志 |
| FRA DiskGroup | 150GB+ | 快速恢复区(归档日志、备份) |
📌 重要:OCR与Voting Disk必须位于独立的磁盘,且至少三份冗余(三节点以上),双节点建议使用三磁盘(含仲裁盘)。
为避免单路径故障,配置多路径软件(multipath-tools):
yum install device-mapper-multipath -ysystemctl enable multipathd --nowmpathconf --enable --with_multipathd y编辑 /etc/multipath.conf,添加存储厂商配置(以EMC为例):
defaults { user_friendly_names yes}devices { device { vendor "EMC" product "SYMMETRIX" path_grouping_policy multibus hardware_handler "0" path_checker readsector0 failback immediate }}重启服务并查看路径:
systemctl restart multipathdmultipath -ll输出示例:
mpathb (3600601607d420a00e8d5d4b5e5e5e5e5) dm-2 EMC,SYMMETRIXsize=200G features='1 queue_if_no_path' hwhandler='0' wp=rw|-+- policy='service-time 0' prio=1 status=active| |- 2:0:0:1 sdb 8:16 active ready running| `- 3:0:0:1 sde 8:64 active ready running`-+- policy='service-time 0' prio=1 status=enabled |- 2:0:1:1 sdc 8:32 active ready running `- 3:0:1:1 sdf 8:80 active ready running使用Oracle ASMCA工具创建磁盘组:
DATA的磁盘组,冗余类型:NORMAL(双副本)FRA的磁盘组,冗余类型:EXTERNAL(由存储层提供冗余)⚠️ 注意:ASM磁盘必须为裸设备或由多路径映射的设备(如
/dev/mapper/mpathb),不可使用文件系统路径。
为每个节点分配静态IP:
配置主机名解析(/etc/hosts):
192.168.1.101 racnode1.example.com racnode1192.168.1.102 racnode2.example.com racnode2192.168.1.103 racnode1-vip.example.com racnode1-vip192.168.1.104 racnode2-vip.example.com racnode2-vip192.168.1.105 rac-scan.example.com rac-scan使用独立网段,如10.10.10.0/24:
确保该网段不与任何其他网络路由互通,避免干扰。
SCAN是客户端连接的统一入口,由DNS或GNS解析为3个IP(推荐3个,即使双节点)。配置DNS记录:
rac-scan.example.com. IN A 192.168.1.105rac-scan.example.com. IN A 192.168.1.106rac-scan.example.com. IN A 192.168.1.107🔍 为什么需要SCAN?SCAN允许客户端无需感知节点变化。当节点故障时,Oracle Clusterware自动将VIP与SCAN IP漂移至存活节点,客户端连接无感知中断。
/u01/app/19.0.0/grid安装后执行root脚本:
/u01/app/19.0.0/grid/root.sh验证集群状态:
crsctl check clustercrsctl stat res -t/u01/app/oracle/product/19.0.0/dbhome_1完成后,数据库将自动在两个节点上启动实例(RACDB_1, RACDB_2)。
srvctl status database -d RACDB# 应输出:Instance RACDB_1 is running on node racnode1# Instance RACDB_2 is running on node racnode2sqlplus / as sysdbaSQL> select instance_name, status from gv$instance;asmcmd lsdskoifcfg getif手动关闭一个节点的数据库服务:
srvctl stop instance -d RACDB -i RACDB_1观察另一节点是否自动接管连接,客户端是否无中断访问。
ocrconfig -showbackup🚀 企业级部署建议:为确保RAC集群的长期稳定,建议结合自动化运维平台进行配置管理与故障自愈。如需快速验证部署方案,可申请试用专业数据库管理平台,降低运维复杂度:申请试用
📊 数据中台建设中,RAC集群是底层数据服务的基石。其稳定性直接影响上层数据服务的SLA。若您的团队正规划构建统一数据服务层,建议优先部署RAC:申请试用
💡 对于数字孪生系统中的实时数据引擎,Oracle RAC的高并发写入与低延迟读取能力,可有效支撑多源数据融合与仿真推演。提升系统韧性,从集群部署开始:申请试用
Oracle RAC部署不是一次性的安装任务,而是一个涉及硬件、网络、操作系统、存储与数据库的系统工程。双节点配置虽为最小化部署,但其架构设计必须满足生产环境的高可用标准。通过本文的步骤,您已掌握从共享存储配置到集群验证的全流程。下一步,建议结合监控告警、备份策略与容灾演练,构建完整的数据库高可用体系。
企业数据架构的演进,始于对稳定性的极致追求。Oracle RAC正是这一追求的工程化体现。无论您是构建数字孪生的实时引擎,还是支撑核心交易系统的数据底座,一个健壮的RAC集群,都是您不可妥协的技术选择。
申请试用&下载资料