--->此时/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