Oracle RAC集群部署实战:双节点配置与共享存储设置
数栈君
发表于 2026-03-29 15:12
40
0
Oracle RAC集群部署实战:双节点配置与共享存储设置在现代企业数据架构中,高可用性与负载均衡是保障核心业务连续性的基石。Oracle Real Application Clusters(RAC)作为Oracle数据库的集群解决方案,允许多个节点共享同一数据库实例,实现故障自动切换与资源动态分配。对于构建数据中台、支撑数字孪生系统或实现高并发数字可视化平台的企业而言,部署一套稳定可靠的Oracle RAC集群,是提升系统韧性与扩展能力的关键一步。本文将聚焦于**双节点Oracle RAC部署实战**,深入解析共享存储配置、网络规划、集群软件安装与验证流程,确保部署过程可复现、可监控、可运维。---### 一、Oracle RAC部署的核心前提在动手部署前,必须明确Oracle RAC的三大基础要求:1. **共享存储**:所有节点必须能同时访问同一套存储设备,用于存放数据文件、控制文件、重做日志与OCR(Oracle Cluster Registry)和Voting Disk。推荐使用ASM(Automatic Storage Management)管理共享存储。2. **私有网络**:节点间需配置独立的私有网络(Interconnect),用于心跳检测与缓存融合(Cache Fusion),确保低延迟、高带宽通信。3. **公共网络**:用于客户端连接与管理访问,需配置虚拟IP(VIP)与扫描IP(SCAN IP),实现客户端透明连接。> ⚠️ 注意:不建议使用NFS作为共享存储介质,因其无法满足Oracle RAC对I/O一致性和锁机制的严格要求。推荐使用SAN、iSCSI或Oracle ACFS(Oracle Automatic Storage Management Cluster File System)。---### 二、硬件与网络拓扑规划#### 1. 节点配置建议(双节点)| 组件 | 推荐配置 ||------|----------|| CPU | 每节点≥8核,推荐16核以上 || 内存 | 每节点≥64GB,建议128GB || 磁盘 | 至少4块独立磁盘:系统盘 + 共享存储盘(3块以上) || 网卡 | 每节点≥2块网卡:1块用于公共网络,1块用于私有网络 |#### 2. 网络规划示例(IP分配)| 类型 | 节点1 | 节点2 | 说明 ||------|-------|-------|------|| 公共IP | 192.168.1.101 | 192.168.1.102 | 客户端访问地址 || 虚拟IP(VIP) | 192.168.1.103 | 192.168.1.104 | 故障时自动漂移 || 扫描IP(SCAN) | 192.168.1.105 | — | DNS轮询,客户端连接入口 || 私有IP(Interconnect) | 10.10.10.1 | 10.10.10.2 | 仅节点间通信,禁止路由 |> ✅ 私有网络必须启用Jumbo Frames(MTU≥9000),以降低缓存融合延迟。建议使用万兆以太网(10GbE)或InfiniBand。---### 三、共享存储配置详解#### 1. 存储设备准备使用iSCSI或光纤通道(FC)连接共享存储阵列,创建以下LUN:| LUN | 大小 | 用途 ||-----|------|------|| LUN1 | 50GB | OCR + Voting Disk(建议3副本,需至少3个LUN) || LUN2 | 100GB | ASM DiskGroup DATA || LUN3 | 50GB | ASM DiskGroup FRA(快速恢复区) |> 🔧 使用`multipath`工具配置多路径冗余,确保单链路故障不影响集群运行。#### 2. Linux系统配置在**两个节点**上执行以下操作:```bash# 安装multipath工具yum install -y device-mapper-multipath# 启动并设置开机自启systemctl enable multipathd --now# 查看识别的多路径设备multipath -ll```创建udev规则,为共享磁盘绑定固定名称:```bash# 编辑 /etc/udev/rules.d/99-oracle-asm.rulesKERNEL=="dm-*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29a1b2e7b4d4e5f6a7b8c9d0e1f", SYMLINK+="asm-disk1", OWNER="grid", GROUP="asmadmin", MODE="0660"```> 💡 使用`/dev/oracleasm`方式已逐步淘汰,推荐使用ASMlib或直接通过udev绑定设备名。#### 3. 创建ASM磁盘组使用Grid Infrastructure安装程序创建ASM磁盘组:- **DATA**:用于存放数据文件(数据表空间、索引等)- **FRA**:用于归档日志、备份、闪回日志确保磁盘组为**EXTERNAL REDUNDANCY**(若存储本身提供RAID保护)或**NORMAL REDUNDANCY**(若需软件级镜像)。---### 四、操作系统与软件环境准备#### 1. 系统参数优化(/etc/sysctl.conf)```bashfs.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```应用配置:```bashsysctl -p```#### 2. 用户与组配置```bashgroupadd -g 1000 oinstallgroupadd -g 1200 dbagroupadd -g 1201 opergroupadd -g 1202 asmadmingroupadd -g 1203 asmdbagroupadd -g 1204 asmoperuseradd -u 1100 -g oinstall -G dba,asmdba,oper griduseradd -u 1101 -g oinstall -G dba,asmdba,oper oracleecho "grid:password" | chpasswdecho "oracle:password" | chpasswd```#### 3. 软件包依赖安装```bashyum install -y binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel libXext libXtst libX11 libXau libxcb libXi make sysstat unixODBC unixODBC-devel unzip```> ✅ Oracle官方文档要求的软件包清单必须完整,否则安装程序会报错中断。---### 五、Grid Infrastructure安装(集群软件)1. **解压安装包**: ```bash unzip linuxx64_193000_grid_home.zip -d /u01/app/19.0.0/grid ```2. **运行安装程序**: ```bash cd /u01/app/19.0.0/grid ./gridSetup.sh ```3. **关键配置步骤**: - 选择“Configure Oracle Grid Infrastructure for a Cluster” - 添加两个节点(确保SSH互信已配置) - 指定公共与私有网络接口 - 选择ASM作为存储管理方式 - 设置OCR与Voting Disk所在磁盘(LUN1) - 设置ASM磁盘发现路径:`/dev/oracleasm/disks/*`4. **执行root脚本**: 在两个节点上依次执行安装程序提示的`root.sh`脚本。> ✅ 验证集群状态:> ```bash> crsctl check cluster> crsctl stat res -t> ocrcheck> ```---### 六、Oracle Database安装与RAC配置1. **解压数据库软件**: ```bash unzip linuxx64_193000_db_home.zip -d /u01/app/oracle/product/19.0.0/dbhome_1 ```2. **运行dbca(Database Configuration Assistant)**: ```bash /u01/app/oracle/product/19.0.0/dbhome_1/bin/dbca ```3. **选择“Create a Database” → “Oracle Real Application Clusters database”** - 指定节点:两个节点均选中 - 数据库名:`RACDB` - 启用“Configure Enterprise Manager Express” - 存储类型:ASM → 选择DATA磁盘组 - 配置FRA磁盘组 - 设置字符集:AL32UTF8(推荐) - 设置密码策略(建议使用强密码)4. **完成安装后,验证数据库状态**: ```bash srvctl status database -d RACDB sqlplus / as sysdba SQL> select instance_name, host_name from v$instance; ``` 输出应显示两个实例(如`RACDB_1`与`RACDB_2`),分别运行在不同节点上。---### 七、高可用性测试与监控#### 1. 故障切换测试在节点1上强制关闭Oracle服务:```bashsrvctl stop instance -d RACDB -i RACDB_1```观察节点2是否自动接管服务,客户端连接是否无中断。#### 2. 监控工具建议- 使用`crsctl stat res -t`查看集群资源状态- 使用`dmesg | grep -i asm`排查ASM磁盘异常- 使用`top`监控CPU与内存负载- 配置Oracle Enterprise Manager(OEM)进行集中监控> 📊 建议将集群健康状态接入企业级监控平台(如Zabbix、Prometheus+Grafana),实现告警联动。---### 八、运维建议与最佳实践| 类别 | 建议 ||------|------|| 备份 | 每日RMAN全备 + 每小时归档日志备份,存储于独立FRA磁盘组 || 升级 | 先升级Grid Infrastructure,再升级数据库软件,避免版本错配 || 安全 | 禁止root远程登录,使用SSH密钥认证,定期轮换密码 || 性能 | 启用ASM条带化(ASM Striping),避免I/O热点 || 扩展 | 支持横向扩展至8节点,但需确保网络带宽与存储吞吐匹配 |---### 九、常见错误与解决方案| 错误现象 | 解决方案 ||----------|----------|| OCR/Voting Disk不可访问 | 检查磁盘权限、multipath路径、SELinux是否禁用 || CRS服务启动失败 | 查看`/u01/app/19.0.0/grid/log/
/crsd/crsd.log`,确认时间同步(NTP)是否正常 || 数据库无法注册到集群 | 执行`srvctl add database -d RACDB ...`手动注册 || SCAN解析失败 | 确保DNS或/etc/hosts中SCAN IP正确映射,且返回3个IP地址 |---### 十、结语:为企业数字化转型提供坚实底座Oracle RAC集群不仅是一个技术方案,更是企业构建**高可用数据中台**、支撑**实时数字孪生模型**、实现**大规模可视化决策系统**的核心基础设施。其提供的零停机升级、动态负载均衡与自动故障恢复能力,能显著降低运维风险,提升业务连续性。如果您正在规划下一代数据平台架构,或希望将现有单机数据库升级为高可用集群,**Oracle 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/?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进行反馈,袋鼠云收到您的反馈后将及时答复和处理。