Oracle Clusterware 架构详解

Oracle Clusterware 架构详解

适用版本:Oracle Database 11g / 12c / 19c / 23ai 文档版本:v1.0 / 2026-07


1. 概述

Clusterware 是 Oracle 集群基础软件[1]:

详细见:Oracle RAC 架构深度解析Oracle 单实例 RAC Standby 架构对比


2. 组件

2.1 核心进程

- cssd:集群同步服务
- crsd:集群就绪服务
- evmd:事件管理
- asm:ASM 实例(共享存储)
- gpnpd:网格命名服务
- mdnsd:多播 DNS
- gpnpd:网格即插即用

2.2 存储

- OCR(Oracle Cluster Registry):集群配置
- Voting Disk:节点投票
- ASM Disk Group

3. cssd

3.1 功能

- 节点监控
- 节点成员
- 节点驱逐
- 仲裁

3.2 心跳

- 网络心跳(节点间)
- 磁盘心跳(Voting Disk)
- 超时

3.3 Misscount

- 默认 30 秒
- 节点无响应驱逐
- Disk Timeout

4. crsd

4.1 功能

- 资源管理
- 故障切换
- 依赖
- 重启

4.2 资源

- 数据库
- 实例
- 监听器
- VIP
- 服务
- 应用

5. OCR

5.1 内容

- 集群配置
- 资源定义
- 节点信息
- 网络

5.2 备份

# 自动备份
ocrconfig -showbackup

# 手动备份
ocrconfig -manualbackup

# 导出
ocrconfig -export /tmp/ocr.bak

5.3 恢复

ocrconfig -restore /u01/ocr.bak

6. Voting Disk

6.1 功能

- 节点投票
- Split-brain 防护
- 仲裁

6.2 数量

- 奇数(1/3/5)
- 多数原则
- 容错

6.3 备份

crsctl query css votedisk
dd if=/dev/vote of=/tmp/vote.bak

7. 网络

7.1 类型

- Public:业务网络
- Private:互联网络
- Management:管理(可选)

7.2 冗余

- 多网卡
- HAIP
- bond

7.3 带宽

- Cache Fusion
- 1G/10G/25G
- 低延迟

8. 资源管理

8.1 资源类型

- APP:应用
- DATABASE:数据库
- INSTANCE:实例
- LISTENER:监听器
- VIP:虚拟 IP
- SERVICE:服务

8.2 依赖

- 启动顺序
- 停止顺序
- 故障切换

8.3 命令

crsctl stat res -t
crsctl stat res -p
****** start res <resource>
crsctl stop res <resource>

9. 启动流程

9.1 节点启动

1. OS 启动
2. init.ohasd
3. ohasd 启动
4. cssd 启动
5. crsd 启动
6. 资源启动

9.2 资源

- ASM
- 数据库
- 监听器
- VIP
- 服务

10. 节点驱逐

10.1 原因

- 网络故障
- 磁盘故障
- 节点 hang
- cssd 退出

10.2 流程

- cssd 检测
- 重置节点
- 集群重配置
- 资源切换

10.3 恢复

- 节点重启
- 重新加入集群
- 资源启动

11. 管理

11.1 crsctl

crsctl check crs
crsctl check cluster
crsctl stat res -t
crsctl start cluster -all
crsctl stop cluster -all
crsctl start crs
crsctl stop crs

11.2 srvctl

srvctl status database -d prod
srvctl start database -d prod
srvctl stop database -d prod
srvctl status nodeapps
srvctl status asm
srvctl config database -d prod

11.3 ocrcheck

ocrcheck
ocrconfig

12. 应用场景

12.1 RAC

- 多实例
- 共享存储
- 高可用

12.2 HA

- 故障切换
- 应用
- 服务

12.3 ASM

- 集群 ASM
- 共享磁盘
- 管理

13. 常见问题

13.1 节点驱逐

- 检查日志
- 网络
- Voting

13.2 OCR 损坏

- 恢复
- 备份

13.3 Voting

- 磁盘故障
- 添加/删除

14. 最佳实践

  1. OCR/Voting 冗余:必须
  2. 网络冗余:HAIP
  3. 监控:集群状态
  4. 备份:OCR
  5. 测试:故障切换
  6. 文档:配置
  7. 演练:节点驱逐
  8. 升级:滚动
  9. 资源:合理
  10. 日志:监控

15. 参考资料

[1] Oracle Grid Infrastructure Administrator’s Guide 19c https://docs.oracle.com/en/database/oracle/oracle-database/19/cwali/