博客 Oracle RAC集群部署实战:双节点高可用配置

Oracle RAC集群部署实战:双节点高可用配置

   数栈君   发表于 2026-03-27 17:20  24  0
Oracle RAC集群部署实战:双节点高可用配置在现代企业数据架构中,高可用性与连续性是核心诉求。无论是金融交易系统、电信计费平台,还是制造企业的实时监控系统,任何单点故障都可能导致业务中断、数据丢失或客户信任崩塌。Oracle Real Application Clusters(RAC)作为Oracle官方提供的企业级高可用解决方案,允许多个节点共享同一数据库实例,实现负载均衡与故障自动切换,是构建稳定数据中台的基石。本文将系统性地指导您完成Oracle RAC在双节点环境下的完整部署流程,涵盖硬件准备、操作系统配置、存储架构设计、集群软件安装、数据库创建与验证,确保您在生产环境中具备可复用的部署能力。---### 一、部署前提与架构设计Oracle RAC要求所有节点共享存储,并通过高速网络实现节点间通信。典型的双节点架构包含:- **两个物理服务器节点**:建议使用相同型号、相同配置的服务器,避免因硬件差异导致性能瓶颈或心跳丢失。- **共享存储系统**:推荐使用ASM(Automatic Storage Management)管理的共享磁盘,支持OCR(Oracle Cluster Registry)和Voting Disk的冗余存储。可采用SAN、iSCSI或NFS(仅限测试环境)。- **双网络接口**: - **公共网络(Public Network)**:用于客户端连接与应用访问,配置静态IP。 - **私有网络(Private Network)**:用于节点间心跳与缓存融合(Cache Fusion),必须独立于公共网络,建议使用10Gbps以上以太网,禁用防火墙与NAT。- **时间同步**:所有节点必须使用NTP或Chrony同步时间,时间偏差超过100ms将导致集群分裂(Split-Brain)。> ✅ **关键建议**:在部署前,使用Oracle Cluster Verification Utility(CVU)进行预检查,确保环境符合官方要求。下载地址:[Oracle RAC官方文档](https://docs.oracle.com/en/database/oracle/oracle-database/19/cwlin/index.html)---### 二、操作系统与内核参数配置以Oracle Linux 8.9或Red Hat Enterprise Linux 8.9为例,需执行以下标准化配置:#### 1. 用户与组创建```bashgroupadd -g 54321 oinstallgroupadd -g 54322 dbagroupadd -g 54323 operuseradd -u 54321 -g oinstall -G dba,oper oracleecho "oracle:YourStrongPassword123!" | chpasswd```#### 2. 内核参数优化编辑 `/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` 生效。#### 3. 资源限制配置编辑 `/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```#### 4. 关闭防火墙与SELinux```bashsystemctl stop firewalldsystemctl disable firewalldsetenforce 0sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config```---### 三、共享存储配置(ASM)ASM是RAC的核心组件,用于管理共享磁盘。推荐使用3个磁盘:- **OCR Disk**(10GB):存储集群配置信息- **Voting Disk**(10GB):用于节点健康判断- **Data Disk**(≥100GB):存放数据库文件使用 `lsblk` 或 `fdisk -l` 确认磁盘未被挂载,然后使用 `dd` 清空头部:```bashdd if=/dev/zero of=/dev/sdb bs=1M count=100dd if=/dev/zero of=/dev/sdc bs=1M count=100dd if=/dev/zero of=/dev/sdd bs=1M count=100```配置udev规则,确保磁盘名称持久化:```bashcat > /etc/udev/rules.d/99-oracle-asm.rules << 'EOF'KERNEL=="sdb", SUBSYSTEM=="block", PROGRAM="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29b5e4a8d7d7b5f8a1a4d1b3e4c", SYMLINK+="asm-ocr", OWNER="oracle", GROUP="dba", MODE="0660"KERNEL=="sdc", SUBSYSTEM=="block", PROGRAM="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29b5e4a8d7d7b5f8a1a4d1b3e4d", SYMLINK+="asm-vote", OWNER="oracle", GROUP="dba", MODE="0660"KERNEL=="sdd", SUBSYSTEM=="block", PROGRAM="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29b5e4a8d7d7b5f8a1a4d1b3e4e", SYMLINK+="asm-data", OWNER="oracle", GROUP="dba", MODE="0660"EOF```重新加载规则: ```bashudevadm control --reload-rules && udevadm trigger```---### 四、安装Oracle Grid Infrastructure1. 下载Oracle Grid Infrastructure 19c(版本19.21或更高)安装包,解压至 `/opt/oracle/grid`。2. 以oracle用户运行安装程序:```bashcd /opt/oracle/grid./runInstaller```3. 安装向导关键步骤: - 选择 **“Install and Configure Oracle Grid Infrastructure for a Cluster”** - 语言:English - 节点:添加两个节点的主机名与IP(公共与私有) - 网络接口:指定公共网卡(如ens192)与私有网卡(如ens224) - 存储类型:选择 **ASM** - 磁盘组:创建名为 `DATA` 的磁盘组,使用 `asm-data`;创建名为 `OCR` 的磁盘组,使用 `asm-ocr` 和 `asm-vote` - 设置ASM密码(建议与数据库密码不同) - 执行root脚本:在两个节点分别运行 `root.sh`> ⚠️ 注意:若出现“Cluster Time Synchronization Service”失败,请检查NTP服务是否正常运行,或切换为Chrony。---### 五、安装Oracle Database软件1. 解压Oracle Database 19c安装包至 `/opt/oracle/db`。2. 运行安装程序:```bashcd /opt/oracle/db./runInstaller```3. 选择 **“Install database software only”**,不创建数据库。4. 选择集群所有节点(确保两个节点均被选中)。5. 完成安装后,执行 `root.sh` 脚本。---### 六、创建RAC数据库使用DBCA(Database Configuration Assistant)图形化工具创建数据库:```bashdbca```关键配置项:- 操作:**Create a Database**- 数据库模板:**General Purpose or Transaction Processing**- 数据库标识:输入全局数据库名(如 `racdb.example.com`)- 节点选择:**All Nodes**- 存储选项:选择 **ASM**,数据文件位于 `+DATA`,归档日志位于 `+FRA`- 启用 **Flashback Database** 和 **Archive Mode**- 设置字符集:AL32UTF8(推荐)- 配置管理:启用Enterprise Manager Express(端口5500)创建完成后,验证数据库状态:```bashsrvctl status database -d racdb# 应显示:Instance racdb1 is running on node node1# Instance racdb2 is running on node node2```---### 七、高可用性验证与性能测试#### 1. 故障切换测试在节点1上强制关闭数据库实例:```bashsrvctl stop instance -d racdb -i racdb1```观察节点2是否自动接管服务。客户端连接应无中断。#### 2. 负载均衡验证使用SQL*Plus从客户端连接数据库,执行:```sqlSELECT instance_name, host_name FROM v$instance;```多次执行,观察返回的实例名是否在两个节点间轮换,验证TNS负载均衡生效。#### 3. 心跳监控查看OCR与Voting Disk状态:```bashocrcheckcrsctl query css votedisk```确保所有磁盘状态为“ONLINE”。---### 八、运维最佳实践- **定期备份**:使用RMAN备份ASM中的控制文件、数据文件与归档日志。- **补丁管理**:使用OPatch工具统一打补丁,避免节点间版本不一致。- **监控工具**:部署Oracle Enterprise Manager(OEM)或Prometheus + Grafana监控集群健康。- **日志分析**:定期检查 `$ORACLE_BASE/diag/crs/` 和 `$ORACLE_BASE/diag/rdbms/` 下的日志文件。> 🔍 **性能调优提示**:启用ASM的条带化(Striping)与冗余(Normal/High),提升I/O吞吐。对于高并发写入场景,建议使用ASM的“High Redundancy”模式,配合3个以上磁盘。---### 九、扩展建议:迈向企业级数据中台Oracle RAC不仅是数据库高可用方案,更是构建企业级数据中台的核心组件。当您需要整合来自ERP、CRM、IoT设备的多源异构数据,实现统一查询、实时分析与决策支持时,RAC提供的稳定、可扩展、零中断的数据库服务,是支撑数字孪生与可视化分析平台的底层基石。> 为加速您的数据中台建设,我们推荐使用专业级数据集成平台,支持异构数据源接入、实时流处理与自动化调度。[申请试用&https://www.dtstack.com/?src=bbs](https://www.dtstack.com/?src=bbs)在完成RAC部署后,建议将数据仓库层与分析层分离,使用物化视图或GoldenGate实现数据同步,进一步提升系统响应速度与可用性。> [申请试用&https://www.dtstack.com/?src=bbs](https://www.dtstack.com/?src=bbs) 可帮助您快速构建从RAC到分析层的全链路数据管道,降低运维复杂度。---### 十、总结:RAC部署的核心价值| 维度 | 传统单机 | Oracle RAC双节点 ||------|----------|------------------|| 可用性 | 单点故障风险高 | 节点故障自动迁移 || 扩展性 | 垂直扩展受限 | 水平扩展支持多节点 || 性能 | 单核瓶颈 | 多实例并行处理 || 成本 | 初期低 | 长期TCO更低 |Oracle RAC部署虽复杂,但其带来的业务连续性保障远超投入成本。尤其在金融、政务、能源等对系统稳定性要求极高的领域,RAC已成为事实标准。> 在您的下一个关键系统升级中,不妨将RAC作为高可用架构的首选方案。[申请试用&https://www.dtstack.com/?src=bbs](https://www.dtstack.com/?src=bbs) 获取专业部署支持与架构咨询,让您的数据平台真正实现“永不宕机”。--- > ✅ 本文部署流程已通过Oracle 19c + Oracle Linux 8.9验证,适用于生产环境。请在实施前在测试环境完整演练,并备份所有关键配置。申请试用&下载资料
点击袋鼠云官网申请免费试用: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进行反馈,袋鼠云收到您的反馈后将及时答复和处理。
0条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

最新活动更多
微信扫码获取数字化转型资料