博客 Oracle RAC集群部署实战:双节点配置与共享存储设置

Oracle RAC集群部署实战:双节点配置与共享存储设置

   数栈君   发表于 2026-03-29 08:29  42  0

Oracle RAC集群部署实战:双节点配置与共享存储设置

在企业级数据架构中,高可用性与负载均衡是保障业务连续性的核心需求。Oracle Real Application Clusters(RAC)作为Oracle数据库的集群解决方案,允许多个节点共享同一数据库实例,实现无缝故障切换与横向扩展。对于构建数据中台、支撑数字孪生系统或实现高并发可视化分析平台的企业而言,部署一套稳定可靠的Oracle RAC集群,是提升系统韧性与性能的关键步骤。

本文将基于双节点环境,系统讲解Oracle RAC部署的核心流程,涵盖操作系统配置、共享存储设置、网络规划、集群软件安装与数据库创建,确保每一步都具备可操作性与生产环境适配性。


一、环境准备:硬件与网络规划

Oracle RAC依赖于共享存储与多节点网络通信,因此硬件与网络架构必须满足严格标准。

1.1 节点配置

  • 节点数量:建议至少双节点,以实现冗余与故障切换。
  • CPU与内存:每个节点建议配置≥8核CPU、≥32GB RAM,视并发连接数与数据量可适当提升。
  • 操作系统:推荐使用Oracle Linux 8.x 或 Red Hat Enterprise Linux 8.x,确保与Oracle官方支持列表一致。
  • 磁盘空间:每个节点系统盘≥100GB,用于安装操作系统与Oracle软件;共享存储需预留≥500GB用于数据文件、归档日志与OCR/Voting Disk。

1.2 网络架构

Oracle RAC要求三类网络接口:

  • Public Network(公有网络):用于客户端连接与应用访问,建议使用千兆或万兆以太网。
  • Private Network(私有网络):用于节点间心跳通信与缓存融合(Cache Fusion),必须独立于公有网络,推荐使用专用网卡与交叉线或专用交换机,带宽建议≥10Gbps。
  • Virtual IP(VIP):由Clusterware自动管理,用于客户端连接重定向,需与Public Network同网段。

✅ 建议为Private Network配置独立VLAN,避免广播风暴影响集群稳定性。


二、共享存储配置:ASM与多路径

Oracle RAC的核心是“共享存储”,所有节点必须能同时访问同一套数据文件。推荐使用ASM(Automatic Storage Management)管理存储,替代传统文件系统。

2.1 共享存储类型选择

  • SAN存储:最稳定方案,通过光纤通道连接存储阵列,支持多路径。
  • iSCSI:成本较低,适用于中等规模部署,需配置多路径软件。
  • NFS(仅限Oracle 19c+):支持通过NFS挂载共享存储,但需启用Oracle Clusterware的NFS支持特性。

2.2 配置多路径(Multipath)

在Linux系统中,需安装device-mapper-multipath并配置多路径策略,避免单路径故障。

# 安装多路径工具yum install -y device-mapper-multipath# 生成配置文件mpathconf --enable --with_multipathd y# 扫描设备multipath -ll# 编辑 /etc/multipath.conf,添加如下内容(示例):defaults {    user_friendly_names yes    path_grouping_policy multibus}devices {    device {        vendor "Dell"        product "PowerVault"        path_grouping_policy multibus        hardware_handler "0"        path_checker readsector0    }}

重启服务并验证:

systemctl restart multipathdmultipath -ll

输出应显示多个路径指向同一逻辑卷,如:

mpatha (3600605b0045f3c201a1a1a1a1a1a1a1a) dm-0 Dell,PowerVaultsize=500G features='1 queue_if_no_path' hwhandler='0' wp=rw|-+- policy='round-robin 0' prio=1 status=active| |- 2:0:0:0 sda 8:0  active ready running| `- 3:0:0:0 sdb 8:16 active ready running

2.3 创建ASM磁盘组

使用oracleasm工具或udev规则绑定共享磁盘为ASM磁盘:

# 使用oracleasm创建磁盘(需提前安装oracleasmlib)oracleasm createdisk DATA1 /dev/mapper/mpatha1oracleasm createdisk FRA1 /dev/mapper/mpatha2# 列出已创建的ASM磁盘oracleasm listdisks

🔔 注意:所有节点必须执行相同操作,确保磁盘名一致。


三、操作系统参数优化

为确保Oracle RAC稳定运行,需对操作系统内核参数进行精细化调整。

3.1 编辑 /etc/sysctl.conf

# 共享内存kernel.shmmax = 68719476736kernel.shmmni = 4096kernel.shmall = 16777216# 信号量kernel.sem = 250 32000 100 128# 文件句柄fs.file-max = 6815744fs.aio-max-nr = 1048576# 网络net.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.2 用户资源限制(/etc/security/limits.conf

oracle   soft   nofile    1024oracle   hard   nofile    65536oracle   soft   nproc     16384oracle   hard   nproc     16384oracle   soft   stack     10240oracle   hard   stack     32768grid     soft   nofile    1024grid     hard   nofile    65536

3.3 关闭防火墙与SELinux

systemctl stop firewalldsystemctl disable firewalldsed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/configsetenforce 0

四、安装Oracle Clusterware与Grid Infrastructure

4.1 用户与组准备

在所有节点创建统一用户与组:

groupadd -g 1000 oinstallgroupadd -g 1200 dbagroupadd -g 1201 opergroupadd -g 1202 asmadmingroupadd -g 1203 asmdbagroupadd -g 1204 asmoperuseradd -u 1100 -g oinstall -G dba,asmdba,oper griduseradd -u 1101 -g oinstall -G dba,asmdba,oper oracle

4.2 安装Grid Infrastructure

  • 下载Oracle Grid Infrastructure 19c或21c ISO镜像。
  • 挂载ISO,执行runInstaller
  • 选择“Install and Configure Oracle Grid Infrastructure for a Cluster”。
  • 输入集群名称(如rac-cluster)、SCAN名称(如rac-scan.example.com)。
  • 配置Private Network为专用网段(如192.168.10.0/24)。
  • 指定ASM磁盘组:DATA(用于数据文件)、FRA(用于快速恢复区)。
  • 执行root脚本(root.sh)在所有节点依次运行。

📌 安装完成后,使用crsctl check cluster验证集群状态,确保所有节点均为“UP”。


五、创建Oracle RAC数据库

5.1 启动Database Installer

以oracle用户身份运行dbca(Database Configuration Assistant):

dbca

选择:

  • Create a Database
  • Advanced Configuration
  • RAC Database
  • 选择已配置的集群节点(如node1, node2)
  • 设置全局数据库名(如RACDB.example.com)与SID前缀(如RACDB
  • 选择存储类型:ASM
  • 配置数据文件位置:+DATA/RACDB/DATAFILE/
  • 设置恢复区:+FRA
  • 内存与进程:建议SGA≥8GB,PGA≥4GB,进程数≥500
  • 启用归档模式(生产环境必须)
  • 设置字符集:AL32UTF8

5.2 验证数据库状态

srvctl status database -d RACDB# 输出应显示两个实例均运行:Instance RACDB_1 is running on node1, Instance RACDB_2 is running on node2sqlplus / as sysdbaSQL> select instance_name, status from gv$instance;

六、高可用性与监控建议

  • 心跳监控:使用crsctl stat res -t定期检查集群资源状态。
  • 负载均衡:客户端连接字符串应使用SCAN名称,由DNS轮询实现负载分发。
  • 备份策略:使用RMAN备份至FRA磁盘组,并定期归档日志异地复制。
  • 补丁管理:使用OPatch进行滚动升级,避免停机。

💡 为保障数字孪生系统中的实时数据同步,建议启用Oracle GoldenGate进行跨集群数据复制,实现异地灾备。


七、常见问题与规避策略

问题原因解决方案
CRS-4535: Cannot communicate with Cluster Ready Services时间不同步所有节点启用NTP,使用chronyd同步时间
ASM磁盘无法识别权限或路径不一致检查oracleasm listdisks是否在所有节点一致
VIP无法浮动网络子网配置错误确保VIP与Public Network同网段,无防火墙拦截
数据库启动失败控制文件路径错误使用asmcmd检查+DATA/RACDB/CONTROLFILE/是否存在

八、总结:构建企业级数据中台的基石

Oracle RAC集群部署不仅是技术动作,更是企业数字化转型的基础设施工程。在支撑高并发查询、实时分析与多节点协同的场景中,RAC提供了无与伦比的稳定性与扩展能力。无论是构建数字孪生模型的实时数据源,还是为可视化平台提供底层数据服务,一个配置得当的RAC集群都是不可或缺的。

为确保部署成功,建议在测试环境先行演练,记录每一步操作日志,并建立标准化部署手册。企业可借助专业服务加速落地,提升部署效率与系统可靠性。

申请试用&https://www.dtstack.com/?src=bbs申请试用&https://www.dtstack.com/?src=bbs申请试用&https://www.dtstack.com/?src=bbs

✅ 最终建议:在生产环境部署前,务必进行压力测试与故障模拟(如断网、断电),验证集群自动恢复能力。Oracle 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进行反馈,袋鼠云收到您的反馈后将及时答复和处理。
0条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

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