Oracle Data Guard 升级详解
Oracle Data Guard 升级详解
适用版本:Oracle Database 11g / 12c / 19c / 23ai 文档版本:v1.0 / 2026-07
1. 概述
Data Guard 升级保证灾备系统更新[1]:
详细见:Oracle Data Guard 滚动升级详解、Oracle 数据库版本升级。
2. 升级方式
2.1 滚动升级
- 零/最小停机
- 逻辑备库
- 11g+ 物理
2.2 传统升级
- 停机
- 主备同时
- 简单
2.3 选择
- 关键业务:滚动
- 普通:传统
- 评估
3. 升级前
3.1 评估
- 版本兼容
- 升级路径
- 新特性
3.2 备份
- 主备完整备份
- 验证
- 安全
3.3 测试
- 测试环境
- 演练
- 验证
3.4 检查
DGMGRL> SHOW CONFIGURATION;
SELECT * FROM v$archive_gap;
4. 逻辑备库滚动升级
4.1 流程
1. 停止 SQL Apply
2. 升级逻辑备库
3. 启动 SQL Apply
4. Switchover
5. 升级原主库
6. Switchover 回
4.2 停止 Apply
-- 逻辑备库
ALTER DATABASE STOP LOGICAL STANDBY APPLY;
4.3 升级备库
# 安装新版本
./runInstaller
# 升级
sqlplus / as sysdba
STARTUP UPGRADE;
@?/rdbms/admin/catupgrd.sql
4.4 启动 Apply
ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE;
5. Switchover
5.1 验证
DGMGRL> SHOW CONFIGURATION;
5.2 执行
DGMGRL> SWITCHOVER TO stby;
5.3 验证
- 应用连接
- 数据
- 业务
6. 升级原主库
6.1 升级
./runInstaller
sqlplus / as sysdba
STARTUP UPGRADE;
@?/rdbms/admin/catupgrd.sql
6.2 验证
- 数据字典
- 对象
- 编译
7. Switchover 回
7.1 执行
DGMGRL> SWITCHOVER TO prod;
7.2 验证
- 状态
- 数据
- 业务
8. 物理备库滚动
8.1 限制
- 11g+ 部分支持
- Patch Set
- 检查
8.2 流程
1. 升级备库软件
2. 重启
3. Switchover
4. 升级原主库
5. Switchover 回
9. RU 升级
9.1 滚动
- 备库 RU
- Switchover
- 原主库 RU
- Switchover 回
9.2 OPatch
opatch auto /tmp/ru_patch -oh $ORACLE_HOME
9.3 验证
opatch lsinventory
10. 监控
10.1 状态
DGMGRL> SHOW CONFIGURATION;
10.2 延迟
SELECT * FROM v$dataguard_stats;
10.3 应用
- 连接
- 性能
- 业务
11. 回退
11.1 条件
- 升级失败
- 业务问题
- 回退
11.2 方式
- Switchover 回
- 或恢复备份
- 评估
11.3 测试
- 充分
- 验证
- 文档
12. 常见问题
12.1 SQL Apply 错误
- 不支持对象
- 检查
- 跳过
12.2 Switchover 失败
- 状态
- GAP
- 修复
12.3 性能
- 监控
- 优化
- 评估
13. 最佳实践
- 测试:演练
- 备份:升级前
- 兼容性:检查
- GAP:确保无
- Broker:使用
- 低峰:执行
- 监控:状态
- 回退:预案
- 文档:流程
- 演练:定期
14. 参考资料
[1] Oracle Database Upgrade Guide 19c https://docs.oracle.com/en/database/oracle/oracle-database/19/upgrd/