Oracle OCR 与 Voting Disk 管理详解
Oracle OCR 与 Voting Disk 管理详解
适用版本:Oracle Database 11g / 12c / 19c / 23ai 文档版本:v1.0 / 2026-07
1. 概述
OCR 和 Voting Disk 是 Clusterware 关键存储[1]:
详细见:Oracle Clusterware 架构详解、Oracle Grid Infrastructure 详解。
2. OCR
2.1 功能
- 集群配置
- 资源定义
- 节点信息
- 网络
2.2 内容
- 数据库配置
- ASM 配置
- 监听器
- VIP
- 服务
- 节点
3. OCR 管理
3.1 查看
ocrcheck
ocrconfig -showbackup
3.2 备份
# 自动备份(每 4 小时)
ocrconfig -showbackup
# 手动备份
ocrconfig -manualbackup
# 导出
ocrconfig -export /tmp/ocr.bak
3.3 恢复
# 关闭集群
crsctl stop crs -f
# 恢复
ocrconfig -restore /u01/app/ocr.bak
# 启动
crsctl start crs
3.4 转储
ocrdump /tmp/ocrdump.txt
4. Voting Disk
4.1 功能
- 节点投票
- Split-brain 防护
- 仲裁
4.2 数量
- 奇数(1/3/5)
- 多数原则
- 容错
4.3 位置
- ASM Disk Group
- 推荐 Normal/High Redundancy
5. Voting 管理
5.1 查看
crsctl query css votedisk
5.2 添加
crsctl add css votedisk /dev/sdxx
5.3 删除
crsctl delete css votedisk /dev/sdxx
5.4 ASM
-- ASM 管理
ALTER DISKGROUP data ADD QUORUM FILE '+data';
6. ASM 存储
6.1 OCR
- ASM Disk Group
- 多个 Disk Group
- 冗余
6.2 Voting
- ASM Disk Group
- 自动管理
- 多份
6.3 配置
# 安装时指定
# 或升级时迁移
7. 备份策略
7.1 自动
- OCR 每 4 小时
- 保留最近 3 天
- 每周全备
7.2 手动
- 重大变更前
- 定期
- 验证
7.3 异地
- 备份到 NFS
- 异地存储
- 灾备
8. 恢复
8.1 OCR 恢复
# 1. 关闭集群
crsctl stop crs -f
# 2. 恢复
ocrconfig -restore /u01/app/ocr.bak
# 3. 验证
ocrcheck
# 4. 启动
crsctl start crs
8.2 Voting 恢复
- ASM 恢复
- 添加新磁盘
- 重建
9. 监控
9.1 状态
ocrcheck
crsctl query css votedisk
crsctl stat res -t | grep -E 'ora.cssd|ora.diskmon'
9.2 日志
- $GI_HOME/log/<node>/cssd/ocssd.log
- $GI_HOME/log/<node>/client/ocr*.log
9.3 告警
- OCR 损坏
- Voting 不可达
- 告警
10. 应用场景
10.1 OCR 损坏
- 恢复
- 备份
- 验证
10.2 Voting 损坏
- 添加新盘
- 替换
- 恢复
10.3 灾难
- 完整恢复
- 集群重建
11. 常见问题
11.1 ORA-29701
- ASM 不可达
- 检查 ASM
- Voting
11.2 OCR 损坏
- 恢复
- 检查磁盘
11.3 Voting 不足
- 添加
- 多数原则
12. 最佳实践
- 冗余:OCR/Voting
- 多 Disk Group:OCR
- 奇数 Voting:1/3/5
- 自动备份:OCR
- 手动备份:变更前
- 异地备份:灾备
- 监控:状态
- 测试:恢复
- 文档:配置
- 演练:定期
13. 参考资料
[1] Oracle Grid Infrastructure Administrator’s Guide 19c, “OCR and Voting Disk” https://docs.oracle.com/en/database/oracle/oracle-database/19/cwali/