Oracle RAC 故障案例详解
Oracle RAC 故障案例详解
适用版本:Oracle Database 11g / 12c / 19c / 23ai 文档版本:v1.0 / 2026-07
1. 概述
RAC 实战故障案例[1]:
详细见:Oracle RAC 故障诊断详解。
2. 案例 1:节点驱逐
2.1 现象
- 节点 2 被驱逐
- 集群重配置
- 业务影响
2.2 诊断
- CHM 数据
- cssd.log
- 节点驱逐前 OS 资源
2.3 原因
- Private 网络中断
- 心跳失败
- 超时
2.4 修复
- 修复网络
- 重启节点
- 重新加入集群
2.5 验证
olsnodes -n -s -t
crsctl stat res -t
3. 案例 2:Voting Disk 故障
3.1 现象
- 多数 Voting Disk 故障
- 集群停止
- 节点驱逐
3.2 诊断
crsctl query css votedisk
3.3 修复
# 添加新盘
crsctl add css votedisk /dev/newvote
# 删除坏盘
crsctl delete css votedisk /dev/badvote
3.4 验证
crsctl query css votedisk
4. 案例 3:OCR 损坏
4.1 现象
- OCR 损坏
- 集群配置丢失
- 资源异常
4.2 诊断
ocrcheck
# 失败
4.3 修复
# 停止集群
crsctl stop crs -all
# 恢复
ocrconfig -restore /u01/app/grid/cdata/backup00.ocr
# 启动
crsctl start crs -all
4.4 验证
ocrcheck
crsctl stat res -t
5. 案例 4:ASM Disk Group Dismount
5.1 现象
- Disk Group dismount
- 数据库不可用
- 磁盘故障
5.2 诊断
SELECT group_number, name, state FROM v$asm_diskgroup;
-- DISMOUNTED
5.3 修复
-- 检查磁盘
SELECT group_number, disk_number, mount_status, state
FROM v$asm_disk;
-- Mount
ALTER DISKGROUP DATA MOUNT;
5.4 验证
SELECT group_number, name, state FROM v$asm_diskgroup;
-- MOUNTED
6. 案例 5:实例崩溃
6.1 现象
- 实例崩溃
- ORA-00600
- 业务切换
6.2 诊断
- alert log
- trace 文件
- ORA-00600 参数
6.3 修复
- 收集诊断
- 联系 Oracle Support
- 临时:重启实例
- 永久:Patch
6.4 验证
srvctl status database -d prod
7. 案例 6:Cache Fusion 性能
7.1 现象
- gc 等待高
- 性能下降
- 节点间传输多
7.2 诊断
SELECT event, time_waited FROM v$system_event
WHERE event LIKE 'gc%' ORDER BY time_waited DESC;
7.3 修复
- 服务隔离
- 分区
- 节点亲和
- 优化 SQL
7.4 验证
SELECT event, time_waited FROM v$system_event
WHERE event LIKE 'gc%';
-- 降低
8. 案例 7:Listener 故障
8.1 现象
- 连接失败
- ORA-12541
- 应用无法连接
8.2 诊断
lsnrctl status
srvctl status listener
srvctl status scan_listener
8.3 修复
# 启动
srvctl start listener
srvctl start scan_listener
# 或
lsnrctl start
8.4 验证
lsnrctl status
sqlplus sys/xxx@prod as sysdba
9. 案例 8:VIP 故障
9.1 现象
- VIP 故障
- 应用连接慢
- TAF 失败
9.2 诊断
srvctl status vip -n node1
ifconfig -a
9.3 修复
# 重启 VIP
srvctl stop vip -n node1
srvctl start vip -n node1
9.4 验证
srvctl status vip -n node1
ping node1-vip
10. 经验总结
10.1 预防
- 监控
- 冗余
- 演练
10.2 响应
- 快速
- 诊断
- 修复
10.3 改进
- 根因
- 优化
- 文档
11. 最佳实践
- CHM:启用
- TFA:使用
- 监控:实时
- 冗余:全栈
- 日志:检查
- 演练:故障
- 文档:记录
- 自动化:告警
- 根因:分析
- 改进:持续
12. 参考资料
[1] Oracle Clusterware Administration and Deployment Guide 19c https://docs.oracle.com/en/database/oracle/oracle-database/19/cwali/