Oracle RAC集群部署实战:双节点配置与共享存储搭建
数栈君
发表于 2026-03-30 12:23
64
0
Oracle RAC部署是构建高可用、高并发企业级数据库架构的核心技术之一,尤其适用于对数据连续性、系统稳定性要求极高的数字中台、实时分析平台和智能决策系统。在双节点配置下,Oracle RAC(Real Application Clusters)通过共享存储架构实现多个数据库实例同时访问同一套数据文件,从而达成负载均衡与故障自动切换。本文将系统性地指导您完成Oracle RAC部署的完整流程,涵盖操作系统配置、共享存储搭建、网络规划、集群软件安装及数据库创建,确保部署过程可复现、可验证、可运维。---### 一、Oracle RAC部署的核心架构理解Oracle RAC并非简单的多实例部署,而是一种基于共享磁盘的并行数据库架构。其核心组件包括:- **多个数据库实例**:每个节点运行一个独立的Oracle实例,共享同一套数据文件。- **共享存储系统**:通常由SAN、NAS或Oracle ASM(Automatic Storage Management)管理的集群文件系统构成,所有节点必须能同时读写。- **私有网络(Interconnect)**:用于节点间心跳检测与缓存融合(Cache Fusion),保障数据一致性。- **公共网络(Public Network)**:客户端连接入口,支持负载均衡与故障转移。- **集群件(Clusterware)**:Oracle Cluster Ready Services(CRS)或Oracle Grid Infrastructure,负责资源管理、节点监控与故障恢复。> ✅ **关键认知**:RAC的高可用性来源于“无单点故障”设计。任何一个节点宕机,其余节点可无缝接管服务,业务中断时间可控制在秒级。---### 二、部署前的基础设施准备#### 1. 操作系统环境(推荐:Oracle Linux 8 / Red Hat Enterprise Linux 8)- **内核版本**:建议使用 5.4 或更高版本,确保支持Cgroup v2与大页内存。- **主机名配置**:每个节点需设置唯一主机名(如 `rac1.example.com`、`rac2.example.com`),并写入 `/etc/hosts`。- **时间同步**:启用NTP或chrony服务,确保所有节点时间差小于1秒。时间不同步是RAC启动失败的常见原因。- **用户与组**: ```bash groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle passwd oracle ```- **内核参数优化**(`/etc/sysctl.conf`): ```conf fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 10737418240 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 ``` 执行 `sysctl -p` 生效。- **资源限制**(`/etc/security/limits.conf`): ```conf oracle soft nofile 1024 oracle hard nofile 65536 oracle soft nproc 16384 oracle hard nproc 16384 oracle soft stack 10240 oracle hard stack 32768 ```#### 2. 网络规划(双网卡架构)| 网络类型 | 用途 | 推荐IP段 | 带宽要求 ||----------|------|----------|----------|| 公共网络 | 客户端连接 | 192.168.1.0/24 | 1Gbps || 私有网络 | 节点心跳与缓存同步 | 10.10.10.0/24 | ≥10Gbps(推荐) |> 💡 私有网络必须独立于公共网络,避免网络拥塞影响心跳检测。建议使用专用交换机或VLAN隔离。#### 3. 共享存储搭建(关键步骤)Oracle RAC必须使用**共享存储**,以下为三种主流方案:| 方案 | 适用场景 | 优点 | 缺点 ||------|----------|------|------|| **Oracle ASM + iSCSI** | 中小型部署 | 高性能、易管理、无需第三方集群文件系统 | 需配置iSCSI目标 || **NFS共享** | 测试环境 | 部署简单 | 性能低、不推荐生产 || **FC SAN** | 大型企业 | 最高可靠性与性能 | 成本高、依赖专业存储设备 |**推荐生产方案:使用iSCSI搭建共享存储**1. 在存储服务器(可为Linux虚拟机)安装 `targetcli`: ```bash yum install targetcli -y systemctl enable --now target ```2. 创建LUN并导出: ```bash targetcli /> /backstores/block create disk1 /dev/sdb /> /iscsi create iqn.2024-07.com.example:rac-storage /> /iscsi/iqn.2024-07.com.example:rac-storage/tpg1/luns create /backstores/block/disk1 /> /iscsi/iqn.2024-07.com.example:rac-storage/tpg1/acls create iqn.2024-07.com.example:rac1 /> /iscsi/iqn.2024-07.com.example:rac-storage/tpg1/acls create iqn.2024-07.com.example:rac2 /> saveconfig ```3. 在两个RAC节点上发现并登录iSCSI目标: ```bash iscsiadm -m discovery -t sendtargets -p
iscsiadm -m node -T iqn.2024-07.com.example:rac-storage -p --login ```4. 验证磁盘可见性: ```bash lsblk # 应看到类似 sdb、sdc 等共享磁盘 ```5. 安装 `oracleasm` 驱动并配置ASM磁盘: ```bash yum install oracleasm-support oracleasmlib -y oracleasm configure -i # 设置用户为oracle,开机启动 oracleasm createdisk DISK1 /dev/sdb oracleasm createdisk DISK2 /dev/sdc oracleasm listdisks ```> ✅ **重要提示**:所有节点必须看到相同的ASM磁盘名称与数量,否则集群无法启动。---### 三、安装Oracle Grid Infrastructure(集群件)1. 下载Oracle 19c或21c Grid Infrastructure软件包(需与数据库版本匹配)。2. 解压并运行安装程序: ```bash ./runInstaller ```3. 安装类型选择:**Install and Configure Oracle Grid Infrastructure for a Cluster**4. 集群名称:`rac-cluster`5. 节点配置:添加两个节点的主机名与VIP(如 `rac1-vip`、`rac2-vip`)6. 网络接口:分别指定公共网卡与私有网卡(Interconnect)7. 存储选项:选择 **Automatic Storage Management (ASM)**,设置ASM磁盘组名为 `DATA`,冗余级别建议为 **External**(依赖底层存储冗余)8. 安装过程中,脚本会自动执行 `root.sh`,需在两个节点分别以root身份运行: ```bash /u01/app/19.0.0/grid/root.sh ```9. 安装完成后,验证集群状态: ```bash crsctl check cluster crsctl stat res -t ``` 输出应显示所有资源为 `ONLINE`。---### 四、安装Oracle Database软件并创建RAC数据库1. 使用oracle用户登录,解压数据库安装包。2. 运行 `runInstaller`,选择 **Install database software only**。3. 安装完成后,使用DBCA(Database Configuration Assistant)创建数据库: - 选择 **Oracle Real Application Clusters database** - 数据库名:`RACDB` - 实例前缀:`RACDB` - 存储类型:ASM - 指定磁盘组:`DATA`(数据文件)、`FRA`(快速恢复区) - 启用 **Automatic Memory Management** - 配置监听器:自动注册至所有节点4. 创建完成后,验证数据库服务: ```bash srvctl status database -d RACDB # 应显示两个实例均运行中 ```5. 测试连接: ```bash sqlplus sys@racdb-scan as sysdba ``` > SCAN(Single Client Access Name)是RAC的入口地址,由DNS或GNS解析到所有节点的VIP,实现客户端透明连接。---### 五、性能与高可用性验证- **负载均衡测试**:使用 `sqlplus` 从多个客户端同时连接,观察实例负载是否均匀。- **故障切换测试**:手动关闭一个节点(`shutdown -h now`),观察另一个节点是否自动接管服务,业务是否无中断。- **心跳监控**:使用 `ocrcheck` 和 `crsctl query css votedisk` 检查集群配置完整性。- **性能监控**:启用AWR报告,分析缓存融合(Cache Fusion)的物理读写比例,理想值应低于5%。---### 六、运维建议与最佳实践- **定期备份**:使用RMAN备份ASM中的控制文件、数据文件与归档日志。- **补丁管理**:Oracle推荐使用OPatch进行滚动补丁,避免停机。- **监控工具**:集成Oracle Enterprise Manager Cloud Control或Prometheus + Grafana,实现指标可视化。- **日志集中**:统一收集 `/u01/app/grid/diag/crs/` 和 `/u01/app/oracle/diag/rdbms/` 下的日志,便于问题追溯。> 🚨 **警告**:不要在RAC环境中使用本地文件系统存储数据文件,否则将破坏共享架构,导致数据不一致。---### 七、扩展建议:迈向云原生与混合架构随着企业数字化转型深入,Oracle RAC不再局限于物理服务器。现代架构可结合:- **Kubernetes + Oracle Operator**:实现RAC容器化部署(仅限Oracle 21c+)- **云上共享存储**:如AWS EBS Multi-Attach、Azure Shared Disks- **混合云灾备**:主集群在本地,备集群在公有云,通过Data Guard实现异步同步> 为加速部署效率,降低运维复杂度,建议企业评估**自动化部署平台**。 > [申请试用&https://www.dtstack.com/?src=bbs](https://www.dtstack.com/?src=bbs) > 该平台提供RAC部署模板、配置校验、一键巡检功能,可将部署周期从7天缩短至2天。---### 八、总结:Oracle RAC部署的核心价值| 维度 | 传统单机 | Oracle RAC ||------|----------|------------|| 可用性 | 单点故障 | 多节点冗余,自动切换 || 扩展性 | 垂直扩容 | 水平扩展,增加节点 || 性能 | 单核瓶颈 | 多实例并行处理 || 成本 | 低 | 高(硬件+授权) |对于构建数字中台、支撑实时BI、交易型数据湖等核心业务,Oracle RAC部署是保障**7×24小时业务连续性**的基石。虽然部署复杂度高,但其带来的稳定性与扩展能力,远超单实例架构。> [申请试用&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进行反馈,袋鼠云收到您的反馈后将及时答复和处理。