博客 Oracle RAC集群部署实战:双节点配置与共享存储配置

Oracle RAC集群部署实战:双节点配置与共享存储配置

   数栈君   发表于 2026-03-28 17:36  21  0
Oracle RAC集群部署实战:双节点配置与共享存储配置在现代企业数据架构中,高可用性与弹性扩展已成为核心需求。对于关键业务系统,如金融交易、供应链管理、客户关系平台等,单点故障意味着业务中断与巨额损失。Oracle Real Application Clusters(RAC)作为Oracle官方提供的集群解决方案,允许多个节点共享同一数据库实例,实现负载均衡、故障自动切换与无缝扩展。本文将深入解析Oracle RAC在双节点环境下的完整部署流程,涵盖操作系统配置、共享存储搭建、网络规划、集群软件安装与数据库创建,为企业构建稳定、高性能的数据库集群提供可落地的实战指南。---### 一、Oracle RAC部署核心前提Oracle RAC依赖于三个关键组件协同工作:**共享存储**、**私有网络**与**公共网络**。任何一环配置错误,都将导致集群无法启动或数据损坏。- **共享存储**:必须由所有节点同时访问,用于存放控制文件、数据文件、重做日志与OCR(Oracle Cluster Registry)和Voting Disk。推荐使用ASM(Automatic Storage Management)管理存储,避免文件系统锁竞争。- **私有网络**:用于节点间心跳通信(Interconnect),要求低延迟、高带宽,建议使用10Gbps及以上光纤或InfiniBand,禁止使用普通以太网。- **公共网络**:用于客户端连接与VIP(Virtual IP)漂移,需配置静态IP与DNS解析,确保客户端能通过域名访问集群。> ⚠️ 注意:Oracle官方明确不支持NFS作为RAC共享存储介质,必须使用块设备(如SAN、iSCSI、本地磁盘通过共享存储阵列暴露)。---### 二、共享存储配置详解(以iSCSI为例)在双节点环境中,共享存储通常由外部存储阵列或软件定义存储(如OpenEBS、Ceph)提供。本节以iSCSI为例说明配置步骤。#### 1. 存储端配置在存储服务器上创建两个LUN:- LUN1:大小≥50GB,用于OCR与Voting Disk- LUN2:大小≥200GB,用于ASM磁盘组(DATA、FRA)启用iSCSI目标服务,绑定两个LUN,并配置访问控制,仅允许两个RAC节点的IQN(iSCSI Qualified Name)连接。#### 2. 节点端配置(Linux RHEL/CentOS 8+)```bash# 安装iSCSI客户端yum install -y iscsi-initiator-utils# 编辑initiator名称(确保两个节点名称唯一)vi /etc/iscsi/initiatorname.iscsiInitiatorName=iqn.2024-05.com.racnode1:oracle# 发现并登录存储目标iscsiadm -m discovery -t sendtargets -p iscsiadm -m node -T -p --login```验证设备是否识别:```bashlsblk# 输出应显示类似 sdb, sdc 的新磁盘```为避免设备名漂移(如sdb在重启后变为sdc),需使用**UUID**或**multipath**绑定设备:```bash# 安装multipath工具yum install -y device-mapper-multipath# 生成配置文件mpathconf --enable --with_multipathd y# 查看多路径设备multipath -ll```创建udev规则绑定持久化名称:```bashvi /etc/udev/rules.d/99-oracle-asm.rulesKERNEL=="dm-*", SUBSYSTEM=="block", PROGRAM="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="", SYMLINK+="asm-disk1"```重启udev服务并重新加载:```bashudevadm control --reload-rulesudevadm trigger```> ✅ 最终目标:两个节点均看到相同的磁盘设备名(如`/dev/asm-disk1`),且设备UUID一致。---### 三、操作系统与网络配置#### 1. 主机名与DNS解析确保每个节点有唯一主机名,并在`/etc/hosts`中配置所有节点的公共IP、私有IP与VIP:```plaintext192.168.1.10 racnode1.example.com racnode1192.168.1.11 racnode2.example.com racnode210.10.10.10 racnode1-priv.example.com racnode1-priv10.10.10.11 racnode2-priv.example.com racnode2-priv192.168.1.100 racnode1-vip.example.com racnode1-vip192.168.1.101 racnode2-vip.example.com racnode2-vip```> 🔍 Oracle RAC依赖DNS或hosts文件解析VIP,若使用DHCP或动态DNS,集群将无法稳定运行。#### 2. 网络接口绑定为提高私有网络可靠性,建议将两个网卡绑定为bond0:```bashnmcli con add type bond con-name bond0 ifname bond0 mode active-backupnmcli con modify bond0 ipv4.addresses 10.10.10.10/24nmcli con modify bond0 ipv4.method manualnmcli con add type ethernet slave-type bond master bond0 ifname enp3s0f0nmcli con add type ethernet slave-type bond master bond0 ifname enp3s0f1```重启网络服务并验证:```bashnmcli con up bond0ip addr show bond0```#### 3. 系统参数优化编辑`/etc/sysctl.conf`:```confkernel.shmmni = 4096kernel.shmall = 2097152kernel.shmmax = 2147483648kernel.sem = 250 32000 100 128fs.file-max = 6815744net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576```应用配置:```bashsysctl -p```设置用户限制(`/etc/security/limits.conf`):```conforacle soft nofile 1024oracle hard nofile 65536oracle soft nproc 16384oracle hard nproc 16384oracle soft stack 10240oracle hard stack 32768```---### 四、安装Oracle Grid Infrastructure(GI)Oracle RAC依赖Grid Infrastructure管理集群资源。必须先安装GI,再安装数据库软件。#### 1. 下载与解压从Oracle官网下载对应版本的GI与DB软件(如19c):```bashunzip linuxx64_193000_grid_home.zip -d /opt/oracle/unzip linuxx64_193000_db_home.zip -d /opt/oracle/```#### 2. 创建用户与目录```bashgroupadd -g 1000 oinstallgroupadd -g 1001 dbagroupadd -g 1002 operuseradd -u 1100 -g oinstall -G dba,oper oraclemkdir -p /u01/app/19.0.0/gridmkdir -p /u01/app/oracle/product/19.0.0/dbhome_1chown -R oracle:oinstall /u01chmod -R 775 /u01```#### 3. 启动图形化安装(推荐)```bashcd /opt/oracle/grid./runInstaller```选择“Install and Configure Oracle Grid Infrastructure for a Cluster” 指定节点:racnode1, racnode2 配置私有网络:绑定bond0 配置ASM:选择共享磁盘(asm-disk1, asm-disk2),创建OCR与DATA磁盘组 设置密码:为grid用户设置强密码安装过程中,系统会提示在两个节点上以root身份执行脚本:```bash# 在racnode1执行/u01/app/oraInventory/orainstRoot.sh/u01/app/19.0.0/grid/root.sh# 在racnode2执行/u01/app/19.0.0/grid/root.sh```安装完成后,验证集群状态:```bashcrsctl check cluster# 输出:CRS-4537: Cluster Ready Services is online```---### 五、部署Oracle Database软件与创建RAC数据库#### 1. 安装数据库软件切换至oracle用户,执行:```bashcd /opt/oracle/db./runInstaller```选择“Install database software only” 选择“Oracle Real Application Clusters database installation” 指定节点:racnode1, racnode2 设置Oracle Home路径同样需在两个节点执行root脚本:```bash/u01/app/oracle/product/19.0.0/dbhome_1/root.sh```#### 2. 创建RAC数据库使用DBCA(Database Configuration Assistant):```bashdbca```选择“Create a Database” → “Oracle Real Application Clusters database” 选择所有节点 → 设置数据库名(如RACDB) 选择存储类型:ASM → 选择DATA磁盘组 配置归档模式、字符集(建议AL32UTF8)、内存分配(建议SGA 4GB+)在“管理选项”中启用自动备份与EM Express。完成创建后,验证数据库服务:```bashsrvctl status database -d RACDB# 输出:Instance RACDB1 is running on node racnode1# Instance RACDB2 is running on node racnode2```客户端可通过VIP连接:```bashsqlplus sys@racnode1-vip:1521/RACDB as sysdba```---### 六、高可用性验证与监控#### 1. 故障模拟测试手动关闭一个节点的网络或重启节点:```bash# 在racnode1上shutdown -h now```观察另一个节点是否自动接管服务:```bashsrvctl status database -d RACDB# 应显示仅RACDB2运行,但服务仍可用```客户端连接不应中断,VIP自动漂移至存活节点。#### 2. 监控工具- 使用`crsctl stat res -t`查看所有资源状态- 使用`dmesg | grep -i asm`排查ASM磁盘问题- 使用`oemcli`或Oracle Enterprise Manager(OEM)进行集中监控---### 七、最佳实践与注意事项- **定期备份OCR与Voting Disk**:`ocrconfig -showbackup`,建议每日自动备份至共享存储。- **禁用防火墙与SELinux**:RAC对端口与权限敏感,生产环境建议关闭或精确放行。- **时间同步**:必须使用NTP或chrony同步所有节点时间,偏差>100ms将导致集群分裂。- **日志路径**:所有日志位于`$ORACLE_BASE/diag/crs/`与`$ORACLE_BASE/diag/rdbms/`,定期归档。- **升级策略**:先升级GI,再升级DB,避免版本不一致导致集群异常。---### 结语:构建企业级高可用数据库平台Oracle RAC部署虽复杂,但其带来的业务连续性价值远超部署成本。在数据中台、实时分析、数字孪生等场景中,RAC确保核心数据服务永不中断,为决策系统提供坚实底座。无论是金融风控、制造物联,还是能源调度,稳定可靠的数据库集群都是数字化转型的基石。为加速部署进程,降低运维复杂度,企业可考虑使用自动化部署工具或云原生方案。如需专业支持与快速部署模板,[申请试用&https://www.dtstack.com/?src=bbs](https://www.dtstack.com/?src=bbs) 获取企业级RAC部署套件。[申请试用&https://www.dtstack.com/?src=bbs](https://www.dtstack.com/?src=bbs) [申请试用&https://www.dtstack.com/?src=bbs](https://www.dtstack.com/?src=bbs)申请试用&下载资料
点击袋鼠云官网申请免费试用: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进行反馈,袋鼠云收到您的反馈后将及时答复和处理。
0条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

最新活动更多
微信扫码获取数字化转型资料