| 導購 | 订阅 | 在线投稿
分享
 
 
 

ORA-00354,ORA-00353和ORA-00312的處理方法

來源:互聯網網民  2006-04-20 05:58:36  評論

ORA-00354,ORA-00353和ORA-00312的處理方法

在日志文件損壞或者dump這些損壞的日志文件的時候,通常回收到類似下面的錯誤:

ORA-00354: corrupt redo log block header

ORA-00353: log corruption near block 3740 change 0 time 04/11/2006 13:49:56

ORA-00312: online log 1 thread 1: '/oracle/oradata/TSMISC02/redo01.log'

或者:

sys@TSMISC02> ALTER SYSTEM DUMP LOGFILE '/oracle/oradata/TSMISC02/redo01.log';

ALTER SYSTEM DUMP LOGFILE '/oracle/oradata/TSMISC02/redo01.log'

*

ERROR at line 1:

ORA-00354: corrupt redo log block header

ORA-00353: log corruption near block 3740 change 6918597 time 04/10/2006 23:53:24

ORA-00334: archived log: '/oracle/oradata/TSMISC02/redo01.log'

Elapsed: 00:00:03.36

sys@TSMISC02>

這裏首先介紹一下oracle使用日志文件的策略。每一個數據庫至少有兩個或多個日志文件組(redo log group),每個組中至少有一個日志成員(redo log member)。日志文件的主要功能是真實完整的記錄對數據庫作的全部修改。在出現故障時,如果不能將修改數據永久地寫入數據文件,則系統將利用日志前滾來恢複數據庫數據文件。日志文件主要是保護數據庫以防止故障。

如果LGWR 至少能夠訪問一個組內的某一個成員,那麽oracle就會對這個組內的可訪問成員繼續照常進行讀寫操作,也就是說,LGWR 將忽略組內的不可用成員。如果在日志切換時LGWR 無法訪問下一個組的所有成員或者損壞的日志文件時改組中日志成員,數據庫的正常操作就無法進行了。這也就是oracle常說的,爲了防止日志文件的故障或丟失,強烈建議鏡象日志(mirrored redo log),即,在不同磁盤上維護至少兩個或多個日志文件(redo log member)副本的作用——只要組內有一個可用的成員,oracle就會繼續“正常”操作。

回到這裏,如果數據庫發生日志文件的上述損壞,不管是哪種原因造成的,解決方法無外乎是使用完好的文件恢複已經損壞的文件,或者初始化損壞的文件組等等(日志文件的故障處理不做這裏的重點介紹,我將會在其他的文章中逐一說明和舉例)。

我們這裏主要是使用了_disable_logging=true這個隱含參數(實際性能故障診斷時,你可以通過alert.log找到相關信息)造成了歸檔數據庫中,所有日志不能歸檔,最終數據庫不能繼續操作的問題,因此解決方法就是:

(a)如果是使用了隱含參數,那麽去掉這個隱含參數:

alter system set "_disable_logging"=false scope=both;

(b)然後,初始化損壞的redo log:

alter database clear unarchived logfile '<logilename>';

例如:

sys@TSMISC02> alter system set "_disable_logging"=false scope=both;

System altered.

Elapsed: 00:00:00.01

sys@TSMISC02>

sys@TSMISC02> alter database clear unarchived logfile '/oracle/oradata/TSMISC02/redo02.log';

Database altered.

Elapsed: 00:00:00.18

sys@TSMISC02> alter database clear unarchived logfile '/oracle/oradata/TSMISC02/redo03.log';

Database altered.

Elapsed: 00:00:00.17

sys@TSMISC02>

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
ORA-00354,ORA-00353和ORA-00312的處理方法 在日志文件損壞或者dump這些損壞的日志文件的時候,通常回收到類似下面的錯誤: ORA-00354: corrupt redo log block header ORA-00353: log corruption near block 3740 change 0 time 04/11/2006 13:49:56 ORA-00312: online log 1 thread 1: '/oracle/oradata/TSMISC02/redo01.log' 或者: sys@TSMISC02> ALTER SYSTEM DUMP LOGFILE '/oracle/oradata/TSMISC02/redo01.log'; ALTER SYSTEM DUMP LOGFILE '/oracle/oradata/TSMISC02/redo01.log' * ERROR at line 1: ORA-00354: corrupt redo log block header ORA-00353: log corruption near block 3740 change 6918597 time 04/10/2006 23:53:24 ORA-00334: archived log: '/oracle/oradata/TSMISC02/redo01.log' Elapsed: 00:00:03.36 sys@TSMISC02> 這裏首先介紹一下oracle使用日志文件的策略。每一個數據庫至少有兩個或多個日志文件組(redo log group),每個組中至少有一個日志成員(redo log member)。日志文件的主要功能是真實完整的記錄對數據庫作的全部修改。在出現故障時,如果不能將修改數據永久地寫入數據文件,則系統將利用日志前滾來恢複數據庫數據文件。日志文件主要是保護數據庫以防止故障。 如果LGWR 至少能夠訪問一個組內的某一個成員,那麽oracle就會對這個組內的可訪問成員繼續照常進行讀寫操作,也就是說,LGWR 將忽略組內的不可用成員。如果在日志切換時LGWR 無法訪問下一個組的所有成員或者損壞的日志文件時改組中日志成員,數據庫的正常操作就無法進行了。這也就是oracle常說的,爲了防止日志文件的故障或丟失,強烈建議鏡象日志(mirrored redo log),即,在不同磁盤上維護至少兩個或多個日志文件(redo log member)副本的作用——只要組內有一個可用的成員,oracle就會繼續“正常”操作。 回到這裏,如果數據庫發生日志文件的上述損壞,不管是哪種原因造成的,解決方法無外乎是使用完好的文件恢複已經損壞的文件,或者初始化損壞的文件組等等(日志文件的故障處理不做這裏的重點介紹,我將會在其他的文章中逐一說明和舉例)。 我們這裏主要是使用了_disable_logging=true這個隱含參數(實際性能故障診斷時,你可以通過alert.log找到相關信息)造成了歸檔數據庫中,所有日志不能歸檔,最終數據庫不能繼續操作的問題,因此解決方法就是: (a)如果是使用了隱含參數,那麽去掉這個隱含參數: alter system set "_disable_logging"=false scope=both; (b)然後,初始化損壞的redo log: alter database clear unarchived logfile '<logilename>'; 例如: sys@TSMISC02> alter system set "_disable_logging"=false scope=both; System altered. Elapsed: 00:00:00.01 sys@TSMISC02> sys@TSMISC02> alter database clear unarchived logfile '/oracle/oradata/TSMISC02/redo02.log'; Database altered. Elapsed: 00:00:00.18 sys@TSMISC02> alter database clear unarchived logfile '/oracle/oradata/TSMISC02/redo03.log'; Database altered. Elapsed: 00:00:00.17 sys@TSMISC02>
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 
 熱帖排行
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有