RHEL5.8文件系统只读造成ORA-00354: corrupt redo log block header(二)

2015-07-16 12:07:34 · 作者: · 浏览: 4
------->db open了。open归open,无法归档的话,业务早晚会hang。
--->此时/u01/app/oracle/oradata/orcl/redo02.log,是sequence 398,是current redo log。


?


--->然后,sqlplus中发出了日志切换的语句:alter system switch logfile;
Thread 1 cannot allocate new log, sequence 400---->已经不能进行日志切换,因为sequence 397未被归档,不允许被覆盖,此时db hang住。
All online logs needed archiving
? Current log# 3 seq# 399 mem# 0: /u01/app/oracle/oradata/orcl/redo03.log
? Thu Jun 04 21:28:31 CST 2015
ARC0: Log corruption near block 385521 change 1314765 time ?
Thu Jun 04 21:28:31 CST 2015
Errors in file /u01/app/oracle/admin/orcl/bdump/orcl_arc0_3609.trc:
ORA-00354: corrupt redo log block header
ORA-00353: log corruption near block 385521 change 1314765 time 06/03/2015 19:05:47
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/orcl/redo01.log'
ARC0: All Archive destinations made inactive due to error 354
Thu Jun 04 21:28:31 CST 2015
ARC0: Closing local archive destination LOG_ARCHIVE_DEST_1: '/home/oracle/1_397_880950378.dbf' (error 354)
?(orcl)
ARCH: Archival stopped, error occurred. Will continue retrying
Thu Jun 04 21:28:34 CST 2015
ORACLE Instance orcl - Archival Error
Thu Jun 04 21:28:34 CST 2015
ORA-16038: log 1 sequence# 397 cannot be archived
ORA-00354: corrupt redo log block header
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/orcl/redo01.log'
Thu Jun 04 21:28:34 CST 2015
Errors in file /u01/app/oracle/admin/orcl/bdump/orcl_arc0_3609.trc:
ORA-16038: log 1 sequence# 397 cannot be archived
ORA-00354: corrupt redo log block header
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/orcl/redo01.log'
ARCH: Archival stopped, error occurred. Will continue retrying
Thu Jun 04 21:28:34 CST 2015
ORACLE Instance orcl - Archival Error
Thu Jun 04 21:28:34 CST 2015
ORA-16014: log 1 sequence# 397 not archived, no available destinations
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/orcl/redo01.log'
Thu Jun 04 21:28:34 CST 2015
Errors in file /u01/app/oracle/admin/orcl/bdump/orcl_arc0_3609.trc:
ORA-16014: log 1 sequence# 397 not archived, no available destinations
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/orcl/redo01.log'


?


启动db到mount状态,进行处理


[oracle@lei1 ~]$ sqlplus / as sysdba


SQL*Plus: Release 10.2.0.5.0 - Production on Fri Jun 12 23:14:24 2015


Copyright (c) 1982, 2010, Oracle.? All Rights Reserved.


Connected to an idle instance.


SQL> startup mount;
ORACLE instance started.


Total System Global Area 2147483648 bytes
Fixed Size? ? ? ? ? ? ? ? ? 2097696 bytes
Variable Size? ? ? ? ? ? 536874464 bytes
Database Buffers? ? ? ? 1593835520 bytes
Redo Buffers? ? ? ? ? ? ? 14675968 bytes
Database mounted.


SQL> set line 200
SQL> select * from v$log;


? ? GROUP#? ? THREAD#? SEQUENCE#? ? ? BYTES? ? MEMBERS ARC STATUS? ? ? ? ? FIRST_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------
? ? ? ? 1? ? ? ? ? 1? ? ? ? 397? 536870912? ? ? ? ? 1 NO? INACTIVE? ? ? ? ? ? ? 1294462 03-JUN-15
? ? ? ? 3? ? ? ? ? 1? ? ? ? 399? 536870912? ? ? ? ? 1 NO? CURRENT? ? ? ? ? ? ? ? 1361682 04-JUN-15
? ? ? ? 2? ? ? ? ? 1? ? ? ? 398? 536870912? ? ? ? ? 1 YES INACTIVE? ? ? ? ? ? ? 1359647 04-JUN-15


SQL> alter database clear logfile group 1;
alter database clear logfile group 1
*
ERROR at line 1:
ORA-00350: log 1 of instance orcl (thread 1) needs to be archived
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/orcl/redo01.log'



SQL> alter database clear unarchived logfile group 1;


Database altered.


SQL> select * from v$log;


? ? GROUP#? ? THREAD#? SEQUENCE#? ? ? BYTES? ? ME