Oracle RAC集群部署实战:双节点配置与共享存储配置
数栈君
发表于 2026-03-26 20:14
20
0
Oracle RAC集群部署实战:双节点配置与共享存储配置在企业级数据平台建设中,高可用性与负载均衡是核心需求。Oracle Real Application Clusters(RAC)作为Oracle官方提供的集群解决方案,允许多个节点共享同一数据库实例,实现无缝故障切换与横向扩展。对于构建数据中台、支撑数字孪生系统或实现高性能可视化分析平台的企业而言,部署一套稳定可靠的Oracle RAC集群,是保障业务连续性的关键一步。本文将深入解析Oracle RAC双节点部署的完整流程,涵盖操作系统配置、网络规划、共享存储设置、集群软件安装及数据库创建,确保部署过程可复现、可验证、可运维。---### 一、Oracle RAC架构核心原理Oracle RAC基于“多实例单数据库”架构,多个数据库实例(Instance)运行在不同节点上,但共享同一套数据文件、控制文件和重做日志。这种架构通过Oracle Clusterware(集群件)和Automatic Storage Management(ASM)实现节点间通信与存储管理。- **Clusterware**:负责节点健康监控、资源管理、心跳检测与故障转移。- **ASM**:提供集群感知的存储管理,支持跨节点的条带化与镜像,替代传统文件系统。- **VIP(Virtual IP)**:每个节点绑定一个虚拟IP,用于客户端连接,实现透明故障切换。- **SCAN(Single Client Access Name)**:统一访问入口,通过DNS轮询分配连接请求,提升负载均衡能力。> 📌 **为什么选择RAC?** > 在数字孪生系统中,实时数据采集与分析需持续高并发访问数据库。RAC通过多节点并行处理,避免单点瓶颈;在数据中台架构中,RAC的高可用性可确保ETL任务、模型训练与可视化服务永不中断。---### 二、部署环境准备#### 1. 硬件要求(双节点)| 组件 | 推荐配置 ||------|----------|| 节点数量 | 2(最小生产配置) || CPU | 每节点 ≥ 8核(建议16核以上) || 内存 | 每节点 ≥ 64GB(建议128GB) || 网络接口 | 至少3个:Public、Private、Storage || 存储 | 共享存储 ≥ 1TB(推荐SAN或iSCSI) |#### 2. 网络规划(关键!)| 接口 | 用途 | IP示例 | 子网 | 协议 ||------|------|--------|------|------|| eth0 | Public Network | 192.168.1.10 / 192.168.1.11 | 255.255.255.0 | TCP/IP || eth1 | Private Interconnect | 10.10.10.10 / 10.10.10.11 | 255.255.255.0 | UDP || eth2 | Storage Network(可选) | 172.16.1.10 / 172.16.1.11 | 255.255.255.0 | iSCSI / FC |> ⚠️ 注意:Private网络必须独立于Public网络,且带宽 ≥ 10Gbps,延迟 < 1ms,否则集群心跳失败将导致节点驱逐(Node Eviction)。#### 3. 共享存储配置Oracle RAC要求所有节点访问相同的存储设备。推荐方案:- **FC SAN**:性能最佳,适合金融、电信等高要求场景。- **iSCSI + Multipath**:成本较低,适合中小企业。- **NFS**:不推荐用于生产环境,存在锁机制与性能瓶颈。**配置步骤:**1. 在存储阵列上创建LUN,容量建议 ≥ 500GB(用于OCR、Voting Disk、数据文件)。2. 将LUN映射至两个节点。3. 在Linux系统中使用`multipath -ll`确认多路径识别成功。4. 使用`lsblk`或`fdisk -l`确认设备路径一致(如 `/dev/mapper/mpathb`)。> ✅ 推荐使用ASM管理共享存储,避免使用ext4/xfs等本地文件系统。---### 三、操作系统配置(CentOS 7/8 或 Oracle Linux 8)#### 1. 主机名与DNS解析```bash# 编辑 /etc/hosts192.168.1.10 rac1.example.com rac1192.168.1.11 rac2.example.com rac210.10.10.10 rac1-priv.example.com rac1-priv10.10.10.11 rac2-priv.example.com rac2-priv192.168.1.15 rac-scan.example.com```> 📌 SCAN名称需在DNS中配置3个IP(轮询),或在/etc/hosts中模拟(仅测试环境)。#### 2. 关闭防火墙与SELinux```bashsystemctl stop firewalld && systemctl disable firewalldsetenforce 0sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config```#### 3. 安装依赖包```bashyum install -y binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel make sysstat libxcb libX11 libXau libXi libXtst libXrender libXext libXft libXfixes libXt libXmu libXp libXdmcp libXinerama```#### 4. 创建用户与组```bashgroupadd -g 501 oinstallgroupadd -g 502 dbagroupadd -g 503 operuseradd -u 501 -g oinstall -G dba,oper oracleecho "oracle" | passwd --stdin oracle```#### 5. 内核参数优化编辑 `/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```应用配置:```bashsysctl -p```#### 6. 用户资源限制编辑 `/etc/security/limits.conf`:```conforacle soft nofile 1024oracle hard nofile 65536oracle soft nproc 16384oracle hard nproc 16384oracle soft stack 10240oracle hard stack 32768oracle soft memlock 3145728oracle hard memlock 3145728```---### 四、共享存储与ASM配置#### 1. 安装Oracle ASMlib(可选)若使用Oracle ASMlib驱动:```bashrpm -ivh oracleasm-support-*.rpm oracleasmlib-*.rpm oracleasm-*.rpm```初始化:```bash/etc/init.d/oracleasm configure# 按提示设置用户为oracle,组为dba,开机启动```#### 2. 创建ASM磁盘```bash# 假设共享磁盘为 /dev/mapper/mpathb/sbin/oracleasm createdisk OCR_DISK /dev/mapper/mpathb/sbin/oracleasm createdisk DATA_DISK /dev/mapper/mpathc/sbin/oracleasm createdisk FRA_DISK /dev/mapper/mpathd```验证:```bash/sbin/oracleasm listdisks# 输出:OCR_DISK DATA_DISK FRA_DISK```> 💡 建议:OCR磁盘 ≥ 10GB,FRA(快速恢复区) ≥ 200GB,DATA磁盘按业务需求分配。---### 五、安装Oracle Grid Infrastructure(集群件)1. 下载Oracle 19c或21c Grid Infrastructure安装包(需与数据库版本匹配)。2. 解压至 `/u01/app/19.0.0/grid`。3. 以oracle用户运行安装程序:```bashcd /u01/app/19.0.0/grid./runInstaller```**安装向导关键配置:**- 安装类型:**Install and Configure Oracle Grid Infrastructure for a Cluster**- 节点:添加rac1、rac2(确保SSH互信已配置)- 网络接口:指定Public与Private网络- 存储选项:**Automatic Storage Management (ASM)**- ASM磁盘发现路径:`ORCL:*`(若使用ASMlib)或 `/dev/mapper/*`- 设置ASM密码(需记住,用于后续DB创建)- 指定OCR与Voting Disk位置(自动分配)安装完成后,以root身份执行脚本:```bash/u01/app/oraInventory/orainstRoot.sh/u01/app/19.0.0/grid/root.sh```验证集群状态:```bashcrsctl check clustercrsctl stat res -t```> ✅ 正常输出应显示所有资源为ONLINE,包括ora.cssd、ora.diskmon、ora.gipcd等。---### 六、安装Oracle Database软件1. 下载Oracle Database 19c/21c软件包。2. 解压至 `/u01/app/oracle/product/19.0.0/dbhome_1`。3. 运行安装程序:```bash./runInstaller```**关键配置:**- 安装类型:**Install database software only**- 节点选择:全部节点(rac1, rac2)- 数据库版本:Enterprise Edition- 忽略“创建数据库”选项(后续通过DBCA创建)执行root脚本:```bash/u01/app/oracle/product/19.0.0/dbhome_1/root.sh```---### 七、使用DBCA创建RAC数据库```bashdbca -silent -createDatabase \ -templateName General_Purpose.dbc \ -gdbname RACDB \ -sid RACDB \ -responseFile NO_VALUE \ -characterSet AL32UTF8 \ -nationalCharacterSet AL16UTF16 \ -registerWithDirService FALSE \ -listeners LISTENER \ -nodeinfo rac1,rac2 \ -storageType ASM \ -diskGroupName DATA \ -recoveryAreaDestination FRA \ -databaseType MULTIPURPOSE \ -memoryPercentage 40 \ -emConfiguration NONE```等待完成,数据库将自动在两个节点上启动,并注册至Clusterware。验证:```bashsrvctl status database -d RACDB# 输出:Instance RACDB1 is running on node rac1# Instance RACDB2 is running on node rac2```---### 八、高可用性测试1. 在rac1上模拟故障:```bashshutdown -h now```2. 在rac2上检查数据库状态:```bashsrvctl status database -d RACDB# 应显示:Instance RACDB2 is running on node rac2```3. 客户端连接SCAN地址:```bashsqlplus user/password@rac-scan.example.com:1521/RACDB```> ✅ 连接应成功,业务无中断。故障切换时间通常 < 30秒。---### 九、运维建议与最佳实践- **定期备份OCR与Voting Disk**:`ocrconfig -showbackup`- **监控ASM磁盘空间**:`asmcmd lsdg`- **启用自动诊断仓库(ADR)**:便于故障分析- **禁用NTP,使用Oracle Cluster Time Sync Service(CTSS)**- **避免在RAC节点上运行非Oracle服务**,防止资源争用---### 十、结语:RAC是数据中台的基石在构建企业级数据平台时,Oracle RAC提供的是“零停机”的数据库服务能力。无论是支撑实时数字孪生模型的高频写入,还是保障可视化分析平台的持续查询,RAC的双活架构都远超单机方案的可靠性。部署RAC虽复杂,但其带来的稳定性与扩展性,足以支撑未来5–10年的核心业务增长。建议在生产环境部署前,先在测试环境完整演练一次流程。[申请试用&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) 如需进一步获取自动化部署脚本、集群监控模板或ASM性能调优手册,可联系专业服务团队,获取定制化支持方案。申请试用&下载资料
点击袋鼠云官网申请免费试用:
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进行反馈,袋鼠云收到您的反馈后将及时答复和处理。