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;

详细见:Oracle Data Guard 滚动升级详解


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. 最佳实践

  1. 测试:演练
  2. 备份:升级前
  3. 兼容性:检查
  4. GAP:确保无
  5. Broker:使用
  6. 低峰:执行
  7. 监控:状态
  8. 回退:预案
  9. 文档:流程
  10. 演练:定期

14. 参考资料

[1] Oracle Database Upgrade Guide 19c https://docs.oracle.com/en/database/oracle/oracle-database/19/upgrd/