DG三种数据保护模式

保护等级从高到低

1、最大保护(Maximum Protection)

最大保护模式能够确保无数据丢失,该模式要求主库所有事务在提交前其Redo不仅被写入到本地的Online Redo Logs,还要同事写入到备库的Standby Redo Logs,并确认Redo数据至少在一个备库中可用(如果有多个的话),然后才会在主库上提交。如果出现了导致备库不可用故障(例如网络故障),主库就会被关闭

切换命令:alter database set standby database to maximize protection;

log_archive_dest_2:SERVICE=orcl lgwr sync affirm VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl

优点:保证数据不丢失

缺点:对主库影响太大,对网络要求高,如果出现备库不可用的故障(比如网络中断),那么主库会被关闭。备库的自动关闭会影响到主库的可用性,同时需要备库恢复后才能提交,对网络等客观条件要求非常高,主库的性能会受到非常大的影响。

2、最高可用(Maximum availability)

在不影响主库的前提下,提供最高级别的数据保护。其实现方式与最大保护模式类似,也是要求本地事务在提交前必须至少写入一台主库的Standby Redo Logs中,不过与最大保护模式不同的是,如果出现故障导致备库无法访问,那么主库并不会被关闭,而是自动转为最高性能模式,等备库恢复正常以后,主库又会自动转成最高可用模式。

切换命令:alter database set standby database to maximize availability;

log_archive_dest_2:SERVICE=orcl lgwr sync affirm VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl

优点:不出问题情况下与最大保护模式一样,保证数据0丢失。

缺点:要求备库必须配置Standby Redo Logs,主库必须使用LGWR SYNC AFFIRM方式归档到备库

3、最高性能(Maximum Performance)(数据库默认选项)

在最高性能模式下,事务可以随时提交,如果网络条件理想的话,这种模式能提供类似最高可用级别的数据保护,而仅对主库的性能有轻微影响。最高性能模式区别于最大保护模式的地方是,它并不需要将日志信息实时的传递到备库上,也不需要确保日志在其中的至少一台备库上应用。

切换命令:alter database set standby database to maximize performance;

log_archive_dest_2:使用LGWR进程传递归档时可以同步SYNC,也可以异步ASYNC,使用ARCH进程传递归档时采用同步,可以启用AFFIRM也可以NOAFFIRM

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

缺点:如果与主库提交的事务相关的恢复数据没有发送到备库,那么这些事务数据将被丢失,不能保证数据无损失。如果主库发生灾难性故障,日志全部损失,那么备库和主库可能会出现一个左右的日志信息差异。可以通过设置主库增加归档频率来缩小核能的数据损失。最高性能模式损害了数据安全性。

你可能感兴趣的:(DataGuard)