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

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

   数栈君   发表于 2026-03-27 12:47  71  0
Oracle RAC集群部署实战:双节点配置与共享存储设置在现代企业数据架构中,高可用性与弹性扩展能力已成为核心需求。对于关键业务系统,如财务结算、交易处理、客户关系管理等,单点故障意味着巨大的业务损失与声誉风险。Oracle Real Application Clusters(RAC)作为Oracle官方提供的集群解决方案,允许多个节点共享同一数据库实例,实现负载均衡与故障自动切换,是构建企业级高可用数据平台的首选架构。本文将聚焦于Oracle RAC在双节点环境下的完整部署流程,涵盖操作系统配置、共享存储搭建、网络规划、集群软件安装与数据库创建等关键环节,帮助技术团队系统性掌握Oracle RAC部署的核心技术要点。---### 一、Oracle RAC部署前提条件在启动部署前,必须确保硬件与软件环境满足Oracle官方推荐标准:- **硬件要求**: 两个物理服务器(或虚拟机),建议配置≥16核CPU、64GB内存、≥500GB本地磁盘。节点间网络延迟应低于1ms,推荐使用万兆以太网或InfiniBand。 - **操作系统**: Oracle Linux 8.x / Red Hat Enterprise Linux 8.x 是官方推荐平台。需关闭防火墙与SELinux,或配置精确的访问策略。- **网络规划**: 至少需三类网络接口: - **Public Network**:用于客户端连接与应用通信(如192.168.1.0/24) - **Private Network**:用于节点间心跳与缓存融合(Cache Fusion),建议独立网段(如10.10.10.0/24) - **Virtual IP(VIP)**:用于故障转移时的客户端重定向,需与Public网络同网段- **存储要求**: 必须使用共享存储,支持ASM(Automatic Storage Management)或第三方集群文件系统(如OCFS2)。推荐使用SAN或iSCSI,确保两个节点可同时访问相同LUN。> ✅ 建议:在部署前使用Oracle Cluster Verification Utility(CVU)进行环境预检,避免后期配置失败。---### 二、共享存储配置:ASM与多路径的实现Oracle RAC的核心优势在于“共享存储+缓存融合”,即多个实例可同时读写同一数据库文件,通过私有网络同步内存缓存。因此,共享存储是RAC部署的基石。#### 1. 存储设备准备在SAN环境中,为两个节点分配以下LUN:| LUN用途 | 大小 | 文件系统 | 说明 ||--------|------|----------|------|| OCR(Oracle Cluster Registry) | 10GB | ASM | 存储集群配置信息 || Voting Disk | 10GB | ASM | 用于节点健康判断与脑裂防护 || Data Files | 100GB+ | ASM | 数据库数据文件 || Flash Recovery Area | 50GB | ASM | 备份与归档日志 |> ⚠️ 注意:OCR与Voting Disk必须部署在ASM上,且建议配置冗余(External/Normal/High),生产环境推荐Normal冗余。#### 2. 多路径配置(Multipath)为避免单路径故障,必须配置多路径软件。在Linux系统中使用`multipathd`:```bash# 安装多路径工具yum install -y device-mapper-multipath# 生成配置文件mpathconf --enable --with_multipathd y# 扫描并识别LUNmultipath -ll# 编辑 /etc/multipath.conf,设置别名与策略defaults { user_friendly_names yes path_grouping_policy multibus}```配置完成后,重启服务并验证:```bashsystemctl restart multipathdmultipath -ll```输出应显示每个LUN有两条路径(如`sdb`与`sdc`),表明多路径生效。#### 3. ASM磁盘组创建使用`oracleasm`工具标记共享磁盘:```bash# 标记磁盘为ASM磁盘oracleasm createdisk OCR /dev/mapper/ocr_lunoracleasm createdisk VOTE /dev/mapper/vote_lunoracleasm createdisk DATA /dev/mapper/data_lunoracleasm createdisk FRA /dev/mapper/fra_lun# 列出已标记磁盘oracleasm listdisks```确保两个节点均能识别这些磁盘,否则集群无法启动。---### 三、操作系统与网络配置#### 1. 主机名与DNS解析每个节点需配置唯一主机名,并在`/etc/hosts`中添加所有节点的IP映射:```plaintext192.168.1.10 rac1.example.com rac1192.168.1.11 rac2.example.com rac210.10.10.10 rac1-priv.example.com rac1-priv10.10.10.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```> 🔍 重要:**禁止使用DHCP**,所有IP必须为静态分配。DNS解析必须稳定,否则GI(Grid Infrastructure)安装失败。#### 2. 内核参数优化编辑 `/etc/sysctl.conf`,添加以下参数:```conffs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 53687091200kernel.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. 用户与权限配置创建Oracle用户组与用户:```bashgroupadd oinstallgroupadd dbagroupadd operuseradd -g oinstall -G dba,oper oraclepasswd oracle```配置用户资源限制(`/etc/security/limits.conf`):```conforacle soft nofile 1024oracle hard nofile 65536oracle soft nproc 16384oracle hard nproc 16384oracle soft stack 10240oracle hard stack 32768```---### 四、Grid Infrastructure与Oracle Database安装#### 1. 安装Grid Infrastructure(GI)从Oracle官网下载最新版本的GI软件(如19c或21c),解压至两个节点的相同路径(如`/u01/app/19.0.0/grid`)。运行`runInstaller`,选择“Install and Configure Oracle Grid Infrastructure for a Cluster”。- 指定节点:rac1、rac2- 配置VIP与SCAN(Single Client Access Name):SCAN名如`rac-scan.example.com`- 选择ASM存储:使用之前标记的磁盘组- 设置ASM密码(需与数据库密码不同)安装过程中,脚本会自动在两个节点上执行`root.sh`,需在终端依次执行:```bash# 在rac1执行/u01/app/19.0.0/grid/root.sh# 在rac2执行/u01/app/19.0.0/grid/root.sh```安装完成后,验证集群状态:```bashcrsctl check clustercrsctl stat res -t```输出应显示所有资源为`ONLINE`。#### 2. 安装Oracle Database软件在任一节点运行Database安装程序,选择“Install Database Software Only”,不创建数据库。安装完成后,在两个节点上执行`root.sh`:```bash/u01/app/oracle/product/19.0.0/dbhome_1/root.sh```#### 3. 创建RAC数据库使用DBCA(Database Configuration Assistant)图形化工具,选择“Create a Database” → “Oracle Real Application Clusters database”。- 数据库名:`RACDB`- 实例前缀:`RACDB`- 选择所有节点(rac1、rac2)- 存储类型:ASM- 指定数据文件、重做日志、控制文件路径(自动分配至ASM磁盘组)- 设置字符集:AL32UTF8- 启用归档模式(生产环境必需)完成创建后,数据库将在两个节点上自动启动,并注册至集群。---### 五、验证与性能调优#### 1. 验证RAC运行状态```sql-- 连接到任意实例sqlplus / as sysdba-- 查看实例信息SELECT instance_number, instance_name, host_name FROM gv$instance;-- 查看数据库服务状态SELECT name, open_mode, database_role FROM v$database;```输出应显示两个实例(如`RACDB_1`、`RACDB_2`)均处于`OPEN`状态。#### 2. 负载均衡测试使用TNS连接字符串:```plaintextRACDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan.example.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = RACDB) ) )```客户端连接此服务名时,Oracle会自动将请求分发至负载较轻的节点。#### 3. 故障模拟测试手动关闭一个节点的网络或数据库服务,观察VIP是否自动漂移,客户端连接是否无中断。```bash# 在rac1上模拟宕机shutdown -h now```在rac2上查看日志:```bashtail -f /u01/app/19.0.0/grid/log/rac2/agent/ohasd/oraagent_oracle/oraagent_oracle.log```应看到`VIP failover`事件,客户端连接在3~5秒内恢复。---### 六、运维建议与最佳实践- **定期备份OCR与Voting Disk**:使用`ocrconfig -export`与`dd`命令备份。- **监控ASM磁盘使用率**:避免因空间不足导致实例崩溃。- **启用自动存储管理(ASM)**:相比文件系统,ASM提供更优的I/O均衡与条带化。- **禁用NTP时间同步**:改用Oracle Cluster Time Synchronization Service(CTSS),确保节点时间误差<1秒。- **启用Fast Application Notification(FAN)**:提升应用层故障感知速度。> 📌 企业级部署中,建议将RAC与备份系统、监控平台(如Zabbix、Prometheus)集成,实现自动化运维。---### 七、结语:构建高可用数据平台的基石Oracle RAC不仅是技术实现,更是企业数据连续性战略的核心组件。在数字孪生、实时分析、智能决策等场景中,RAC提供的“零停机”能力,直接决定了业务系统的可靠性与客户满意度。部署RAC虽复杂,但其带来的稳定性收益远超投入成本。对于追求极致可用性的企业,RAC是不可替代的架构选择。如需进一步降低部署门槛,提升运维效率,可考虑通过专业平台获取自动化部署模板与监控方案。 [申请试用&https://www.dtstack.com/?src=bbs](https://www.dtstack.com/?src=bbs) [申请试用&https://www.dtstack.com/?src=bbs](https://www.dtstack.com/?src=bbs) [申请试用&https://www.dtstack.com/?src=bbs](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条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

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