standby
库查看
select THREAD#,GROUP#,SEQUENCE#,BYTES/1024/1024 as MB,ARCHIVED,STATUS from
v$log order by SEQUENCE#;
THREAD# GROUP# SEQUENCE# MB ARCHIVED STATUS
---------- ---------- ---------- ---------- ---------
------------------------------------------------
1 1 16 100 YES CLEARING
1 2 17 100 YES CLEARING
1 3 18 100 YES CURRENT
select process,status,thread#,sequence#,block#,blocks from
v$managed_standby;
PROCESS STATUS THREAD# SEQUENCE# BLOCK#
BLOCKS
--------------- ---------------------------- ---------- ----------
---------- ----------
ARCH CLOSING 1 17 174080
236
ARCH CLOSING 1 16 167936
135
ARCH CONNECTED 0 0 0
0
ARCH CLOSING 1 15 163840
391
RFS IDLE 0 0 0 0
RFS IDLE 1 18 42794
1
RFS IDLE 0 0 0 0
MRP0 APPLYING_LOG 1 18 42794
204800 #可以看到 standby 库当前正在从 primary 读取最新的 18 号日志文件
2. 模拟产生 gap 事件
2.1. 停掉备库的 dataguard 进程和数据库实例
alter database recover managed standby database cancel;
shutdown immediate;
$ lsnrctl stop
2.2. 主库切 5 个归档文件,并将新产生的 5 个归档文件剪切出归档目录
alter system archive log current;
alter system archive log current;
alter system archive log current;
alter system archive log current;
alter system archive log current;
select THREAD#,GROUP#,SEQUENCE#,BYTES/1024/1024 as MB,ARCHIVED,STATUS from
v$log;
THREAD# GROUP# SEQUENCE# MB ARCHIVED STATUS
---------- ---------- ---------- ---------- ---------
------------------------------------------------
1 1 22 100 YES INACTIVE
1 2 23 100 NO CURRENT
1 3 21 100 YES INACTIVE
select NAME,sequence#,archived,applied from v$archived_log where SEQUENCE# >
17;
#可以看到刚才手动切了 5 次,多了 5 个归档文件,序列号为 18~22,一会儿通过手动注册的方式解决
18~22 的 gap 事件
NAME SEQUENCE# ARCHIVED APPLIED
------------------------------------------------------------ ----------
--------- ---------------------------
/u01/app/oracle/arch/1_18_947274260.dbf 18 YES NO
/u01/app/oracle/arch/1_19_947274260.dbf 19 YES NO
/u01/app/oracle/arch/1_20_947274260.dbf 20 YES NO
评论