ORA-00314: LOG 404&nbs…

来源:互联网 发布:大数据总监招聘 编辑:程序博客网 时间:2024/06/05 00:11

In thisDocument

SymptomsChangesCauseSolution

Applies to:

Oracle Server - Enterprise Edition - Version 10.1.0.5 to 11.2.0.2[Release 10.1 to 11.2]
Information in this document applies to any platform.
***Checked for relevance on 27-Sep-2012***

Symptoms


Following errors are received when attempting to startup standby orwhile logs are being applied

ORA-00314: log 404 of thread 4, expectedsequence# 33808 doesn't match 33543
ORA-00312: online log 404 thread 4:'+INDEX01/test/onlinelog/group_404.468.703522549'
ORA-00314: log 404 of thread 4, expected sequence# 33808 doesn'tmatch 33543
ORA-00312: online log 404 thread 4:'+DATA01/test/onlinelog/group_404.450.703522549'

Changes

Standby redo is being used.
while archives are being transferred, network outage, instancecrash occurred.

Cause


Standby redo has corrupt entry.

Instance crash while redo entry being transfer/received

The error message with ora-314 tells you the standby redo withcorruption

ie)
ORA-00314: log 404 of thread 4, expected sequence# 33808 doesn'tmatch 33543
==> redo log group (# 404) is the one with corruption.
When problem (instance crash,network problem) happened, it wasreceiving sequence 33808 and was corrupted in the middle. so theheader has info on sequence 33808 but current archive sequence #being transferred is 33543.

You may see the another standby redo is receiving the sequence#33543 in v$standby_log with two of them are active status

v$standby_log
------------------------

GROUP# DBID THREAD# SEQUENCE#
---------- ---------------------------------------- --------------------
BYTES USED ARC STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- --- ---------- --------------------------------
LAST_CHANGE# LAST_TIME
------------ -------------------
401 1863397730 4 34381
104857600 93738496 YES ACTIVE 5.9903E+12 Jan 28 2010 05:22PM
5.9903E+12 Jan 28 2010 06:52PM



404 1863397730 4 33808
104857600 0 YES ACTIVE 5.9902E+12 Jan 24 2010 02:04AM
5.9903E+12 Jan 28 2010 06:52PM

------------------------------------------------------

Solution

Clear standby redo with ora-314 error.

Stop recovery on standby side.

SQL> Alter database recover managed standby databasecancel;


clear standby redo group 404. -

SQL>  alter database clear logfile group404



You may have to use the 'unarchived'-Keyword to be able to clearthe Standby RedoLog Group in most Cases, eg.

SQL> alter database clear unarchived logfile group404;
0 0