b.ORA-01031: insufficient privileges错误
SQL> select dest_name,status,error from v$archive_dest;
DEST_NAME STATUS ERROR
---------------------- -----------------------------------------------
LOG_ARCHIVE_DEST_1 VALID
LOG_ARCHIVE_DEST_2 ERROR ORA-01031: insufficient Privileges
解决办法:统一主备库的数据库密码文件,或者重建密码文件,sys密码设置成一样。
然后在主库执行
SQL> alter system set log_archive_dest_state_2= enable;
c.ORA-16191: Primary log shipping client not logged on standby
SQL> select dest_name,status,error from v$archive_dest;
DEST_NAME STATUS ERROR
------------------------------ -----------
LOG_ARCHIVE_DEST_1 VALID
LOG_ARCHIVE_DEST_2 ERROR ORA-16191: Primary log shipping client not logged on standby
解决办法:统一主备库的数据库密码文件,或者重建密码文件,sys密码设置成一样。
然后在主库执行
SQL> alter system set log_archive_dest_state_2= enable;
d.发现备库一直无法应用日志,MRP0进程显示WAIT_FOR_GAP的问题
发现从主库传来的日志无法应用
在备库检查,
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 ;
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,进一步查看此视图
SQL> 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, THREAD#, SEQUENCE#, BLOCK#, BLOCKS FROM V$MANAGED_STANDBY;