Oracle RAC集群部署实战:双节点配置与共享存储设置
数栈君
发表于 2026-03-27 20:31
41
0
Oracle RAC集群部署实战:双节点配置与共享存储设置在企业级数据中台建设中,高可用性与负载均衡是核心诉求。Oracle Real Application Clusters(RAC)作为Oracle官方提供的集群解决方案,允许多个节点共享同一数据库实例,实现无缝故障切换与横向扩展。对于构建数字孪生系统、实时可视化分析平台等对数据连续性要求极高的场景,部署一套稳定可靠的Oracle RAC集群,是保障业务不间断运行的关键一步。本文将深入解析双节点Oracle RAC部署的完整流程,涵盖操作系统配置、共享存储搭建、网络规划、集群软件安装与数据库创建,确保每一步都具备可操作性与生产环境适配性。---### 一、Oracle RAC部署前提条件在启动部署前,必须确认以下基础设施满足最低要求:- **硬件**:两台物理服务器或虚拟机,建议配置≥16核CPU、64GB内存、≥500GB本地磁盘(用于系统与Oracle软件)。- **操作系统**:推荐Oracle Linux 8.x 或 Red Hat Enterprise Linux 8.x,内核版本需支持Clusterware与ASM。- **网络架构**:至少需要三张网卡: - **Public Network**:用于客户端连接与节点间通信(如192.168.1.0/24) - **Private Network**:用于节点间心跳与缓存融合(Cache Fusion),建议使用10Gbps光纤或专用交换机(如192.168.10.0/24) - **Virtual IP (VIP)**:每个节点一个浮动IP,用于故障转移- **共享存储**:必须使用可被双节点同时访问的存储设备,推荐方案包括: - **ASM(Automatic Storage Management)**:Oracle原生存储管理,推荐用于RAC - **NFS over TCP/IP**:仅限测试环境,生产环境不推荐 - **SAN(光纤通道)或 iSCSI**:企业级首选,需配置多路径(Multipath)> ✅ **关键提示**:Oracle RAC依赖共享存储实现“单数据库、多实例”架构。若存储不可共享,集群将无法启动。---### 二、共享存储配置详解共享存储是RAC的基石。以下以iSCSI为例说明配置流程:#### 1. 存储服务器端配置(以Linux为存储服务器)```bash# 安装targetcliyum install targetcli -y# 创建后端存储(LUN)targetcli /backstores/fileio create db_disk1 /opt/oracle_rac_disk1.img 20Gtargetcli /backstores/fileio create db_disk2 /opt/oracle_rac_disk2.img 10Gtargetcli /backstores/fileio create db_disk3 /opt/oracle_rac_disk3.img 10G# 创建iSCSI目标targetcli /iscsi create iqn.2024-07.com.oracle:rac-storage# 绑定LUN到目标targetcli /iscsi/iqn.2024-07.com.oracle:rac-storage/tpg1/luns create /backstores/fileio/db_disk1targetcli /iscsi/iqn.2024-07.com.oracle:rac-storage/tpg1/luns create /backstores/fileio/db_disk2targetcli /iscsi/iqn.2024-07.com.oracle:rac-storage/tpg1/luns create /backstores/fileio/db_disk3# 开放防火墙端口firewall-cmd --add-service=iscsi-target --permanentfirewall-cmd --reload```#### 2. 两个RAC节点客户端配置```bash# 安装iSCSI客户端yum install iscsi-initiator-utils -y# 启动服务并设置开机自启systemctl enable --now iscsid# 发现存储目标iscsiadm -m discovery -t sendtargets -p
# 登录目标iscsiadm -m node -T iqn.2024-07.com.oracle:rac-storage -p --login# 验证设备是否识别lsblk# 应看到类似 sdb, sdc, sdd 的新设备```#### 3. 配置多路径(Multipath)增强可靠性```bash# 安装多路径工具yum install device-mapper-multipath -y# 生成配置文件mpathconf --enable --with_multipathd y# 编辑配置文件 /etc/multipath.confvim /etc/multipath.confdefaults { user_friendly_names yes find_multipaths yes}devices { device { vendor "LIO-ORG" product "Target" path_grouping_policy multibus path_checker readsector0 hardware_handler "0" prio const failback immediate }}# 重启服务并查看多路径设备systemctl restart multipathdmultipath -ll```> 📌 **输出示例**:`mpatha (36001405a123456789abcdef012345678) dm-0 LIO-ORG,Target` > 此设备将作为ASM磁盘组的底层设备。---### 三、操作系统与网络配置#### 1. 主机名与DNS解析确保两个节点的主机名唯一且可解析:```bash# 编辑 /etc/hosts192.168.1.10 racnode1.example.com racnode1192.168.1.11 racnode2.example.com racnode2192.168.10.10 racnode1-priv.example.com racnode1-priv192.168.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```> ⚠️ 禁止使用DHCP分配VIP或私网IP,必须静态绑定。#### 2. 用户与组配置```bashgroupadd -g 1000 oinstallgroupadd -g 1001 dbagroupadd -g 1002 opergroupadd -g 1003 asmadmingroupadd -g 1004 asmdbagroupadd -g 1005 asmoperuseradd -u 1100 -g oinstall -G dba,asmdba,oper oracleuseradd -u 1101 -g oinstall -G asmadmin,asmdba,asmoper grid```#### 3. 内核参数优化编辑 `/etc/sysctl.conf`:```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`#### 4. 资源限制配置编辑 `/etc/security/limits.conf`:```conforacle soft nofile 1024oracle hard nofile 65536oracle soft nproc 16384oracle hard nproc 16384oracle soft stack 10240oracle hard stack 32768grid soft nofile 1024grid hard nofile 65536grid soft nproc 16384grid hard nproc 16384grid soft stack 10240grid hard stack 32768```---### 四、安装Oracle Grid Infrastructure与Database#### 1. 下载软件包从Oracle官网下载:- Oracle Grid Infrastructure 19c 或 21c(含Clusterware与ASM)- Oracle Database 19c/21c解压至 `/u01/software`#### 2. 安装Grid Infrastructure(先于数据库)- 以grid用户登录,执行:```bashcd /u01/software/grid./runInstaller```- 安装类型选择:**Install and Configure Oracle Grid Infrastructure for a Cluster**- 节点信息:添加racnode1、racnode2- 网络接口:绑定public与private网络- 存储选项:选择**Automatic Storage Management (ASM)**- 磁盘发现路径:`/dev/mapper/mpath*`- 设置ASM密码(建议与数据库密码不同)> ✅ 安装完成后,运行root脚本(两个节点均需执行):```bash/u01/app/oraInventory/orainstRoot.sh/u01/app/19.0.0/grid/root.sh```#### 3. 安装Oracle Database- 以oracle用户登录,执行:```bashcd /u01/software/database./runInstaller```- 选择:**Install database software only**- 集群配置:勾选 **Oracle Real Application Clusters installation**- 选择节点:racnode1、racnode2- 安装完成后,运行root脚本:```bash/u01/app/oraInventory/orainstRoot.sh/u01/app/oracle/product/19.0.0/dbhome_1/root.sh```#### 4. 创建数据库(DBCA)```bashdbca -silent -createDatabase \ -templateName General_Purpose.dbc \ -gdbname RACDB \ -sid RACDB \ -responseFile NO_VALUE \ -characterSet AL32UTF8 \ -nationalCharacterSet AL16UTF16 \ -totalMemory 2048 \ -databaseType MULTIPURPOSE \ -automaticMemoryManagement false \ -storageType ASM \ -diskGroupName DATA \ -recoveryAreaDestination FRA \ -recoveryAreaSize 5 \ -sampleSchema true \ -emConfiguration NONE \ -nodes racnode1,racnode2```> 💡 数据库创建后,使用 `srvctl status database -d RACDB` 验证两个实例是否均运行。---### 五、验证与监控#### 1. 集群状态检查```bashcrsctl check clustercrsctl stat res -tolsnodes -n```#### 2. 数据库实例状态```bashsrvctl status database -d RACDB```输出应显示:```Instance RACDB1 is running on node racnode1Instance RACDB2 is running on node racnode2```#### 3. ASM磁盘组状态```bashasmcmd lsdg```确认DATA与FRA磁盘组状态为MOUNTED。---### 六、生产环境建议- **备份策略**:启用RMAN + ASM快照,定期归档日志- **监控工具**:集成Enterprise Manager Cloud Control或Prometheus + Grafana监控集群健康- **网络冗余**:私网建议使用双网卡绑定(bonding),避免单点故障- **补丁管理**:使用OPatch定期更新PSU与BP> 🔧 **高可用性测试**:手动关闭一个节点(`shutdown -h now`),观察VIP是否漂移、另一个节点是否自动接管服务。正常情况下,客户端连接不应中断。---### 七、结语:为什么RAC是数据中台的基石?在构建数字孪生、实时决策系统时,数据的连续性与一致性远高于性能。Oracle RAC通过共享存储与缓存融合技术,实现了“无感知故障切换”——这正是企业级应用所追求的SLA保障。相比单机数据库或主从复制,RAC在节点故障时可实现秒级恢复,且支持在线扩容,是构建高可用数据平台的黄金标准。如果您正在规划下一代数据平台架构,且对系统稳定性有严苛要求,**申请试用&https://www.dtstack.com/?src=bbs** 可为您提供完整的Oracle RAC部署评估环境与专家支持。 **申请试用&https://www.dtstack.com/?src=bbs** 支持一键生成集群拓扑图与配置模板,大幅降低部署门槛。 **申请试用&https://www.dtstack.com/?src=bbs** 更可获取定制化迁移方案,助力您从传统架构平滑过渡至高可用RAC体系。---> ✅ 最终建议:在生产环境部署前,务必在测试环境完成至少3次完整故障演练。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进行反馈,袋鼠云收到您的反馈后将及时答复和处理。