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 级别
| 级别 | RPO | RTO | 方案 |
|---|---|---|---|
| 1 | 0 | 秒 | RAC + ADG |
| 2 | 0 | 分钟 | 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:高性能
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
- 双向复制
- 冲突解决
- 多地写入
9. 备份
9.1 RMAN
- 全备 + 增量
- 归档日志
- 异地存放
详细见:Oracle RMAN 备份恢复全集。
9.2 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
- 会话级
- 旧机制
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. 最佳实践
- 业务需求:RPO/RTO
- 多机房:同城+异地
- Fast-Start Failover:自动
- Active Data Guard:读分离
- Far Sync:远距离
- GoldenGate:灵活
- 备份:基础
- 演练:定期
- 监控:实时
- 文档:流程
17. 参考资料
[1] Oracle Database High Availability Overview 19c https://docs.oracle.com/en/database/oracle/oracle-database/19/haovw/