DataGuard日志延迟应用

延时日志应用,需要在主库的log_archive_dest_n 参数上使用“DELAY=”,DELAY的单位是分钟,例如:

SQL> alter system set log_archive_dest_2='SERVICE=standby LGWR SYNC AFFIRM DELAY=30 VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) db_unique_name=standby' scope=both;

DELAY参数中果没有指定具体的值,默认是30分钟。

如果Standby启用了实时日志应用,Delay参数会被忽略,如果是这样,需要备库重启日志应用为非实时模式

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

注意:如果主库不切换日志,那备库也不会应用。有些库主库压力非常小,日志长时间不切,这时侯需要设置参数archive_lag_target帮助主库定时切归档日志

SQL> alter system set archive_lag_target=60 scope=both;

archive_lag_target参数建议不要低于1800(半小时),这里为了测试,设置了60。
备库日志:

Fri Mar 10 13:09:51 2017
Archived Log entry 7 added for thread 1 sequence 9 ID 0x69d79ffa dest 1:
ARC0: Archive log thread 1 sequence 9 available in 1 minute(s)
Archived Log entry 8 added for thread 1 sequence 9 ID 0x69d79ffa dest 3:
ARC0: Archive log thread 1 sequence 9 available in 1 minute(s)
Fri Mar 10 13:09:55 2017
Media Recovery Delayed for 1 minute(s) (thread 1 sequence 9)                --> 延迟应用

备库日志延时应用,也是依据三个保护模式的情况,所以只要保护模式合理,也不会出现备库日志延时应用也不会出现数据丢失。

  • 最大性能
  • 不影响主库性能
    事务提交前写入primary的online redo log
    事务的日志写入standby的standby redo log是异步
    如果standby没有standby redo log,primary归档切换时standby应用归档

  • 最大可用
  • 事务提交前写入primary的online redo log和standby的standby redo log
    Standby不可用,退为最大性能模式

  • 最大保护
  • 事务提交前写入primary的online redo log和standby的standby redo log
    Standby不可用,Primary不可用

    关于紫砂壶

    感悟技术人生
    此条目发表在DataGuard分类目录,贴了标签。将固定链接加入收藏夹。