Oracle Dataguard 介绍
一、 DataGuard的基本原理
当某次事务处理对生产数据库中的数据作出更改时,Oracle数据库将在一个联机重做日志文件中记录此次更改。在DataGuard中可以配置写日志的这个过程,除了把日志记录到本地的联机日志文件和归档日志文件中,还可以通过网络,把日志信息发送到远程的从(standby)数据库服务器上。这个备用日志文件写入过程可以是实时、同步的,以实现零数据丢失(最大保护模式maximum protection);也可以是异步的,以减少对网络带宽的压力(最大性能模式maximum performance);或者是异步和同步可以自动切换的模式(最大可用模式maximum availability)。当备份数据库接收到日志信息后,Data Guard可以自动利用日志信息实现数据与主数据库的实时同步。当主数据库打开并处于活动状态时,备用数据库可以执行恢复操作,如果主数据库出现了故障,备用数据库即可以被激活并接管生产数据库的工作。
二、 三种模式的特点
保护模式 |
在出现灾难时数据丢失的风险 |
重做传输机制 |
是否需要standby redo log |
磁盘写入 |
最大保护 |
零数据丢失 |
LGWRSYNC |
YES |
AFFIRM |
最高可用性 |
零数据丢失 |
LGWRSYNC |
YES |
AFFIRM |
最高性能 |
最小数据丢失 - 通常为几秒 |
LGWR ASYNC 或 ARCH |
可没有但推荐有 |
AFFIRM 或 NOAFFIRM |
AFFIRM:表示主数据库上的REDO LOG只有被写入到从数据库的standby log才算有效。
n 最大保护模式
最大保护模式为主数据库提供了最高水平的数据保护,从而确保了一个全面的零数据丢失灾难恢复解决方案。当在最大保护模式下运行时,重做记录由日志写入器 (LGWR) 进程从主数据库同步地传输到备用数据库,并且直到确认事务数据在至少一个备用服务器上的磁盘上可用时,才在主数据库上提交事务。强烈建议,这种模式应至少配置两个备用数据库。当最后参与的备用数据库不可用时,主数据库上的处理将停止。这就确保了当主数据库与其所有备用数据库失去联系时,不会丢失事务。
由于重做传输的同步特性,这种最大保护模式可能潜在地影响主数据库响应时间。可以通过配置一个低延迟网络,并为它分配足够应付高峰事务负载的带宽来将这种影响减到最小。需要这种最大保护模式的企业有股票交易所、货币交易所、金融机构等。
n 最高可用性模式
最高可用性模式拥有仅次于最高水平的主数据库数据可用性。如同最大保护模式一样,重做数据由 LGWR 从主数据库同步地传输到备用数据库,直到确认事务数据在备用服务器的磁盘上可用时,事务才在主数据库上完成。不过,在这种模式下(与最大保护模式不同),如果最后参与的备用数据库变为不可用 — 例如由于网络连接问题,处理将在主数据库上继续进行(类似于MySQL-5.5中的半同步复制)。备用数据库与主数据库相比,可能暂时落在后面,但当它再次变为可用时,备用数据库将使用主数据库上累积的归档日志自动同步,而不会丢失数据。
由于同步重做传输,这种保护模式可潜在地影响响应时间和吞吐量。可以通过配置一个低延迟网络,并为它分配足够应付高峰事务负载的带宽来将这种影响减到最小。
最高可用性模式适用于想要确保获得零数据丢失保护,但不想让生产数据库受网络/备用服务器故障影响的企业。如果又一个故障随后影响了生产数据库,然后最初的网络/备用服务器故障得到解决,那么这些企业将接受数据丢失的可能性。
n 最高性能模式
最高性能模式是默认的保护模式。它与最高可用性模式相比,提供了稍微少一些的主数据库数据保护,但提供了更高的性能。在这种模式下,当主数据库处理事务时,重做数据由 LGWR 进程异步传输到备用数据库上。另外,也可以将主数据库上的归档器进程 (ARCH) 配置为在这种模式下传输重做数据。在任何情况下,均先完成主数据库上的写操作,主数据库的提交操作不等待备用数据库确认接收(类似于MySQL中的异步复制)。如果任意备用目标数据库变为不可用,则处理将在主数据库上继续进行,这对性能只有很小的影响或没有影响。
在主数据库出现故障的情况下,尚未被发送到备用数据库的重做数据会丢失。但是,如果网络有足够的吞吐量来跟上重做流量高峰,并且使用了 LGWR 进程来将重做流量传输到备用服务器,则丢失的事务将非常少或者为零。
三、 Oracle Dataguard三种保护模式特点
n 最大保护模式
1).这种模式提供了*别的数据保护能力
2).重做日志在至少一个物理从库数据库后,主库的事务才能够提交
3).主库找不到合适的从库写入时,主库会自动关闭,防止无保护的数据出现
4).优点:该模式可以保证从库没有数据丢失
5).缺点:主库的自动关闭会影响到主库的可用性,同时需要从库恢复后才能提交,对网络等客观条件要求非常的高,主库的性能会受到非常大的影响。
n 最大可用性模式
1).这种模式提供了仅次于“最大保护模式”的数据保护能力
2).重做日志在至少一个物理从库数据库后,主库的事务才能够提交
3).主库找不到合适的从库写入时,主库不会关闭,而是临时降低到“最大性能模式”模式,直到问题得到处理
4).优点:该模式可以在没有问题出现的情况下保证从库没有数据丢失,是一种折中的方法
5).缺点:在正常运行的过程中缺点是主库的性能收到诸多因素的影响
n 最大性能模式
1).默认模式,提供主数据库的最高可用性
2).保证主库运行过程中不受从库的影响,主库事务正常提交,不因从库的任何问题影响到主库的运行
3).优点:避免了从库对主数据库的性能和可用性影响
4).缺点:如果与主库提交的事务相关的恢复数据没有发送到从库,这些事务数据将被丢失,不能保证数据无损失