发现gap及解决

发现gap及解决
1,在primary端执行
SELECT * FROM V$ARCHIVE_GAP;
THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#
----------- ------------- --------------
1 7 10


2,如果有记录,则找出没传过去的log
SELECT NAME FROM V$ARCHIVED_LOG WHERE THREAD#=1 AND DEST_ID=1 AND
2> SEQUENCE# BETWEEN 7 AND 10;--假设primary端的local archive 地址配置在LOG_ARCHIVE_DEST_1


3,手工拷贝到standby端,再注册
SQL> ALTER DATABASE REGISTER LOGFILE
'/physical_standby1/thread1_dest/arcr_1_7.arc';  


4,重新开始管理恢复将完成这些日志在standby端的应用
ALTER DATABASE RECOVER MANAGED STANDBY
DATABASE

再从第一步开始检查是否仍有其他gap,直到没有记录及解决完成

后记:
如果在standby端配置好fal_server,fal_client两个参数gap问题可以自动解决,不需人工干预。
log apply service可以自动发现gap,运行在primary端的fal server进程解决gap
请使用浏览器的分享功能分享到微信等