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

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

   数栈君   发表于 2026-03-26 18:52  54  0

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

在现代企业数据架构中,高可用性与弹性扩展已成为核心诉求。尤其在金融、电信、制造等对系统稳定性要求极高的行业,单点故障意味着业务中断、数据丢失与客户信任崩塌。Oracle Real Application Clusters(RAC)作为Oracle官方提供的集群解决方案,允许多个节点共享同一数据库实例,实现负载均衡与故障自动切换,是构建企业级核心数据库平台的黄金标准。本文将深入解析Oracle RAC部署实战流程,聚焦双节点环境下的系统配置、共享存储搭建与关键参数调优,助力企业构建稳定、可扩展的数据库基础设施。


一、Oracle RAC架构核心原理

Oracle RAC并非简单地在多台服务器上安装多个数据库实例,而是通过共享存储架构集群件(Clusterware),使多个节点同时访问同一组数据文件、控制文件与重做日志。每个节点运行独立的Oracle实例,但共享同一个数据库(Database),通过高速互联网络(Interconnect)同步内存结构(如Buffer Cache)与锁资源(Global Cache Service)。

关键优势

  • 高可用性:单节点宕机,其他节点自动接管服务
  • 负载均衡:应用连接可分散至多个实例
  • 水平扩展:增加节点提升并发处理能力
  • 零停机维护:可逐节点滚动升级或打补丁

在双节点部署中,系统需满足以下硬性条件:

  • 两台物理或虚拟服务器(建议同配置)
  • 共享存储设备(SAN/NAS/iSCSI)
  • 至少双网卡:公共网络(Public) + 私有互联网络(Private)
  • 操作系统统一(推荐Oracle Linux 8或Red Hat Enterprise Linux 8)
  • 时间同步服务(NTP或Chrony)必须精确到毫秒级

二、系统基础环境准备

1. 主机名与网络规划

为避免DNS解析异常,建议在/etc/hosts中静态配置所有节点IP与主机名:

192.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-vip192.168.1.102 scan-name.example.com scan-name

📌 VIP(Virtual IP):故障时自动漂移,确保客户端连接不中断📌 SCAN(Single Client Access Name):DNS轮询解析至3个IP,实现客户端负载均衡

2. 用户与权限配置

创建统一的Oracle用户组与用户:

groupadd oinstallgroupadd dbagroupadd operuseradd -g oinstall -G dba,oper oraclepasswd oracle

设置用户资源限制(/etc/security/limits.conf):

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

3. 内核参数优化

编辑/etc/sysctl.conf,应用如下参数:

fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 536870912kernel.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 生效。


三、共享存储配置(核心环节)

Oracle RAC要求所有节点访问同一份物理存储,用于存放:

  • 数据文件(Datafiles)
  • 控制文件(Control Files)
  • 在线重做日志(Online Redo Logs)
  • 归档日志(Archive Logs)
  • OCR(Oracle Cluster Registry)与Voting Disk

方案选择:ASM vs. 文件系统

方案优点缺点
ASM(Automatic Storage Management)自动条带化、负载均衡、在线重平衡、与RAC深度集成需额外学习,管理复杂度高
NFS / OCFS2配置简单,兼容性强性能较低,不推荐生产环境

强烈推荐使用ASM,它是Oracle官方为RAC设计的存储管理工具。

存储设备划分示例(以iSCSI为例):

  1. 在存储阵列上创建3个LUN:

    • LUN1:50GB → OCR/Voting Disk
    • LUN2:100GB → ASM Disk Group(DATA)
    • LUN3:50GB → ASM Disk Group(FRA - Fast Recovery Area)
  2. 在两个节点上发现并挂载iSCSI目标:

iscsiadm -m discovery -t sendtargets -p 192.168.1.200iscsiadm -m node -T iqn.2023-08.com.storage:rac -p 192.168.1.200 --login
  1. 使用lsblk确认设备:
lsblk# 输出示例:# sdb     8:16   0   50G  0 disk  # sdc     8:32   0  100G  0 disk  # sdd     8:48   0   50G  0 disk  
  1. 安装oracleasm工具并初始化:
yum install oracleasmlib oracleasm-support/etc/init.d/oracleasm configure# 按提示设置用户为oracle,组为dba,开机自启
  1. 标记ASM磁盘:
/etc/init.d/oracleasm createdisk OCR_DISK /dev/sdb/etc/init.d/oracleasm createdisk DATA_DISK /dev/sdc/etc/init.d/oracleasm createdisk FRA_DISK /dev/sdd
  1. 在另一节点扫描磁盘:
/etc/init.d/oracleasm scandisks/etc/init.d/oracleasm listdisks# 应输出:OCR_DISK DATA_DISK FRA_DISK

⚠️ 注意:所有节点必须看到相同的磁盘名称与权限,否则集群安装失败。


四、集群件(Clusterware)安装与配置

Oracle Grid Infrastructure(GI)是RAC的集群管理引擎,包含OCR、Voting Disk、CSS、CRS等核心组件。

步骤:

  1. 下载Oracle 19c或21c Grid Infrastructure安装包
  2. 解压并运行runInstaller,选择“Install and Configure Oracle Grid Infrastructure for a Cluster”
  3. 设置集群名称(如rac-cluster)、SCAN名称(如scan-name.example.com
  4. 添加第二个节点(racnode2),输入SSH凭据(需提前配置互信)
ssh oracle@racnode2 "mkdir -p /u01/app/19.0.0/grid"
  1. 在图形界面中指定网络接口:

    • Public Interface:eth0(192.168.1.x)
    • Private Interface:eth1(192.168.10.x)
  2. 指定ASM磁盘组:

    • DATA:使用DATA_DISK
    • FRA:使用FRA_DISK
    • OCR/Voting Disk:自动使用OCR_DISK
  3. 执行root脚本(在两个节点分别执行):

/u01/app/oraInventory/orainstRoot.sh/u01/app/19.0.0/grid/root.sh
  1. 验证集群状态:
crsctl check clustercrsctl stat res -t# 应显示所有资源为ONLINE

五、数据库实例安装与RAC配置

完成Grid Infrastructure后,安装Oracle Database软件:

  1. 运行runInstaller,选择“Install Database Software Only”
  2. 选择“Oracle Real Application Clusters database installation”
  3. 选择所有节点(racnode1, racnode2)
  4. 创建数据库时,选择“Create a Database” → “General Purpose”
  5. 数据库名(DB_NAME):PROD
  6. 配置多个实例(Instance Name):PROD1, PROD2
  7. 存储类型:ASM
  8. 数据文件路径:+DATA/PROD/DATAFILE/
  9. 启用归档模式与Flash Recovery Area:+FRA

安装完成后,使用srvctl管理服务:

srvctl start database -d PRODsrvctl status database -d PROD# 输出:Instance PROD1 is running on node racnode1  #       Instance PROD2 is running on node racnode2

六、性能与高可用性验证

1. 连接测试

使用SQL*Plus从任意节点连接:

sqlplus sys/password@scan-name.example.com:1521/PROD as sysdba

执行:

SELECT instance_name, host_name FROM v$instance;-- 应返回当前连接的实例名与节点主机名

2. 故障模拟

在racnode1上强制关闭数据库:

srvctl stop instance -d PROD -i PROD1 -o immediate

观察另一节点是否自动接管,客户端连接是否无中断。

3. 负载均衡测试

启动多个应用会话,观察v$session中实例分布是否均衡。


七、运维建议与最佳实践

  • ✅ 定期备份OCR与Voting Disk:ocrconfig -manualbackup
  • ✅ 启用ASM镜像(Normal/High Redundancy)提升容错能力
  • ✅ 使用Oracle Enterprise Manager或Grid Control统一监控
  • ✅ 所有补丁必须通过OPatch在双节点上滚动应用
  • ✅ 禁用SELinux与防火墙(或配置精确策略)

💡 企业级部署中,建议将OCR与Voting Disk置于独立的SSD存储,避免I/O争用。


八、结语:构建企业级数据核心

Oracle RAC不是“可选功能”,而是企业关键业务系统实现7×24小时不间断服务的基石。无论是支撑数字孪生系统的实时数据同步,还是为数字可视化平台提供低延迟查询服务,RAC的高可用架构都能确保数据服务永不掉线。

部署过程虽复杂,但每一步都直接影响系统的健壮性。建议在测试环境完整演练后,再迁移至生产。若需专业部署支持或快速验证环境,可申请试用&https://www.dtstack.com/?src=bbs,获取企业级RAC部署模板与自动化脚本。

为保障核心数据平台的持续演进,建议定期评估存储架构与集群规模。如需扩展至四节点或引入Oracle Data Guard实现异地容灾,RAC架构同样具备良好扩展性。再次推荐:申请试用&https://www.dtstack.com/?src=bbs,开启您的高可用数据库升级之路。

在数字化转型的浪潮中,稳定的数据底座决定业务上限。选择Oracle RAC,就是选择企业级的可靠性承诺。申请试用&https://www.dtstack.com/?src=bbs,让专业力量加速您的数据中台建设。

申请试用&下载资料
点击袋鼠云官网申请免费试用: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条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

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