Oracle 双活架构详解
Oracle 双活架构详解
适用版本:Oracle Database 11g / 12c / 19c / 23ai 文档版本:v1.0 / 2026-07
1. 概述
双活架构实现两地同时提供服务[1]:
详细见:Oracle 跨地域高可用详解、Oracle Sharding 详解。
2. 双活概念
2.1 双活
- 两地同时活跃
- 负载分担
- 高可用
2.2 vs 主备
- 主备:一主一备
- 双活:两主
- 资源利用
2.3 优势
- 资源利用
- 就近访问
- 性能
3. 双活方案
3.1 GoldenGate
- 双向复制
- 异构
- 灵活
3.2 Sharding
- 数据分片
- 多地域
- 分布式
3.3 Active Active
- Data Guard
- 多主
- 限制
4. GoldenGate 双活
4.1 架构
地域 A <--双向复制--> 地域 B
4.2 冲突
- 同一数据
- 双向更新
- 冲突检测
4.3 解决
- 时间戳
- 版本
- 业务规则
5. Sharding 双活
5.1 架构
- 数据分片
- 地域分布
- 就近访问
5.2 分片键
- 地域
- 用户
- 业务
5.3 优势
- 无冲突
- 分布式
- 性能
详细见:Oracle Sharding 详解。
6. 冲突处理
6.1 检测
- 同一行
- 双向更新
- 时间戳
6.2 解决策略
- 最新获胜
- 源获胜
- 业务规则
- 手动
6.3 预防
- 数据隔离
- 分片
- 业务设计
7. 数据一致性
7.1 最终一致
- 异步
- 最终
- 延迟
7.2 强一致
- 同步
- 一致
- 延迟
7.3 选择
- 业务需求
- 性能
- 评估
8. 应用设计
8.1 数据隔离
- 地域数据
- 不冲突
- 简单
8.2 全局唯一
- ID 全局唯一
- 序列
- 避免
8.3 业务规则
- 冲突避免
- 设计
- 优化
9. 网络规划
9.1 专线
- 高带宽
- 低延迟
- 冗余
9.2 延迟
- 尽量低
- 评估
- 优化
9.3 带宽
- 足够
- 监控
- 扩展
10. 应用路由
10.1 GSLB
- 全局负载
- 就近
- 切换
10.2 DNS
- 智能 DNS
- 地域
- 路由
10.3 应用
- 就近
- 切换
- 透明
11. 监控
11.1 复制
- GoldenGate
- 延迟
- 状态
11.2 冲突
- 冲突日志
- 解决
- 监控
11.3 性能
- 两地
- 一致
- 优化
12. 故障切换
12.1 单地域故障
- 全量切换
- 应用
- 验证
12.2 数据
- 冲突处理
- 同步
- 验证
12.3 恢复
- 修复
- 同步
- 恢复双活
13. 应用场景
13.1 全球化
- 就近访问
- 性能
- 体验
13.2 关键业务
- 双活
- 高可用
- 容灾
13.3 负载分担
- 资源利用
- 性能
- 扩展
14. 常见问题
14.1 冲突
- 检测
- 解决
- 预防
14.2 延迟
- 网络
- 优化
- 监控
14.3 复杂
- 架构
- 管理
- 评估
15. 最佳实践
- 数据隔离:避免冲突
- GoldenGate:双向
- Sharding:分片
- 冲突:预防
- 网络:专线
- 监控:延迟
- 测试:冲突
- 文档:架构
- 演练:故障
- 评估:场景
16. 参考资料
[1] Oracle GoldenGate 19c, “Active-Active” https://docs.oracle.com/en/middleware/goldengate/