数据库管理216期 2024-07-03
- 数据库管理-第216期 Oracle的高可用-01(20240703)
- 1 MAA简介
- 2 MAA等级
- 2.1 BRONZE
- 2.2 SILVER
- 2.3 GOLD
- 2.4 PLATINUM
- 3 业务延续性
- 总结
数据库管理-第216期 Oracle的高可用-01(20240703)
作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Pro: Database(Oracle与MySQL)
PostgreSQL ACE Partner
10年数据库行业经验,现主要从事数据库服务工作
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP、年度墨力之星,ITPUB认证专家、专家百人团成员,OCM讲师,PolarDB开源社区技术顾问,HaloDB外聘技术顾问,OceanBase观察团成员,青学会MOP技术社区(青年数据库学习互助会)技术顾问
圈内拥有“总监”、“保安”、“国产数据库最大敌人”等称号,非著名社恐(社交恐怖分子)
公众号:胖头鱼的鱼缸;CSDN:胖头鱼的鱼缸(尹海文);墨天轮:胖头鱼的鱼缸;ITPUB:yhw1809。
除授权转载并标明出处外,均为“非法”抄袭
其实不止是最近,接下来的观点听到有一段时间了,就是以Oracle为代表的集中式数据库是没有高可用的,至少是没有跨机房高可用的,只有分布式数据库(具体说的哪种就不知道了)才有全面的高可用。那么我们花几期来看看,Oracle数据库有哪些高可用来保障数据库的安全。
1 MAA简介
Oracle Maximum Availability Architecture,MAA,Oracle最大高可用架构。为Oracle数据库提供体系结构、配置和生命周期最佳实践,以满足您对本地部署、Oracle公共云中的Oracle数据库的高可用服务级别,loud@Customer,或由本地部署数据库和云数据库组成的混合数据库体系结构。
2 MAA等级
2.1 BRONZE
BRONZE是级别最低的MAA架构,使用Restart(即安装GI)的单实例数据库,加上有效的备份,这是实现相对简单且成本较低的Oracle数据库高可用解决方案。但是其问题是如果数据库出现故障,需要通过备份恢复数据库,则一般需要较长的时间且丢失部分数据的概率比较大。在数据库需要维护升级时,数据库会不可用。
这里需要使用Oracle企业版,并使用下面的组件:
2.2 SILVER
SILVER级别,其实就是将BRONZE级别中的单实例数据库替换为Oracle RAC集群,并针对RAC可能出现的故障切换配置应用延续性。这里就可以使用滚动升级的方式来避免升级过程中对数据库服务的影响,但是灾难恢复后同规模恢复难度要略大于BRONZE级别,且同样存在丢失部分数据的可能性。
需要使用组件如下:
RAC在集群内高可用高性能的基础上还提供了数据库的横向扩展能力。
注:支用Oracle ZDLRA(零丢失备份一体机)可实现BRONZE和SILVER级别的零数据丢失。
2.3 GOLD
GOLD级别是在SILVER级别上,添加物理备库,即(Active) Data Guard。该级别在提供跨数据中心高可用的基础上,还提供读写分离能力,灾备数据库提供查询和报表能力。使用Far Sync架构还能实现不依赖于Oracle ZDLRA的零数据丢失。使用Fasts Start Failover(FSFO)还可以实现跨集群的自动失败转移。还可以实现多数据中心,多套ADG以实现类似于两地三中心的高可用架构。
需要使用组件如下:
在我接触的生产环境中一般使用的是GOLD级别的MAA架构。
2.4 PLATINUM
PLATIUM级别则是通过Oracle GoldenGate(OGG)来实现跨数据中心的逻辑数据同步,在数据中心内依然使用RAC+ADG来实现高可用。同时得益于逻辑复制,两个数据中心的主数据库都可以提供读写操作能力,可以极大提升数据库硬件利用率、降低数据延迟、减少丢失数据的概率。在这个级别几乎可以实现RTO/RPO=0,升级操作对业务无感。
需要使用组件如下:
我个人认为这个级别需要维护的组件比较多,该架构适用于财大气粗且业务非常重要的场景。
3 业务延续性
除了数据库的高可用性以为,应用程序连接到数据库的高可用性也是非常重要的,特别是在故障转移后,数据库连接地址产生变化,应用程序需要无感知连接到正确的数据库还需要进行一番努力,这一部分放在后面几期介绍。
总结
本期简单介绍了Oracle数据库的MAA最大高可用架构。
老规矩,知道写了些啥。