oracle dg 保护模式,【DG】DG的3种保护模式

DG提供了3种数据保护模式:最大保护(Maximum Protection)、最高性能(Maximum Performance)和最高可用(Maximum Availability),如下表所示:

表3-32 DG三种模式的区别

e3a5754e0a0a568680df2d12a91af63d.png

数据库异地备份方案

在对数据库计划实施异地备份时,需要理解异地备份的目的。一般情况下有两种异地备份的需求:一是确保业务的实时以及最大程度减少由于单点故障导致业务中断;二是确保数据的安全,当生产节点出现物理故障时能通过异地备份及时的恢复数据。

viewspace-2141200非实时异地备份

viewspace-2141200

如果只需实现数据的安全,而毋须关注业务的恢复时间以及数据的丢失情况。那么可以通过非实时的异地备份而简易实现。

非实时的异地备份可以通过磁盘或者磁带介质来实现。

采用磁带来实现数据的安全性是传统的异地备份方式,采用此种方式,主要受限于磁带的读写速度偏慢,当需要执行恢复时,如果数据量很大,恢复的时间那是相当漫长。另外,需要使用第三方备份软件实现数据与磁带之间的交互;

采用磁盘来实现数据库的安全性备份是近年来相对流行的异地备份方式,主要由于目前磁盘价格便宜,并且读写速度相对较高,因而比较受用户的青睐。经常的做法是通过异地的存储或者主机做为备份节点,当生产节点的数据备份出来之后,通过网络传输至备份节点,确保备份的安全;采用此种方式备份,对网络稳定要求较高。如果在执行数据传输出现网络故障,那么传输将会中断。另外,如果采用异地主机作为备份节点,建议备份节点的操作系统类型、芯片架构与生产节点的一致。

viewspace-2141200实时异地备份

viewspace-2141200

近年来,由于业务的发展以及技术的飞越。很多实时的异地备份方案出现,极大程度确保了数据的安全以及业务的稳定性。针对 Oracle 数据库,目前主流使用 Oracle DataGuard、Oracle Goldengate 作为灾备技术实现数据库的实时异地备份。当然还有 Vertias 的相关存储镜像管理软件来实现。

以下着重了解 Oracle DataGuard 的实现方式。

Oracle DataGuard 结构

viewspace-2141200

如上图所述,结构中的备用数据库分成物理备用数据库和逻辑备用数据库。

viewspace-2141200

在物理备用数据库中,将重做日志使用数据库恢复功能来应用。

viewspace-2141200

在逻辑备用数据库中,将重做日志转换成 SQL,使用这些 SQL 在逻辑备用数据库上 自动操作。

DataGuard 的保护模式

在 Data Guard 模式下,数据库的保护模式分成下列三种:

viewspace-2141200

最大保护模式

1)这种模式提供了最高级别的数据保护能力;

2)要求至少一个物理备库收到重做日志后,主库的事务才能够提交;

3)主库找不到合适的备库写入时,主库会自动关闭,防止未受保护的数据出现;

4)优点:该模式可以保证备库没有数据丢失;

5)缺点:备库的自动关闭会影响到主库的可用性,同时需要备库恢复后才能提交,对网络等客观条件要求非常的高,主库的性能会因此受到非常大的冲击。

最大可用性模式

1)该模式提供了仅次于“最大保护模式”的数据保护能力;

2)要求至少一个物理备库收到重做日志后,主库的事务才能够提交;

3)主库找不到合适的备库写入时,主库不会关闭,而是临时降低到“最大性能模式”模式,直到问题得到处理;

4)优点:该模式可以在没有问题出现的情况下,保证备库没有数据丢失,是一种折中的方法;

5)缺点:在正常运行的过程中缺点是主库的性能受到诸多因素的影响。

最大性能模式

1)该模式是默认模式,可以保证主数据库的最高可用性;

2)保证主库运行过程中不受备库的影响,主库事务正常提交,不因备库的任何问题影响到主库的运行;

4)优点:避免了备库对主数据库的性能和可用性影响;

5)缺点:如果与主库提交的事务相关的恢复数据没有发送到备库,这些事务数据将被丢失,不能保证数据无损失;

采用 Oracle DataGuard,最大的受限在于主备数据库主机需要采用同芯片架构的主机。鉴于此,不能跨操作系统平台实现 Oracle DataGuard 的应用。另外,Oracle DataGuard 是 Oracle 企业版数据库的一种特性,毋须其它 license。

Data Guard是Oracle高可用性HA的重要解决方案。针对不同的系统保护需求,DG提供了三种不同类型的保护模式(Protection Mode),分别为:最大保护(Maximum Protection)、最大可用(Maximum Availability)和最大性能(Maximum performance)。在实际应用场景下,我们需要根据不同的业务场景和数据可用性需求,来设置DG环境的保护类型。

1、三种保护模式Protection Mode

三种保护模式是DG的核心概念。DG本质上是一种基于Redo Log的数据同步机制。Undo和Redo是Oracle早期奠定行业地位的核心技术。Undo负责记录事务操作的前镜像,而Redo负责记录事务操作的后镜像。在Oracle事务commit的动作中,写入日志文件是一个一定需要完成的动作。写入日志文件之后,即使立刻出现严重的实例终止事件,在重新启动实例的时候也会进行实例恢复动作,将事务落实。

在DG环境中,无论采用何种初始化方法,都是确保一个Primary和Standby的初始化数据一致,之后Primary一端接收的事务类型操作,均会以归档日志串列的方式传递到Standby端的standby redo log和归档日志列表中,最后重复应用这些日志,实现Primary和Standby端一致。

Primary和Standby是相互为备份的冗余结构,Standby跟随Primary的情况,反映了HA结构的可用性级别。理论上,最保险的策略是一个事务要保证在Primary和Standby上都提交了,才返回给用户说已经完成。这样是可以保证主备库完全一致的最保险做法。另一个极端情况,就是主库“自顾自”进行事务处理,独立将日志进行传输,也不用管日志是否传输到或者应用到。

针对不同的传输情况,DG区分为三种保护类型:

ü最大可用模式Maximum Availability

在官方文档中,对这种模式的描述如下:

“This protection mode provides the highest level of data protection that is possible without compromising the availability of a primary database. Transactions do not commit until all redo data needed to recover those transactions has been written to the online redo log and to the standby redo log on at least one synchronized standby database. If the primary database cannot write its redo stream to at least one synchronized standby database, it operates as if it were in maximum performance mode to preserve primary database availability until it is again able to write its redo stream to a synchronized standby database.”

Maximum Availability模式下,事务只有在所有相关日志都被传输到至少一个Standby端日志的时候,才可以正式提交。但是,如果Primary在传输日志的过程中,发现所有standby端都不能进行传输,模式会退化到最大性能模式(Maximum Performance)工作方式。应该说,Maximum Availability是一种自适应的保护模式,当出现问题的时候,DG会退而求其次,确保Primary主库事务进行。

ü最大性能模式(Maximum Performance)

官方文档中介绍如下:“This protection mode provides the highest level of data protection that is possible without affecting the performance of a primary database. This is accomplished by allowing transactions to commit as soon as all redo data generated by those transactions has been written to the online log. Redo data is also written to one or more standby databases, but this is done asynchronously with respect to transaction commitment, so primary database performance is unaffected by delays in writing redo data to the standby database(s).

This protection mode offers slightly less data protection than maximum availability mode and has minimal impact on primary database performance.

This is the default protection mode.”

最大性能模式是在不影响主库工作情况下,可以提供的最高数据保护级别。当事务进行提交的时候,主库不会去确认日志是否写入到备库中,更不会确认是否被apply。这种方式下,主库的工作性能是不会收到备库提交应用的影响的。当然,这种保护模式会有一定的事务数据丢失,但是绝对不会出现数据误提交的情况。

对DG而言,最大性能模式是默认的保护模式。当我们完成了DG安装之后,就自动进入了Maximum Performance模式。

ü最大保护模式(Maximum Protection)

最大保护模式在官方中的描述为:

“This protection mode ensures that no data loss will occur if the primary database fails. To provide this level of protection, the redo data needed to recover a transaction must be written to both the online redo log and to the standby redo log on at least one synchronized standby database before the transaction commits. To ensure that data loss cannot occur, the primary database will shut down, rather than continue processing transactions, if it cannot write its redo stream to at least one synchronized standby database.

Transactions on the primary are considered protected as soon as Data Guard has written the redo data to persistent storage in a standby redo log file. Once that is done, acknowl

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值