ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 在归档模式下设定_disable_logging=true导致redo corrupt的解决办法

在归档模式下设定_disable_logging=true导致redo corrupt的解决办法

原创 Linux操作系统 作者:viadeazhu 时间:2009-10-08 18:48:48 0 删除 编辑

_disable_logging=true可以帮助非归档模式的Oracle在benchmark测试期间提高效率。

但是如果不小心在归档模式下把他设为true,会导致redo log corrupt的问题:

即使将这个参数重新设为false,但如果继续switch logfile到current log,那么switch log会hung住。

并且alert.log会报:

Thu Oct  8 03:42:09 2009
ARC1: Log corruption near block 2 change 215140805 time ?
Thu Oct  8 03:42:09 2009
Errors in file /oracle/xxx/data01/haozhu/bdump/haozhu_arc1_9082.trc:
ORA-00354: corrupt redo log block header
ORA-00353: log corruption near block 2 change 215140805 time 10/08/2009 03:28:49
ORA-00312: online log 2 thread 1: '/oracle/xxx/data01/haozhu/redo/haozhu_redo2.log'
ARC1: All Archive destinations made inactive due to error 354
Thu Oct  8 03:42:09 2009
ARC1: Closing local archive destination LOG_ARCHIVE_DEST_1: '/oracle/xxx/data01/haozhu/archive/haozhu_42.1_698645072_arc' (error 354)

 

这时候解决的办法也非常简单,

对于非current的log file:

SQL>  select group#,status from v$Log;

    GROUP# STATUS
---------- ------------------------------------------------
         2 CURRENT
         1 ACTIVE


SQL> alter database clear unarchived logfile '/oracle/xxx/data01/haozhu/redo/haozhu_redo1.log';

Database altered.

但是对于current logfile,必须设定unrecoverable datafile选项。

SQL> alter database clear unarchived logfile '/oracle/xxx/data01/haozhu/redo/haozhu_redo2.log';
alter database clear unarchived logfile '/oracle/xxx/data01/haozhu/redo/haozhu_redo2.log'
*
ERROR at line 1:
ORA-01624: log 2 needed for crash recovery of instance haozhu (thread 1)
ORA-00312: online log 2 thread 1: '/oracle/xxx/data01/haozhu/redo/haozhu_redo2.log'

SQL> alter database clear unarchived logfile group 2 unrecoverable datafile;

Database altered.

经过对所有redo log进行clear后,一切恢复正常。

但是,在这期间生成的archive log,却是corrupt的。

dbv file=haozhu_41.1_698645072_arc blocksize=512

Total Pages Examined         : 308
Total Pages Processed (Data) : 0
Total Pages Failing   (Data) : 0
Total Pages Processed (Index): 0
Total Pages Failing   (Index): 0
Total Pages Processed (Other): 0
Total Pages Processed (Seg)  : 0
Total Pages Failing   (Seg)  : 0
Total Pages Empty            : 0
Total Pages Marked Corrupt   : 308
Total Pages Influx           : 0
Highest block SCN            : 0 (0.0)

相信这些corrupt的archive log,能够作为曾经在archivedlog模式下设立过_disable_logging=true的一点证据。

(因为alert log很有可能没有保存那么久远。)

希望能回答:http://www.itpub.net/thread-1222074-1-1.html 这个帖子。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15415488/viewspace-616115/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-08-22

  • 博文量
    79
  • 访问量
    368936