v$archived_log status为X

一:问题描述

SQL> l
  1  select name,status
  2* from v$archived_log

--发现,有的日志状态竟然为X,但这个归档日志明明存在呀,而且又是我恢复数据所需要的。

NAME   S

-------------------------------------------------- -

/home/oracle/arch/1_16_858567385.arc   X

/home/oracle/arch/1_17_858567385.arc   X

/home/oracle/arch/2_14_858567385.arc   A

/home/oracle/arch/2_15_858567385.arc   A

--X代表expired。

二:出错原因

控制文件里记录了这个归档日志的位置,当这个归档日志被移走了(即使你后来又将其移动过来了)或者删除了,该归档日志就会被标记为EXPIRED。

在RAC环境下,如果起初rac2归档路径下没有rac1的归档日志,即使你后来通过ASM或者NFS共享,rac2归档路径下有了rac1的归档日志,但此时该归档日志还是会被标记为EXPIRED。

三:解决办法

当你确定该归档日志物理上存在后,crosscheck archivelog all

现在再查看状态,变成A了。欧耶!

NAME   S

-------------------------------------------------- -

/home/oracle/arch/1_16_858567385.arc   A

/home/oracle/arch/1_17_858567385.arc   A

/home/oracle/arch/2_14_858567385.arc   A

/home/oracle/arch/2_15_858567385.arc   A

 

--本篇文章参考自:http://blog.csdn.net/huang_xw/article/details/6428143

你可能感兴趣的:(v$archived_log status为X)