Oracle RAC部署是构建高可用、高性能企业级数据库架构的核心环节,尤其适用于对业务连续性要求极高的数据中台、实时分析平台和数字可视化系统。与单实例数据库相比,Oracle RAC(Real Application Clusters)允许多个节点共享同一数据库实例,实现负载均衡、故障自动切换和横向扩展,从而保障关键业务7×24小时不间断运行。
在正式部署前,必须完成全面的架构设计与资源评估,避免后期因配置不当导致集群无法启动或性能瓶颈。
Oracle RAC必须使用共享存储,常见方案包括:
⚠️ 注意:OCR与Voting Disk必须部署在独立的冗余磁盘上,避免单点故障。
推荐使用Oracle Linux 8或Red Hat Enterprise Linux 8,确保与Oracle官方认证兼容。需提前配置以下关键参数:
# 编辑 /etc/sysctl.confkernel.shmmni = 4096kernel.shmall = 2097152kernel.shmmax = 68719476736kernel.sem = 250 32000 100 128fs.file-max = 6815744net.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同时,需为oracle用户设置资源限制:
# 编辑 /etc/security/limits.conforacle soft nofile 1024oracle hard nofile 65536oracle soft nproc 16384oracle hard nproc 16384oracle soft stack 10240oracle hard stack 32768每个节点必须配置唯一主机名(如rac1, rac2),并确保在所有节点的 /etc/hosts 中添加静态解析:
192.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✅ 关键点:VIP(Virtual IP)必须与公共网络在同一子网,且未被其他设备占用。DNS建议使用本地DNS服务器,避免依赖公网解析。
所有节点必须使用NTP服务保持时间同步,时间偏差超过1000ms将导致集群重启。
# 安装chrony(推荐)yum install chrony -ysystemctl enable --now chronyd# 配置时间服务器(如内网NTP服务器)echo "server 192.168.1.5 iburst" >> /etc/chrony.confchronyc sources -vGrid Infrastructure是RAC的底层集群管理组件,包含OCR、Voting Disk、Clusterware和ASM。
从Oracle官网下载对应版本的Grid Infrastructure软件(如19c或21c),解压至统一目录:
unzip linuxx64_193000_grid_home.zip -d /u01/app/grid/使用响应文件(response file)进行静默安装,避免交互式安装出错:
cd /u01/app/grid/grid/./runInstaller -silent -responseFile /u01/app/grid/response/grid.rsp -ignorePrereqFailure安装过程中需指定:
/u01/app/grid/u01/app/19.0.0/gridDATA和FRA磁盘组安装完成后,系统会提示在所有节点执行两个脚本:
# 在每个节点依次执行/u01/app/oraInventory/orainstRoot.sh/u01/app/19.0.0/grid/root.sh执行后,使用crsctl check cluster验证集群状态:
crsctl check cluster# 输出应为:CRS-4537: Cluster Ready Services is online使用与Grid Infrastructure相同版本的数据库安装包,同样采用静默方式:
cd /u01/app/oracle/database/./runInstaller -silent -responseFile /u01/app/oracle/response/db.rsp -ignorePrereqFailure安装完成后,执行root脚本:
/u01/app/oracle/product/19.0.0/dbhome_1/root.sh使用DBCA(Database Configuration Assistant)图形化或静默方式创建数据库:
dbca -silent -createDatabase \ -templateName General_Purpose.dbc \ -gdbname RACDB \ -sid RACDB \ -responseFile NO_VALUE \ -characterSet AL32UTF8 \ -nationalCharacterSet AL16UTF16 \ -registerWithDirService FALSE \ -databaseType MULTIPURPOSE \ -memoryPercentage 40 \ -emConfiguration NONE \ -storageType ASM \ -diskGroupName DATA \ -recoveryGroupName FRA \ -nodes rac1,rac2 \ -sampleSchema true✅ 建议启用归档模式(ARCHIVELOG),并配置快速恢复区(FRA),便于后续备份与恢复。
crsctl stat res -t# 查看所有资源是否为ONLINE状态srvctl status database -d RACDB# 应显示两个实例均运行:Instance RACDB_1 is running on node rac1, Instance RACDB_2 is running on node rac2通过TNS连接字符串连接数据库,验证连接是否在节点间轮询:
SELECT instance_name, host_name FROM v$instance;多次执行,观察输出是否在两个节点间切换。
_gc_policy_time=0关闭自动负载均衡,避免频繁实例迁移sga_target与pga_aggregate_target,避免内存争用awr报告分析跨节点等待事件(如gc buffer busy)Oracle RAC本身提供节点级高可用,但仍需配合备份策略:
🔔 建议配置邮件或短信告警,当
CRS-0223(资源启动失败)或ORA-29702(集群通信中断)发生时,立即通知运维团队。
| 问题 | 原因 | 解决方案 |
|---|---|---|
CRS-4535: Cannot communicate with cluster | 网络不通或防火墙阻断 | 检查私网连通性,关闭firewalld/iptables |
ORA-15077: Could not locate ASM instance | ASM未启动 | 执行 srvctl start asm -n rac1 |
TNS-12547: TNS:lost contact | VIP未绑定 | 检查ifconfig是否显示VIP,若无则重启VIP:srvctl stop vip -n rac1; srvctl start vip -n rac1 |
ORA-01034: ORACLE not available | 数据库未注册到集群 | 使用 srvctl add database -d RACDB ... 重新注册 |
crsctl或srvctl命令操作。$ORACLE_BASE/diag/crs/与$ORACLE_BASE/diag/rdbms/下的日志,便于故障分析。Oracle RAC部署广泛应用于金融核心系统、电信计费平台、电力调度系统等对稳定性要求极高的场景。在数据中台架构中,RAC可作为统一数据引擎,支撑多租户实时分析、数据湖联邦查询与可视化仪表盘的并发访问。其高可用特性确保了数字孪生系统在仿真计算高峰期仍能稳定输出结果。
💡 为提升部署效率与降低运维复杂度,建议企业采用自动化工具(如Ansible或Terraform)管理节点配置与软件分发。如需快速验证RAC部署方案,可申请试用&https://www.dtstack.com/?src=bbs 获取企业级数据库集群部署沙箱环境。
Oracle RAC部署完成后,真正的挑战才刚刚开始。持续监控、容量规划、性能调优与灾备演练,才是保障系统长期稳定的关键。企业应将RAC纳入整体IT架构治理框架,结合自动化运维与智能监控,实现从“能跑”到“跑得好”的跃迁。
如需获取完整的部署脚本模板、响应文件样例或集群健康检查清单,申请试用&https://www.dtstack.com/?src=bbs 获取企业级数据库架构支持包。
申请试用&下载资料想要构建下一代实时数据引擎?申请试用&https://www.dtstack.com/?src=bbs,开启你的高可用数据库之旅。