基于Oracle数据库容灾方案有哪些?

基于Oracle数据库容灾方案有哪些?
最新回答
半夏ら

2021-09-03 00:06:31

基于Oracle数据库的容灾方案主要包括基于跨中心实现的远距离RAC架构、基于Oracle ADG/OGG实现的主备库架构。以下是对这些方案的详细介绍:

基于跨中心实现的远距离RAC架构
  • 基于ASM冗余设计实现

    实现方式:利用ASM的镜像算法,不镜像磁盘而是镜像盘区,通过合理设计Failure Group和仲裁磁盘组分配,结合网络环境指标进行性能、稳定性、灾难测试,调整ASM的IO参数。

    特点:对DBA要求苛刻,需要DBA深知原理且对性能分析有较深造诣,以保障在复杂双中心联动环境下的性能及稳定性。

    适用场景:适用于对RPO和RTO要求极高,且能够承担较高成本和复杂运维的场景。

  • 基于存储集群化之后的分布式存储卷实现

    实现方式:依赖存储层的虚拟化网关产品实现存储虚拟化集群,需要解决仲裁一致性问题,即保障双中心之间的存储集群和数据库RAC集群的仲裁结果一致性。

    特点:整体架构复杂,需要增加对存储集群的专业维护成本,且存在存储集群产品容量许可成本问题。

    适用场景:适用于对性能要求较高,且能够接受一定复杂度和成本的场景。

基于Oracle ADG/OGG实现的主备库架构
  • ADG(Active Data Guard)

    实现方式:通过物理级备份实现同城或异地灾备,备机不可写,传输数据为所有redo日志的更改。

    特点

    RPO和RTO:ADG可以做到近似同步,但一般用在异步场合;一般需要人工去实现备库切换,且需要应用改变连接IP地址,重新启动。

    稳定性:相对比较稳定,可以通过快照方式保留当前时刻点数据。

    成本:实现成本较低,不需要较高的环境成本和网络条件。

    适用场景:适用于对RPO和RTO有一定要求,但更注重成本和风险控制的场景,如同城或异地灾备。

  • OGG(Oracle GoldenGate)

    实现方式:采用特有的技术从联机日志中抽取更改项应用到备库,实现异构平台之间的数据传输。

    特点

    异构平台支持:支持异构数据库之间的集中整合或同步。

    同步灵活性:可以全库同步也可以同步单张表或数张表,同步速度较快,传输数据量很少。

    问题较多:相比ADG而言,OGG在稳定性上可能存在一些问题。

    适用场景:适用于需要异构数据库同步数据的场合,如数据平台建设或异构数据库之间的集中整合。

方案组合与特殊应用
  • 方案组合:为了尽可能达到整体最优,可以考虑方案的组合,如同城实现RAC、异地实现ADG,或者在RAC基础之上再增加一个ADG。这样可以在成本上没有太大的改变,但保险系数上却增加了很多。
  • 特殊应用:OGG可以考虑到特殊业务场合,如为了搭建数据平台实现不同数据库数据的整合等。