Oracle Clusterware 升级详解

Oracle Clusterware 升级详解

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


1. 概述

Clusterware 升级保证集群更新[1]:

详细见:Oracle ASM Rolling Migration 详解Oracle Grid Infrastructure 详解


2. 升级方式

2.1 滚动

- 节点逐一
- 零停机
- 兼容

2.2 非滚动

- 全停
- 简单
- 时间长

2.3 选择

- 关键业务:滚动
- 普通:非滚动
- 评估

3. 升级前

3.1 检查

crsctl query crs releaseversion
crsctl query crs softwareversion

3.2 备份

# OCR
ocrconfig -manualbackup

# Voting
crsctl query css votedisk

3.3 兼容性

- 版本
- 路径
- 检查

3.4 测试

- 测试环境
- 演练
- 验证

4. 滚动升级流程

4.1 准备

# 新版本
./runInstaller
# 选择升级
# 滚动

4.2 节点 1

# root 脚本
$NEW_GI_HOME/root.sh -rocrs

4.3 节点 2

$NEW_GI_HOME/root.sh -rocrs

4.4 验证

crsctl check cluster -all
crsctl stat res -t

5. 非滚动升级

5.1 停止

# 所有节点
crsctl stop crs -all

5.2 升级

# 节点 1
$NEW_GI_HOME/root.sh

# 节点 2
$NEW_GI_HOME/root.sh

5.3 启动

crsctl start crs -all

6. ASM 升级

6.1 滚动

- ASM 实例
- 节点逐一
- 兼容

6.2 兼容性

SELECT group_number, name, compatibility, database_compatibility 
FROM v$asm_diskgroup;

6.3 升级

ALTER DISKGROUP data SET ATTRIBUTE 'compatible.asm' = '19.0.0.0';
ALTER DISKGROUP data SET ATTRIBUTE 'compatible.rdbms' = '19.0.0.0';

详细见:Oracle ASM Rolling Migration 详解


7. 数据库升级

7.1 滚动

- RAC 滚动
- 节点逐一
- 零停机

7.2 Data Guard

- 滚动升级
- Switchover
- 零停机

详细见:Oracle Data Guard 升级详解


8. Patch 升级

8.1 OPatch

opatch auto /tmp/patch -oh $GI_HOME

8.2 滚动

# 节点 1
opatch apply -local

# 节点 2
opatch apply -local

8.3 验证

opatch lsinventory

9. 回退

9.1 Patch

opatch rollback -id 12345678

9.2 GI

- 复杂
- 文档
- 测试

9.3 数据库

- 降级
- 备份恢复
- 评估

10. 监控

10.1 状态

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

10.2 版本

crsctl query crs releaseversion
crsctl query crs softwareversion

10.3 ASM

srvctl status asm
asmcmd showclustermode

11. 常见问题

11.1 root.sh 失败

- 日志
- 修复
- 重试

11.2 节点不一致

- 版本
- 同步
- 检查

11.3 ASM

- 兼容性
- 检查
- 升级

12. 最佳实践

  1. 备份:升级前
  2. 测试:演练
  3. 滚动:零停机
  4. 兼容性:检查
  5. 监控:状态
  6. 回退:预案
  7. 低峰:执行
  8. 文档:流程
  9. 验证:升级后
  10. 演练:定期

13. 参考资料

[1] Oracle Grid Infrastructure Installation Guide 19c, “Upgrading” https://docs.oracle.com/en/database/oracle/oracle-database/19/cwlin/