配套视频:《Oracle11g DataGuard 管理》

1.备库停掉同步进程
SQL> alter database recover managed standby database cancel;

2.停掉主/备库监听(禁止归档日志的传输)
[oracle@oradg ~]$ lsnrctl stop

3.主库多次切换日志
SQL> alter system switch logfile;
SQL> /

4.主库移动最近归档日志文件:
[oracle@dgdb1 archive]$ mv 1_87_1024761634.dbf 1_88_1024761634.dbf 1_89_1024761634.dbf /home/oracle

5.启动主/备库监听
[oracle@oradg ~]$ lsnrctl start

6.启动备库日志应用线程
SQL> alter database recover managed standby database using current logfile disconnect from session;

7.备库查询GAP
SQL> select * from v$archive_gap;

	THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#
---------- ------------- --------------
         1            87             89
         
--已应用的最新序列号
SQL> SELECT max(sequence#) from v$archived_log where applied='YES';

 MAX(SEQUENCE#)
--------------
            87             
丢失了88-89两个日志

                
8.查询缺失的归档日志文件(通过7查询到的LOW_SEQUENCE# 与 HIGH_SEQUENCE#)
SQL> SELECT NAME FROM V$ARCHIVED_LOG WHERE THREAD#=1 AND SEQUENCE# BETWEEN 87 AND 89 ;