Oracle 容灾 RPO RTO 详解

Oracle 容灾 RPO RTO 详解

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


1. 概述

RPO/RTO 是容灾核心指标[1]:

详细见:Oracle 容灾设计详解Oracle 零数据丢失详解


2. RPO

2.1 定义

- Recovery Point Objective
- 数据丢失容忍
- 时间度量

2.2 级别

- 0:零丢失
- 秒:少量
- 分:中等
- 小时:大量

2.3 业务影响

- 关键业务:0
- 重要业务:秒
- 普通业务:分/小时

3. RTO

3.1 定义

- Recovery Time Objective
- 恢复时间目标
- 时间度量

3.2 级别

- 秒:自动
- 分:半自动
- 小时:手动

3.3 业务影响

- 关键:秒
- 重要:分
- 普通:小时

4. Oracle 方案

4.1 RPO=0

- 最大可用模式
- SYNC + AFFIRM
- Far Sync

4.2 RPO 秒级

- 最大性能模式
- ASYNC
- 远距离

4.3 RPO 分钟

- ASYNC
- 远距离
- 网络

4.4 RPO 小时

- RMAN 备份
- 归档传输
- 恢复

5. RTO 方案

5.1 秒级

- Fast-Start Failover
- Observer
- 自动

5.2 分钟级

- 手动 Failover
- 评估
- 执行

5.3 小时级

- RMAN 恢复
- 手动
- 完整

6. 评估

6.1 业务分析

- 关键程度
- 数据价值
- 停机损失

6.2 成本

- 硬件
- 软件
- 网络
- 运维

6.3 平衡

- RPO/RTO vs 成本
- 选型
- 优化

7. 测试

7.1 验证

- RPO 实测
- RTO 实测
- 验证

7.2 演练

- 定期
- 场景
- 改进

7.3 文档

- 测试报告
- 改进
- 优化

8. MAA 层级

8.1 Bronze

- RPO:小时
- RTO:小时
- 单实例 + RMAN

8.2 Silver

- RPO:小时
- RTO:分钟
- RAC + RMAN

8.3 Gold

- RPO:秒
- RTO:分钟
- RAC + Data Guard

8.4 Platinum

- RPO:0
- RTO:秒
- RAC + Active Data Guard + Far Sync

详细见:Oracle MAA 最佳实践详解


9. 监控

9.1 延迟

SELECT * FROM v$dataguard_stats;

9.2 状态

DGMGRL> SHOW CONFIGURATION;

9.3 告警

- 阈值
- 通知
- 响应

10. 应用场景

10.1 金融

- RPO=0
- RTO 秒
- Platinum

10.2 电商

- RPO 秒
- RTO 分
- Gold

10.3 普通

- RPO 分
- RTO 小时
- Silver/Bronze

11. 常见问题

11.1 RPO 不达标

- 保护模式
- 网络
- 优化

11.2 RTO 不达标

- 自动化
- 流程
- 优化

11.3 成本

- 评估
- 平衡
- 选型

12. 最佳实践

  1. 业务评估:RPO/RTO
  2. MAA:参考
  3. 自动化:Failover
  4. 监控:延迟
  5. 测试:验证
  6. 演练:定期
  7. 文档:架构
  8. 成本:平衡
  9. 优化:持续
  10. 评估:定期

13. 参考资料

[1] Oracle Maximum Availability Architecture 19c https://docs.oracle.com/en/database/oracle/oracle-database/19/ha-ma/