日期:2014-05-16  浏览次数:20474 次

ORA-00314,redolog 损坏,或丢失处理方法

alertsid.log报错信息:

Fri Sep 27 15:18:39 2013
Started redo scan
Fri Sep 27 15:18:39 2013
Errors in file /oracle/admin/lixora/udump/lixora_ora_23439.trc:
ORA-00314: log 2 of thread 1, expected sequence# 335 doesn't match 331
ORA-00312: online log 2 thread 1: '/oracle/oradata/lixora/redo02.log'
Fri Sep 27 15:18:39 2013
Aborting crash recovery due to error 314

 

查看当前日志组信息:
SQL> select * From v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS
---------- ---------- ---------- ---------- ---------- --- ----------------
FIRST_CHANGE# FIRST_TIM
------------- ---------
         1          1        334   52428800          1 NO  ACTIVE
      3613897 27-SEP-13

         4          1        333  104857600          1 NO  INACTIVE
      3613895 27-SEP-13

         3          1        336   52428800          1 NO  CURRENT
      3613948 27-SEP-13

         2          1        335   52428800          1 NO  ACTIVE
      3613899 27-SEP-13

如果查询v$log發現損壞的online redo log是inactive, 說明該組日志是非當前日志, 而且已經歸檔完成 ( STATUS 是INACTIVE , ARCHIVE 是YES ) .

處理方法(適用於歸檔及非歸檔數據庫) :

使用clear 命令清理這個文件所在的redo log group .

SQL> alter database clear logfile group 3 ;

如果該日志組還沒有歸檔 (STATUS 是INACTIVE , ARCHIVE 是 NO )

那麼需要使用如下命令

SQL> alter database clear unarchived logfile group 3 ;

然後打開數據庫 , 備份 .