Linux 上 Oracle RAC 集群配置全流程
一 架构与准备
- 组件与版本
- 集群基础:Oracle Grid Infrastructure(GI)19c(包含集群件与 ASM),数据库:Oracle Database 19c。
- 操作系统建议:Oracle Linux 7.x/8.x 或 RHEL 7.x/8.x,所有节点保持相同发行版与补丁级别。
- 节点与网络
- 至少 2 台服务器,每台至少 2 块网卡:公共网络(Public)、私有互联(Interconnect/Private)。
- 规划 VIP(每个节点 1 个)与 SCAN(建议 3 个 SCAN IP,由 DNS 或 GNS 解析)。
- 共享存储
- 生产推荐 ASM on SAN/NAS,多路径(如 DM-MPIO 或 PowerPath)保障冗余与性能。
- 典型磁盘组:OCR(表决与集群注册,通常 3 块镜像)、DATA(数据文件/控制文件)、FRA(归档/闪回)。
- 用户与目录
- OS 用户/组:oracle:oinstall, dba, asmadmin, asmdba, asmoper;UID/GID 跨节点保持一致。
- 目录:/u01/app(GI)、/u02/app/oracle(DB)、/u03(共享存储挂载点,如 OCFS/ASM 磁盘组映射)。
- 基础检查
- 时间同步(NTP/chrony)、主机名解析(/etc/hosts 或 DNS)、内核参数、资源限制、防火墙/SELinux 策略放行 GI 所需端口与多路径。
二 安装与配置步骤
- 安装前检查与准备
- 使用 cluvfy 做预检:cluvfy stage -pre crsinst -n all -verbose,逐项修复不满足项。
- 配置 SSH 免密登录(oracle 用户,含所有接口如 Public/Private,首次需确认指纹)。
- 配置 NTP/chrony,确保节点间时间漂移在允许范围。
- 配置 多路径:识别设备 WWID,创建一致的 udev 规则或 /dev/mapper 名称,确保多路径聚合与故障切换正常。
- 安装 Oracle Grid Infrastructure
- 在所有节点运行安装器(如 gridSetup.sh),选择“Install and Configure Grid Infrastructure for a Cluster”。
- 集群网络:识别 Public/Private 接口,配置 SCAN 名称与 3 个 SCAN IP(DNS 或 GNS)。
- 存储选择 ASM,创建 OCR 与 Voting Disks(推荐 3 副本,放置于专用磁盘组)。
- 完成安装后,使用 crsctl 检查集群状态:crsctl check cluster -all;srvctl config network 查看网络配置。
- 安装 Oracle Database 软件
- 仅在一台节点运行安装器,选择“Install Oracle Database Software Only”,类型选 Oracle Real Application Clusters database。
- 软件安装完成后,使用 DBCA 创建 RAC 数据库(选择“Create a Database”与 RAC 选项),指定 Global Database Name、SID 前缀、字符集、存储位置(ASM 磁盘组 DATA/FRA)、是否启用 FRA/闪回、是否配置 EM Express 等。
- 网络与服务验证
- 监听器:srvctl status listener;检查 SCAN 监听:srvctl config scan_listener。
- 服务与实例:srvctl status database -d <db_unique_name>;srvctl status service -d <db_unique_name>。
- 客户端连接测试:使用 SCAN 连接串(Easy Connect 或 tnsnames.ora),验证连接负载均衡与故障转移。
三 常用运维命令
- 集群启停
- 启动:crsctl start crs;停止:crsctl stop crs(谨慎,生产按维护窗口执行)。
- 资源与实例
- 查看资源:crsctl stat res -t;启停数据库:srvctl start|stop database -d ;启停实例:srvctl start|stop instance -d -i 。
- 网络
- 查看/修改网络:srvctl config network;srvctl status scan;srvctl status vip -n 。
- 存储(ASM)
- asmcmd lsdg;asmcmd lsdsk;srvctl status asm。
四 扩容与常见排错
- 扩容新节点(Add Node)
- 准备新节点:相同 OS/补丁、用户/组与 UID/GID、内核参数、时间同步、SSH 免密、共享存储可见。
- 运行 GI 安装器的 Add Node 步骤,将新节点加入集群;随后使用 DBCA 在新节点上“Add an Instance”完成实例扩展。
- 常见排错要点
- 节点无法加入集群:检查 VIP/SCAN 解析、私有互联连通性、SSH 等效性、防火墙/SELinux、NTP 漂移。
- 磁盘组无法挂载:核对 ASM 磁盘发现路径、多路径聚合状态、权限与所有权、磁盘头一致性。
- 实例启动失败:检查 $ORACLE_HOME/dbs 下参数文件(spfile 指向共享存储)、集群资源依赖、监听注册状态。
- 客户端连接不均或故障不切换:核对 SCAN 配置、服务设置(PREFERRED/AVAILABILITY)、客户端连接负载均衡策略。
提示:RAC 部署涉及系统、网络、存储与数据库多域协同,务必在变更窗口内执行,并在实施前后完成全量备份与回退预案。上述流程以 19c 为主线,旧版本(如 11gR2/12c)在界面与命令细节上存在差异,但总体步骤与原理一致。