a case for datagurad no apply archivelog
今天一兄弟在检查备库时,发现从主库传来的日志无法应用
在备库检查,
SQL> select sequence#,applied from v$archived_log;
SEQUENCE# APP
———- —
930 NO
931 NO
932 NO
933 NO
934 NO
935 NO
936 NO
937 NO
938 NO
939 NO
940 NO
然后开始查看有没有mrp
[oracle@HJITBACKUP bdump]$ ps -ef | grep mrp
oracle 31896 1 0 14:37 ? 00:00:00 ora_mrp0_flow
oracle 32001 31820 0 15:17 pts/1 00:00:00 grep mrp
看来有,接着查gap,发现备库上有此进程,
SQL> select * from v$archive_gap
2 ;
no rows selected
查询视图没有发现,
在接着检查V$MANAGED_STANDBY
SQL> select process,status from v$managed_standby;
PROCESS STATUS
——— ————
ARCH CONNECTED
ARCH CONNECTED
MRP0 WAIT_FOR_GAP
RFS IDLE
RFS IDLE
发现MRP0在等待GAP,进一步查看此视图
select process,status,group#,thread#,sequence#,block#,blocks from v$managed_standby;
PROCESS STATUS GROUP# THREAD# SEQUENCE# BLOCK# BLOCKS
——— ———— ———- ———- ———- ———- ———-
ARCH CONNECTED N/A 0 0 0 0
ARCH CONNECTED N/A 0 0 0 0
MRP0 WAIT_FOR_GAP N/A 1 928 0 0
RFS IDLE N/A 0 0 0 0
RFS IDLE N/A 0 0 0 0
发现日志928没有应用,
原来是由于主库删除了928,导致备库没法应用,所以只能从备份中恢复,restore archivelog
至此问题处理完毕。
查询备库状态
SQL> select process,status from v$managed_standby;
PROCESS STATUS
——— ————
ARCH CONNECTED
ARCH CONNECTED
MRP0 WAIT_FOR_LOG
RFS IDLE
RFS IDLE
所以当standby装完后,在主库切换日志后,这里状态应该是
MRP0 WAIT_FOR_LOG
主要是主库空间紧张,备份后就直接删除了
