Oracle RAC集群部署实战:双节点高可用配置
数栈君
发表于 2026-03-27 13:14
57
0
Oracle RAC集群部署实战:双节点高可用配置在企业级数据中台架构中,数据库的高可用性与性能稳定性是支撑数字孪生、实时分析与可视化决策的核心基石。Oracle Real Application Clusters(RAC)作为Oracle官方提供的企业级集群解决方案,允许多个节点共享同一数据库实例,实现负载均衡、故障自动切换与零停机维护。本文将深入解析双节点Oracle RAC集群的完整部署流程,涵盖硬件准备、操作系统配置、共享存储设置、集群软件安装、数据库创建及关键验证步骤,助力企业构建稳定、可扩展的数据库基础设施。---### 一、部署前提:硬件与网络架构要求Oracle RAC对底层基础设施有严格要求,任何环节的疏漏都可能导致集群无法启动或数据不一致。- **服务器节点**:建议使用两台配置一致的x86_64服务器,推荐CPU ≥ 16核,内存 ≥ 64GB,SSD系统盘 ≥ 500GB。两节点必须处于同一局域网,网络延迟应低于1ms。- **网络规划**:需配置三类网络接口: - **公共网络(Public Network)**:用于客户端连接与应用通信,建议使用千兆或万兆以太网。 - **私有网络(Private Network / Interconnect)**:用于节点间心跳检测与缓存融合(Cache Fusion),必须独立于公共网络,推荐使用10GbE光纤或InfiniBand,避免交换机瓶颈。 - **虚拟IP(VIP)**:由Oracle Clusterware自动管理,用于故障转移时的客户端重定向。- **共享存储**:RAC要求所有节点访问同一套存储设备。推荐使用: - **ASM(Automatic Storage Management)**:Oracle原生存储管理方案,支持条带化与镜像。 - 存储类型可为:光纤通道(FC)、iSCSI或NFS(仅限Oracle 19c+认证环境)。 - 至少需划分三个磁盘:一个用于OCR(Oracle Cluster Registry),一个用于Voting Disk,其余用于数据文件与归档日志。> 📌 **关键提示**:NFS共享存储虽简化部署,但性能低于本地存储,仅适用于测试或非核心业务。生产环境强烈建议使用SAN或全闪存阵列。---### 二、操作系统配置:Linux环境标准化以CentOS 7.9或Oracle Linux 7.9为例,需完成以下标准化配置:#### 1. 主机名与DNS解析```bashhostnamectl set-hostname rac1.example.comhostnamectl set-hostname rac2.example.com```在 `/etc/hosts` 中添加所有节点的IP与主机名映射,确保双向解析无误:```192.168.1.10 rac1.example.com rac1192.168.1.11 rac2.example.com rac2192.168.2.10 rac1-priv.example.com rac1-priv192.168.2.11 rac2-priv.example.com rac2-priv192.168.1.100 rac1-vip.example.com rac1-vip192.168.1.101 rac2-vip.example.com rac2-vip```#### 2. 关闭防火墙与SELinux```bashsystemctl stop firewalld && systemctl disable firewalldsetenforce 0sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config```#### 3. 内核参数优化编辑 `/etc/sysctl.conf`,添加如下参数:```conffs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 536870912000kernel.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` 生效。#### 4. 用户与组配置创建Oracle用户与组:```bashgroupadd -g 501 oinstallgroupadd -g 502 dbagroupadd -g 503 operuseradd -u 501 -g oinstall -G dba,oper oracleecho "oracle:Oracle123" | chpasswd```#### 5. 资源限制设置编辑 `/etc/security/limits.conf`:```conforacle soft nofile 1024oracle hard nofile 65536oracle soft nproc 16384oracle hard nproc 16384oracle soft stack 10240oracle hard stack 32768```---### 三、共享存储配置:ASM与磁盘划分使用 `lsblk` 或 `fdisk -l` 查看可用磁盘。假设已挂载四块裸设备:`/dev/sdb`, `/dev/sdc`, `/dev/sdd`, `/dev/sde`。#### 1. 安装Oracle ASMlib(可选)若使用ASMlib,执行:```bashyum install oracleasm-support oracleasmlib oracleasm-*oracleasm configure -e -o oracle -g dbaoracleasm createdisk OCRDISK /dev/sdboracleasm createdisk VOTEDISK /dev/sdcoracleasm createdisk DATADISK /dev/sddoracleasm createdisk ARCHDISK /dev/sde```#### 2. 验证磁盘可见性在两个节点分别执行:```bashoracleasm listdisks# 应输出:OCRDISK VOTEDISK DATADISK ARCHDISK```> ⚠️ 注意:若使用UDEV规则(推荐生产环境),需编写 `/etc/udev/rules.d/99-oracle-asm.rules` 自动绑定设备权限,避免重启后设备名变化。---### 四、安装Oracle Grid Infrastructure(GI)在第一个节点(rac1)上执行:#### 1. 解压安装包```bashunzip linuxx64_193000_grid_home.zip -d /u01/app/19.0.0/gridcd /u01/app/19.0.0/grid```#### 2. 执行安装程序```bash./runInstaller```- 选择 **“Install and Configure Oracle Grid Infrastructure for a Cluster”**- 选择语言为英文(避免中文乱码)- 在“Cluster Node Information”中添加两个节点:`rac1`, `rac2`- 配置私有网络为 `192.168.2.0/24`- 存储类型选择 **ASM**- 指定OCR与Voting Disk所在磁盘组- 设置ASM密码(建议使用强密码)#### 3. 执行root脚本安装程序会提示在两个节点上依次执行:```bash/u01/app/oraInventory/orainstRoot.sh/u01/app/19.0.0/grid/root.sh```**必须按顺序执行,且等待前一节点完成后再执行下一节点。**#### 4. 验证集群状态```bashcrsctl check cluster# 输出:CRS-4537: Cluster Ready Services is onlineocrcheck# 检查OCR完整性crsctl stat res -t# 查看所有资源状态```---### 五、安装Oracle Database软件在rac1节点执行:```bashunzip linuxx64_193000_db_home.zip -d /u01/app/oracle/product/19.0.0/dbhome_1cd /u01/app/oracle/product/19.0.0/dbhome_1./runInstaller```- 选择 **“Install database software only”**- 选择集群模式(Cluster Installation)- 添加两个节点- 设置Oracle Inventory路径与组- 完成后执行 `root.sh` 脚本(同样需在两个节点依次执行)---### 六、创建RAC数据库使用DBCA(Database Configuration Assistant)图形化工具:```bashexport DISPLAY=:0.0 # 若通过X11转发dbca```- 选择 **“Create a Database”**- 选择 **“Oracle Real Application Clusters database”**- 数据库模板选择 **“General Purpose or Transaction Processing”**- 输入数据库名(如 `ORCL`),勾选 **“Configure Enterprise Manager”**- 存储选项选择 **ASM**,指定数据文件、控制文件、重做日志均位于 `+DATADISK`- 配置归档模式(推荐开启)- 设置SYS、SYSTEM密码- 在“Database Storage”中确认所有节点均可访问ASM磁盘组完成创建后,DBCA将自动在两个节点上启动实例,并注册至Clusterware。---### 七、验证与高可用测试#### 1. 检查实例状态```bashsrvctl status database -d ORCL# 应输出:Instance ORCL1 is running on node rac1# Instance ORCL2 is running on node rac2```#### 2. 客户端连接测试使用SQL*Plus连接VIP:```sqlsqlplus sys/Oracle123@//rac1-vip.example.com:1521/ORCL.example.com as sysdba```#### 3. 故障模拟测试在rac1节点强制关闭数据库:```bashsrvctl stop instance -d ORCL -i ORCL1```观察:- rac2节点自动接管服务- 客户端连接无中断(VIP漂移)- `crsctl stat res -t` 显示ORCL1状态为OFFLINE,ORCL2仍为ONLINE> ✅ 成功标志:客户端连接未中断,应用层无需重启,业务持续运行。---### 八、运维最佳实践- **定期备份OCR与Voting Disk**: ```bash ocrconfig -showbackup ocrconfig -manualbackup ```- **监控集群日志**: - `$GRID_HOME/log/
/crsd/crsd.log` - `$GRID_HOME/log//cssd/ocssd.log`- **避免手动修改集群配置**,所有操作通过 `srvctl` 工具执行。- **启用自动补丁更新**:使用OPatch与Oracle PSU定期维护。---### 九、为什么选择Oracle RAC?企业价值解析在构建数据中台时,传统单机数据库存在单点故障风险,无法满足7×24小时业务连续性要求。Oracle RAC通过多实例共享存储架构,实现:- **零宕机升级**:逐节点打补丁,不影响业务- **弹性扩展**:可平滑扩展至8节点以上- **智能负载均衡**:通过TAF(Transparent Application Failover)自动重连- **统一管理**:通过Enterprise Manager集中监控所有节点对于数字孪生系统、实时交易引擎、金融风控平台等高敏感场景,RAC是保障数据一致性与服务连续性的黄金标准。---### 十、结语:从部署到生产,每一步都至关重要Oracle RAC部署不是简单的软件安装,而是一场对网络、存储、系统、权限、流程的综合考验。任何一步的疏忽——如网络延迟超标、磁盘权限错误、SELinux未关闭——都可能导致集群无法启动。建议在正式上线前,在测试环境完整演练一次故障切换流程。如需快速验证RAC架构在您业务场景中的表现,或希望获得自动化部署脚本与监控模板,可申请试用&https://www.dtstack.com/?src=bbs,获取专业级集群管理工具支持。 申请试用&https://www.dtstack.com/?src=bbs 申请试用&https://www.dtstack.com/?src=bbs 企业数字化转型的底层,是稳定可靠的数据库架构。Oracle RAC,正是您构建高可用数据中台的坚实底座。申请试用&下载资料
点击袋鼠云官网申请免费试用:
https://www.dtstack.com/?src=bbs
点击袋鼠云资料中心免费下载干货资料:
https://www.dtstack.com/resources/?src=bbs
《数据资产管理白皮书》下载地址:
https://www.dtstack.com/resources/1073/?src=bbs
《行业指标体系白皮书》下载地址:
https://www.dtstack.com/resources/1057/?src=bbs
《数据治理行业实践白皮书》下载地址:
https://www.dtstack.com/resources/1001/?src=bbs
《数栈V6.0产品白皮书》下载地址:
https://www.dtstack.com/resources/1004/?src=bbs
免责声明
本文内容通过AI工具匹配关键字智能整合而成,仅供参考,袋鼠云不对内容的真实、准确或完整作任何形式的承诺。如有其他问题,您可以通过联系400-002-1024进行反馈,袋鼠云收到您的反馈后将及时答复和处理。