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

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

   数栈君   发表于 2026-03-27 09:32  41  0

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

在企业级数据中台架构中,高可用性与高性能是核心诉求。Oracle Real Application Clusters(RAC)作为Oracle官方提供的集群解决方案,允许多个节点共享同一数据库实例,实现负载均衡与故障自动切换,是构建关键业务系统不可或缺的技术支柱。本文将深入解析Oracle RAC双节点部署的完整流程,涵盖操作系统配置、共享存储搭建、网络规划、集群软件安装与数据库创建,为企业提供可落地的部署指南。


一、Oracle RAC部署的核心前提

Oracle RAC依赖于三个关键组件协同工作:共享存储、私有网络与公共网络。任何环节的缺失或错误配置,都将导致集群无法启动或数据不一致。

  • 共享存储:必须由多个节点同时访问的存储设备,用于存放控制文件、数据文件、重做日志和OCR(Oracle Cluster Registry)等核心组件。推荐使用SAN(存储区域网络)或NFS(网络文件系统),但生产环境强烈建议使用ASM(Automatic Storage Management)管理共享磁盘。
  • 公共网络:用于客户端连接数据库,需配置VIP(Virtual IP)实现故障转移。
  • 私有网络:用于节点间心跳通信与缓存融合(Cache Fusion),必须独立于公共网络,建议使用千兆或万兆以太网,避免与其他流量混用。

最佳实践:私有网络应使用专用网卡,且不与任何外部网络互通,防止心跳包被干扰。若使用虚拟化环境(如VMware),需启用“网络隔离”与“多路径I/O”支持。


二、双节点系统环境准备

2.1 操作系统配置(以Oracle Linux 8.x为例)

在两个节点(node1、node2)上执行以下标准化配置:

# 关闭防火墙与SELinuxsudo systemctl stop firewalldsudo systemctl disable firewalldsudo setenforce 0sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config# 配置主机名与hosts文件hostnamectl set-hostname node1.example.comecho "192.168.1.10 node1.example.com node1" >> /etc/hostsecho "192.168.1.11 node2.example.com node2" >> /etc/hostsecho "192.168.2.10 node1-priv.example.com node1-priv" >> /etc/hostsecho "192.168.2.11 node2-priv.example.com node2-priv" >> /etc/hostsecho "192.168.1.100 node1-vip.example.com node1-vip" >> /etc/hostsecho "192.168.1.101 node2-vip.example.com node2-vip" >> /etc/hosts

2.2 用户与组创建

groupadd -g 501 oinstallgroupadd -g 502 dbagroupadd -g 503 operuseradd -u 501 -g oinstall -G dba,oper oracleecho "oracle:Oracle123" | chpasswd

2.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 生效。

2.4 资源限制配置

编辑 /etc/security/limits.conf

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

三、共享存储配置(ASM + Multipath)

3.1 存储设备识别

在两个节点上使用 lsblkfdisk -l 查看共享磁盘,假设识别出 /dev/sdb, /dev/sdc, /dev/sdd 三块磁盘。

3.2 配置多路径(Multipath)

安装并配置 device-mapper-multipath

sudo yum install -y device-mapper-multipathsudo systemctl enable multipathd --nowsudo multipath -ll

编辑 /etc/multipath.conf

defaults {    user_friendly_names yes    find_multipaths yes}devices {    device {        vendor "NETAPP"        product "LUN"        path_grouping_policy multibus        path_selector "round-robin 0"        hardware_handler "0"        failback immediate        no_path_retry queue    }}

重启服务并验证:

sudo systemctl restart multipathdsudo multipath -v3

输出应显示类似 mpatha (3600a098038304477485d4c4e4f4d454d) 的多路径设备。

3.3 创建ASM磁盘组

使用 oracleasm 工具标记磁盘(需安装Oracle ASMlib):

sudo /etc/init.d/oracleasm createdisk DATA1 /dev/mapper/mpathasudo /etc/init.d/oracleasm createdisk FRA1 /dev/mapper/mpathbsudo /etc/init.d/oracleasm listdisks

⚠️ 注意:确保两个节点上均执行相同操作,且磁盘名称完全一致。


四、集群软件安装(Grid Infrastructure)

4.1 下载与解压软件包

从Oracle官网下载:

  • linuxx64_193000_grid_home.zip(Grid Infrastructure 19c)
  • linuxx64_193000_db_home.zip(Database 19c)

解压至 /u01/app/grid/u01/app/oracle/product/19.0.0/dbhome_1

4.2 静默安装Grid Infrastructure

创建响应文件 grid_install.rsp

oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v19.0.0INVENTORY_LOCATION=/u01/app/oraInventorySELECTED_LANGUAGES=enORACLE_HOSTNAME=node1.example.comUNIX_GROUP_NAME=oinstallINSTALL_TYPE=CRSoracle.install.asm.SYSASMPassword=Oracle123oracle.install.asm.diskGroup.name=DATAoracle.install.asm.diskGroup.redundancy=EXTERNALoracle.install.asm.diskGroup.disks=/dev/oracleasm/disks/DATA1oracle.install.asm.diskGroup.diskDiscoveryString=/dev/oracleasm/disks/*oracle.install.asm.monitorPassword=Oracle123

执行安装:

cd /u01/app/grid./runInstaller -silent -responseFile /tmp/grid_install.rsp -ignorePrereqFailure

安装完成后,以root身份执行脚本:

sudo /u01/app/oraInventory/orainstRoot.shsudo /u01/app/grid/root.sh

4.3 验证集群状态

/u01/app/grid/bin/crsctl check cluster/u01/app/grid/bin/crsctl stat res -t

输出应显示所有资源为 ONLINE,包括 ora.cluster_interconnect.haipora.cssd


五、数据库实例部署

5.1 静默安装Oracle Database

创建响应文件 db_install.rsp

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0oracle.install.option=INSTALL_DB_SWONLYORACLE_HOSTNAME=node1.example.comUNIX_GROUP_NAME=oinstallINVENTORY_LOCATION=/u01/app/oraInventorySELECTED_LANGUAGES=enORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1ORACLE_BASE=/u01/app/oracleoracle.install.db.InstallEdition=EEoracle.install.db.isCustomInstall=falseoracle.install.db.DBA_GROUP=dbaoracle.install.db.OPER_GROUP=operoracle.install.db.config.starterdb.type=GENERAL_PURPOSEoracle.install.db.config.starterdb.globalDBName=racdb.example.comoracle.install.db.config.starterdb.SID=racdboracle.install.db.config.starterdb.characterSet=AL32UTF8oracle.install.db.config.starterdb.memoryOption=trueoracle.install.db.config.starterdb.memoryLimit=2048oracle.install.db.config.starterdb.enableSecuritySettings=trueoracle.install.db.config.starterdb.password.ALL=Oracle123oracle.install.db.config.starterdb.password.SYS=Oracle123oracle.install.db.config.starterdb.password.SYSTEM=Oracle123

执行安装:

cd /u01/app/oracle/product/19.0.0/dbhome_1./runInstaller -silent -responseFile /tmp/db_install.rsp -ignorePrereqFailure

5.2 使用DBCA创建RAC数据库

dbca -silent -createDatabase \  -templateName General_Purpose.dbc \  -gdbname racdb \  -sid racdb \  -responseFile NO_VALUE \  -characterSet AL32UTF8 \  -nationalCharacterSet AL16UTF16 \  -registerWithDirService false \  -listeners LISTENER \  -nodeinfo node1,node2 \  -storageType ASM \  -diskGroupName DATA \  -recoveryGroupName FRA \  -databaseType MULTIPURPOSE \  -memoryPercentage 30 \  -emConfiguration NONE \  -sampleSchema false

安装完成后,使用 srvctl status database -d racdb 验证实例状态。


六、高可用性验证与性能调优

6.1 故障切换测试

手动关闭一个节点的网络接口:

# 在node1上sudo ifdown eth0

观察VIP是否自动漂移到node2:

/u01/app/grid/bin/srvctl status vip -n node1/u01/app/grid/bin/srvctl status vip -n node2

客户端连接应无感知中断,验证RAC的高可用能力。

6.2 性能监控建议

  • 使用 awrreport 生成性能快照
  • 监控 v$gc* 视图,评估缓存融合效率
  • 检查 v$asm_diskgroup 磁盘组使用率
  • 避免跨节点频繁写入同一数据块,减少网络争用

七、运维建议与扩展方向

  • 备份策略:使用RMAN + ASM快照,定期备份OCR与Voting Disk
  • 补丁管理:使用OPatch进行滚动升级,避免停机
  • 监控工具:集成Zabbix或Prometheus + Oracle Exporter,实现自动化告警
  • 扩展性:未来可扩展至四节点,提升并发处理能力

📌 企业级建议:在部署RAC前,务必进行压力测试与灾难恢复演练。RAC虽提供高可用,但架构复杂度远高于单实例,需配备专业DBA团队。


八、结语:构建企业级数据基石

Oracle RAC部署不仅是技术操作,更是企业数据架构的基石工程。它为关键业务系统提供了连续性保障,是支撑数字孪生、实时分析与可视化决策的底层动力。在数据驱动的时代,稳定、可扩展、高可用的数据库平台,直接决定业务创新的速度与质量。

如需快速验证RAC部署方案,或希望获得专业团队的部署支持,可申请试用&https://www.dtstack.com/?src=bbs如需获取自动化部署脚本与配置模板,可申请试用&https://www.dtstack.com/?src=bbs如需评估RAC与云原生数据库的性价比,可申请试用&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条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

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