Oracle MAA 最佳实践详解
Oracle MAA 最佳实践详解
适用版本:Oracle Database 11g / 12c / 19c / 23ai 文档版本:v1.0 / 2026-07
1. 概述
MAA(Maximum Availability Architecture)是 Oracle 官方高可用架构最佳实践[1]:
详细见:Oracle 单实例 RAC Standby 架构对比。
2. MAA 目标
2.1 计划内停机
- 维护
- 升级
- 补丁
- 配置变更
- 最小化
2.2 计划外停机
- 系统故障
- 数据损坏
- 人为错误
- 灾难
- 避免
2.3 数据丢失
- RPO=0:零丢失
- 数据保护
- 一致性
3. MAA 架构层级
3.1 Bronze
- 单实例 + RMAN 备份
- RPO:小时级
- RTO:小时级
3.2 Silver
- RAC + RMAN 备份
- RPO:小时级
- RTO:分钟级
3.3 Gold
- RAC + Data Guard(最大性能)
- RPO:秒级
- RTO:分钟级
3.4 Platinum
- RAC + Active Data Guard(最大可用)
- RPO=0
- RTO:秒级
4. MAA 组件
4.1 RAC
- 节点冗余
- 实例故障切换
- 单点消除
4.2 Data Guard
- 数据冗余
- 灾难恢复
- 零丢失
4.3 ASM
- 存储冗余
- 镜像
- 消除存储单点
4.4 Application Continuity
- 应用层连续性
- 透明重试
- AC/TAC
5. MAA 最佳实践
5.1 冗余
- 网络:双链路
- 存储:ASM Normal/High
- 节点:RAC
- 数据中心:Data Guard
5.2 自动化
- Fast-Start Failover
- 服务切换
- 应用重连
5.3 监控
- 集群健康
- Data Guard 状态
- 延迟
- 告警
5.4 演练
- 定期切换
- 灾难演练
- 验证
6. Platinum 架构示例
6.1 主数据中心
- RAC 集群(N 节点)
- ASM High Redundancy
- 双网络
- 本地 Data Guard Observer
6.2 备数据中心
- RAC 集群(N 节点)
- ASM High Redundancy
- Active Standby
- Far Sync(零丢失)
6.3 网络
- 冗余 InfiniBand
- 冗余光纤
- 跨地域网络
7. 数据保护模式
7.1 最大性能
- 异步传输
- 性能优先
- RPO > 0
7.2 最大可用
- 同步传输
- 主备同步
- RPO = 0(正常)
7.3 最大保护
- 强制同步
- 主库停(备库不可用)
- RPO = 0
详细见:Oracle 保护模式详解。
8. 应用连续性
8.1 TAF
- 透明应用故障切换
- SELECT 恢复
- 会话重连
8.2 AC
- Application Continuity
- 事务重试
- 12c+
8.3 TAC
- Transparent Application Continuity
- 自动重试
- 18c+
9. 计划内停机消除
9.1 滚动升级
- RAC 滚动
- Data Guard 滚动
- 零停机
9.2 在线操作
- Online Redefinition
- Online Patch
- 在线重定义
9.3 Edition-Based Redefinition
- 应用在线升级
- EBR
- 多版本
10. 计划外停机消除
10.1 节点故障
- RAC 切换
- 服务迁移
- 应用重连
10.2 数据中心故障
- Data Guard Failover
- 应用切换
- 灾难恢复
10.3 数据损坏
- Flashback
- TTS
- RMAN 恢复
11. RPO/RTO
11.1 RPO
- Recovery Point Objective
- 数据丢失容忍
- MAA:0 / 秒级
11.2 RTO
- Recovery Time Objective
- 恢复时间
- MAA:秒级 / 分钟级
11.3 评估
- 业务影响
- 成本
- 选型
12. 监控
12.1 集群
crsctl stat res -t
srvctl status database -d prod
12.2 Data Guard
SELECT * FROM v$dataguard_stats;
SELECT max(delay_mins) FROM v$archive_dest;
12.3 性能
SELECT * FROM v$system_event WHERE event LIKE 'gc%';
13. 演练
13.1 Switchover
- 计划内
- 主备切换
- 验证
13.2 Failover
- 灾难模拟
- 故障切换
- 恢复
13.3 频率
- 季度
- 半年
- 年度
14. 常见问题
14.1 延迟高
- 网络
- Gap
- 优化
14.2 切换失败
- 状态检查
- 日志
- 重试
14.3 数据丢失
- 保护模式
- 验证
- RPO
15. 最佳实践
- Platinum 架构:关键业务
- 冗余:全栈
- 自动化:Failover
- 监控:实时
- 演练:定期
- AC/TAC:应用
- Far Sync:零丢失
- 滚动升级:零停机
- 文档:架构
- 评估:定期
16. 参考资料
[1] Oracle Maximum Availability Architecture 19c https://docs.oracle.com/en/database/oracle/oracle-database/19/ha-ma/