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
- 零停机
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. 最佳实践
- 备份:升级前
- 测试:演练
- 滚动:零停机
- 兼容性:检查
- 监控:状态
- 回退:预案
- 低峰:执行
- 文档:流程
- 验证:升级后
- 演练:定期
13. 参考资料
[1] Oracle Grid Infrastructure Installation Guide 19c, “Upgrading” https://docs.oracle.com/en/database/oracle/oracle-database/19/cwlin/