Oracle RAC集群部署指南:双节点配置与共享存储设置
数栈君
发表于 2026-03-29 11:51
61
0
Oracle RAC集群部署指南:双节点配置与共享存储设置在现代企业数据架构中,高可用性与弹性扩展是保障核心业务连续性的基石。Oracle Real Application Clusters(RAC)作为Oracle数据库的集群解决方案,允许多个节点同时访问同一数据库实例,实现负载均衡与故障自动切换。对于构建数据中台、支撑数字孪生系统或实现高并发数字可视化平台的企业而言,部署一套稳定可靠的Oracle RAC集群,是提升系统韧性与响应效率的关键一步。本文将聚焦于**双节点Oracle RAC部署**的完整流程,涵盖操作系统配置、共享存储搭建、网络规划、集群软件安装与数据库创建,确保每一步都具备可操作性与生产环境适配性。---### 一、Oracle RAC部署的核心前提在开始部署前,必须明确Oracle RAC的三大基础要求:1. **共享存储**:所有节点必须能通过同一存储设备访问相同的数据文件、控制文件与重做日志。推荐使用ASM(Automatic Storage Management)管理存储,支持条带化与镜像,提升I/O性能与可靠性。2. **私有网络**:节点间需配置独立的私有网络(Interconnect),用于缓存融合(Cache Fusion)通信,避免公有网络延迟影响性能。3. **时间同步**:所有节点必须通过NTP或Chrony服务保持时间同步,误差不得超过1秒,否则集群心跳机制将触发节点驱逐。> ✅ **建议配置**: > - 操作系统:Oracle Linux 8.8 或 Red Hat Enterprise Linux 8.8 > - Oracle版本:Oracle Database 19c 或 21c(长期支持版本) > - 存储类型:光纤通道(FC)、iSCSI 或 NFS(仅限Oracle Certified NFS) > - 网络接口:至少2个网卡(公有网络 + 私有网络)---### 二、双节点环境准备#### 1. 主机名与DNS配置为避免主机名解析失败导致集群启动异常,必须确保:- 每个节点配置唯一主机名(如 `rac1.example.com`、`rac2.example.com`)- 在 `/etc/hosts` 中添加所有节点的公有IP、私有IP与虚拟IP(VIP)映射```bash192.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```> ⚠️ 不建议依赖DNS服务器,除非企业有高可用DNS架构。本地hosts文件更可控。#### 2. 用户与权限配置创建统一的Oracle用户组与用户:```bashgroupadd oinstallgroupadd dbagroupadd operuseradd -g oinstall -G dba,oper oraclepasswd oracle```设置用户资源限制(`/etc/security/limits.conf`):```conforacle soft nofile 1024oracle hard nofile 65536oracle soft nproc 16384oracle hard nproc 16384oracle soft stack 10240oracle hard stack 32768```#### 3. 系统参数优化修改内核参数(`/etc/sysctl.conf`)以满足Oracle RAC需求:```conffs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 1073741824kernel.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` 生效配置。---### 三、共享存储配置(ASM + 多路径)Oracle RAC依赖共享存储,推荐使用ASM(Automatic Storage Management)进行管理,其优势包括:- 自动条带化与镜像- 动态扩展- 与数据库深度集成#### 存储设备准备在两台节点上,使用 `lsblk` 或 `fdisk -l` 查看可用磁盘。假设您已通过SAN连接了3块共享磁盘:- `/dev/sdb`- `/dev/sdc`- `/dev/sdd`为避免多路径设备名不一致,安装并配置 **multipathd**:```bashyum install -y device-mapper-multipathsystemctl enable --now multipathdmultipath -ll```生成多路径配置文件 `/etc/multipath.conf`:```confdefaults { user_friendly_names yes}devices { device { vendor "NETAPP" product "LUN" path_grouping_policy multibus path_checker readsector0 hardware_handler "0" prio const failback immediate }}```重启服务并确认设备映射:```bashsystemctl restart multipathdls -l /dev/mapper/```输出示例:```lrwxrwxrwx. 1 root root 7 Apr 10 10:00 /dev/mapper/ocr_voting -> ../dm-0lrwxrwxrwx. 1 root root 7 Apr 10 10:00 /dev/mapper/data_disk1 -> ../dm-1lrwxrwxrwx. 1 root root 7 Apr 10 10:00 /dev/mapper/data_disk2 -> ../dm-2```> ✅ **关键点**:ASM要求磁盘权限为 `oracle:oinstall`,且无分区表。使用 `dd if=/dev/zero of=/dev/mapper/data_disk1 bs=1M count=100` 清除旧元数据。---### 四、网络与集群件安装#### 1. 公有与私有网络分离- **公有网络**:用于客户端连接与VIP漂移(如192.168.1.x)- **私有网络**:专用于节点间缓存融合通信(如192.168.2.x),建议使用10Gbps网卡在Oracle Grid Infrastructure安装过程中,安装程序会引导您配置:- Public IP:节点真实IP- Private IP:心跳网络IP- Virtual IP:故障转移时的浮动IP- SCAN IP:客户端连接的统一入口(3个IP,由DNS轮询)#### 2. 安装Oracle Grid Infrastructure下载Oracle 19c Grid Infrastructure软件包,解压后运行:```bash./runInstaller```选择 **“Install and Configure Oracle Grid Infrastructure for a Cluster”**- 节点选择:勾选 `rac1` 和 `rac2`- 网络接口:分别指定公有与私有网络- 存储选项:选择 **ASM**,并指定OCR、Voting Disk与Data磁盘(使用多路径设备名)> 🔒 **安全建议**:为ASM实例设置独立的密码文件(`orapw+ASM1`),避免与数据库密码混用。安装完成后,以root身份执行两个脚本:```bash/root/oraInventory/orainstRoot.sh/root/grid_19c/root.sh```验证集群状态:```bashcrsctl check clustercrsctl stat res -t```输出应显示所有资源为 `ONLINE`。---### 五、安装Oracle Database软件并创建RAC数据库#### 1. 安装数据库软件(仅需在任一节点执行)运行 `runInstaller`,选择 **“Install database software only”**,并勾选所有节点。安装完成后,执行root脚本:```bash/root/app/oracle/product/19c/dbhome_1/root.sh```#### 2. 使用DBCA创建RAC数据库启动数据库配置助手:```bashdbca```选择:- **Create a Database**- **Oracle Real Application Clusters database**- **Custom Database**- 数据库模板:选择 **General Purpose or Transaction Processing**- 实例名:`ORCL`,节点均选中- 存储类型:**ASM**- 指定数据文件位置:`+DATA`- 指定快速恢复区:`+FRA`- 配置监听器:自动创建> 💡 **性能建议**:启用 **Automatic Memory Management (AMM)** 或手动设置SGA/PGA,避免内存争用。完成创建后,通过 `srvctl status database -d ORCL` 验证数据库是否在两个节点上运行。---### 六、验证与高可用测试#### 1. 连接测试从任意客户端使用SCAN地址连接:```bashsqlplus sys@rac-scan:1521/ORCL as sysdba```#### 2. 节点故障模拟在节点1上强制关闭数据库:```bashsrvctl stop instance -d ORCL -i ORCL1```观察节点2是否自动接管服务,客户端连接是否无中断。使用 `crsctl stat res -t` 查看资源状态,确保VIP与监听器已漂移。#### 3. 性能监控使用 `awrreport` 或 `v$active_session_history` 分析跨节点负载分布,确保缓存融合未成为瓶颈。---### 七、运维最佳实践| 类别 | 建议 ||------|------|| **备份** | 使用RMAN + ASM快照,定期备份控制文件与参数文件 || **监控** | 部署Enterprise Manager Cloud Control,监控集群健康、ASM空间、网络延迟 || **补丁** | 使用OPatch与Rolling Patch策略,避免停机 || **日志** | 定期检查 `$GRID_HOME/log/
/alert*.log` 与 `$ORACLE_HOME/log/diag/` |---### 八、为什么Oracle RAC对数据中台至关重要?在构建企业级数据中台时,数据服务需支持7×24小时高并发访问。Oracle RAC通过:- **多实例并行处理**:提升OLTP事务吞吐量- **透明故障切换**:保障数据可视化仪表盘不中断- **弹性扩展能力**:未来可平滑扩展至4节点以上尤其在数字孪生系统中,实时仿真模型依赖数据库持续写入与查询,RAC的高可用架构可避免因单点故障导致仿真中断,确保决策闭环不被打破。---### 结语:部署不是终点,运维才是关键Oracle RAC部署是一项系统工程,涉及硬件、网络、存储、操作系统与数据库的深度协同。完成部署后,建议建立标准化的运维手册,包括:- 节点启停流程- ASM空间扩容步骤- SCAN IP变更处理- 集群日志分析模板如需快速验证部署方案、获取企业级部署模板或进行性能调优咨询,可申请试用&https://www.dtstack.com/?src=bbs。我们提供定制化RAC架构设计服务,帮助您降低生产环境风险。再次强调,稳定可靠的Oracle RAC集群是支撑企业核心业务的数字底座。无论是构建实时分析平台,还是支撑工业级数字孪生应用,都离不开这一架构的支撑。申请试用&https://www.dtstack.com/?src=bbs,获取专业部署工具包与专家支持。若您计划在未来3个月内上线关键业务系统,建议立即启动RAC环境预演。申请试用&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进行反馈,袋鼠云收到您的反馈后将及时答复和处理。