1. 首先来模拟 Gap 的产生 1.1. 备库关闭: SYS@dgtest_sshutdown immediate; 1.2. 主库切换日志 SYS@dgtestselect SEQUENCE#,ARCHIVED,STATUS from v$log; SEQUENCE# ARC STATUS ———- — —————- 61 YES ACTIVE 62 YES ACTIVE 63 NO CURREN
1. 首先来模拟Gap的产生
1.1. 备库关闭:
SYS@dgtest_s>shutdown immediate;
1.2. 主库切换日志
SYS@dgtest>select SEQUENCE#,ARCHIVED,STATUS from v$log;
SEQUENCE# ARC STATUS
———- — —————-
61 YES ACTIVE
62 YES ACTIVE
63 NO CURRENT
SYS@dgtest>alter system archive log current;
System al本文来源gao@!dai!ma.com搞$$代^@码!网!tered.
SYS@dgtest>select SEQUENCE#,ARCHIVED,STATUS from v$log;
SEQUENCE# ARC STATUS
———- — —————-
64 NO CURRENT
62 YES ACTIVE
63 YES ACTIVE
刚才current的日志已经归档
1.3. 删除归档,产生UNRESOLVABLE GAP
现在删除63号归档
[oracle@primary arch]$ mv 1_63_909786801.dbf 1_63_909786801.dbf.bak
2. 查看报错
2.1. 启动备库
SYS@dgtest_s>startup
2.2. 查看备库的alert
Media Recovery Log /u01/app/oracle/arch/1_62_909786801.dbf
Media Recovery Waiting for thread 1 sequence 63
Fetching gap sequence in thread 1, gap sequence 63-63
Fri May 06 05:28:09 2016
FAL[client]: Failed to request gap sequence
GAP – thread 1 sequence 63-63
DBID 3866310445 branch 909786801
FAL[client]: All defined FAL servers have been attempted.
————————————————————
Check that the CONTROL_FILE_RECORD_KEEP_TIME initialization
parameter is defined to a value that’s sufficiently large
enough to maintain adequate log switch information to resolve
archivelog gaps.
————————————————————
2.3. 主库查询SWITCHOVER_STATUS
SYS@dgtest>SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
——————–
UNRESOLVABLE GAP