Oracle 数据库容灾方案详解

Oracle 数据库容灾方案详解

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


1. 概述

Oracle 容灾方案汇总[1]:

详细见:Oracle Data Guard 架构详解Oracle 零停机迁移方案对比


2. 容灾级别

2.1 RPO

- Recovery Point Objective
- 数据丢失量
- 0:零丢失
- 秒级
- 分钟级

2.2 RTO

- Recovery Time Objective
- 恢复时间
- 秒级
- 分钟级
- 小时级

2.3 级别

级别RPORTO方案
10RAC + ADG
20分钟ADG + Fast-Start
3分钟Data Guard
4小时小时备份恢复

3. 方案对比

3.1 RAC

- 同一数据中心
- 共享存储
- 节点故障切换
- 不防数据丢失
- 高可用

3.2 Data Guard

- 异地
- 数据同步
- 主备切换
- 灾备

3.3 GoldenGate

- 双向复制
- Active-Active
- 跨平台
- 灵活

3.4 备份恢复

- 离线
- RPO/RTO 长
- 最基础

4. RAC

4.1 架构

- 多节点
- 共享存储(ASM)
- Clusterware
- VIP/SCAN

4.2 优势

- 高可用
- 节点故障切换
- 在线扩展
- 单点故障避免

4.3 限制

- 不防数据中心故障
- 共享存储单点

详细见:Oracle RAC 19c 部署详解


5. Data Guard

5.1 类型

- 物理:块级
- 逻辑:SQL
- Snapshot:可读写
- Active:只读 + 应用

5.2 保护模式

- Maximum Protection:零丢失
- Maximum Availability:零丢失(正常时)
- Maximum Performance:高性能

详细见:Oracle Data Guard 保护模式详解

5.3 切换

- Switchover:计划内
- Failover:计划外
- Fast-Start Failover:自动

详细见:Oracle Data Guard Switchover 与 Failover 详解


6. Active Data Guard

6.1 优势

- 备库可读
- 同时应用 Redo
- 读分离
- Automatic Block Repair

详细见:Oracle Active Data Guard 详解


7. Far Sync

7.1 架构

Primary → Far Sync (SYNC) → Remote Standby (ASYNC)
- 零丢失 + 远距离
- 轻量级

7.2 优势

- 零数据丢失
- 远距离
- 低延迟(本地 SYNC)

8. GoldenGate

8.1 架构

- Extract:源端
- Pump:传输
- Replicat:目标
- Trail:变更文件

详细见:Oracle GoldenGate 全集

8.2 Active-Active

- 双向复制
- 冲突解决
- 多地写入

详细见:Oracle GoldenGate 冲突处理详解


9. 备份

9.1 RMAN

- 全备 + 增量
- 归档日志
- 异地存放

详细见:Oracle RMAN 备份恢复全集

9.2 Flashback

- 快速恢复
- 误操作
- 数据库/表

详细见:Oracle Flashback 技术全集

9.3 云备份

- 备份到云
- 异地
- 长期保留

10. 多机房

10.1 同城

- 低延迟
- SYNC
- 零丢失

10.2 异地

- ASYNC
- Far Sync
- 容忍丢失

10.3 多地

- 同城 SYNC
- 异地 ASYNC
- Far Sync

11. 应用连续性

11.1 TAC

- Transaction Application Continuity
- 12c+
- 事务重试
- 透明

11.2 TAF

- Transparent Application Failover
- 会话级
- 旧机制

详细见:Oracle TAF 与 TAC 配置详解


12. 监控告警

12.1 Data Guard

SELECT * FROM v$dataguard_stats;
SELECT * FROM v$archive_dest_status;

12.2 GoldenGate

> INFO ALL
> LAG EXTRACT ext1
> LAG REPLICAT rep1

12.3 RMAN

RMAN> REPORT OBSOLETE;
RMAN> REPORT NEED BACKUP;

13. 容灾演练

13.1 频率

- 每季度:Switchover
- 每半年:Failover
- 每年:完整 DR

13.2 内容

- 模拟主库故障
- Failover
- 应用切换
- 验证业务
- 回切

13.3 改进

- 问题记录
- 流程优化
- 团队培训

14. 应用场景

14.1 金融

- Maximum Protection
- 零丢失
- 同城 + 异地
- Far Sync

14.2 关键业务

- Maximum Availability
- 同城 ADG
- Fast-Start Failover

14.3 一般业务

- Maximum Performance
- ASYNC
- 备份

14.4 报表

- ADG 读分离
- 备库报表

15. 常见坑与排错

15.1 Lag 大

- 网络瓶颈
- 性能
- 优化

15.2 Failover 失败

- Gap
- 测试
- 流程

15.3 数据不一致

- 冲突
- 校验
- 修复

16. 最佳实践

  1. 业务需求:RPO/RTO
  2. 多机房:同城+异地
  3. Fast-Start Failover:自动
  4. Active Data Guard:读分离
  5. Far Sync:远距离
  6. GoldenGate:灵活
  7. 备份:基础
  8. 演练:定期
  9. 监控:实时
  10. 文档:流程

17. 参考资料

[1] Oracle Database High Availability Overview 19c https://docs.oracle.com/en/database/oracle/oracle-database/19/haovw/