7 x 24 在线支持!
Oracle DataGuard高可用中延迟应用归档archive log delay
DataGuard相关参数LOG_ARCHIVE_DEST_n中Delay参数可以用来指定重做日志抵达Standby备库 到 已抵达重做日志在备库上被应用 之间的时间延迟,单位为分钟。
举例来说:
LOG_ARCHIVE_DEST_1='SERVICE=stby DELAY=120'
其中的DELAY=120意指重做日志archivelog 到达standby目的地后2个小时(120分钟)内不做recovery之用,而只是存放在standby database端。
- 这样做的好处是 例如primary database侧发生例如drop table、truncate table这样的误操作时,用户可以及时发现并阻止其传播到standby database。例如truncate掉一张表且所在表空间很大的时候,那么虽然有备份,但仍需要大量时间和精力将被truncate掉的数据恢复出来。但如果standby 端没有传播到这个truncate,那么直接从standby导出数据,再导入到primary即可。
- 延迟的代价是当primary要发生failover时,显然需要更多的时间让standby recovery到定点。
可以通过下面的语句来使delay不生效:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE NODELAY DISSCONNECT FROM SESSION;