Wednesday, May 14, 2008

ORA-16038,ORA-00354,ORA-00312 corrupt redo log block header

Error Description:
------------------------

Normal users could not connect to database. It messaged ORA-00257 :Connect Internal Only until freed. Whenever you try to archive the redo log it returns the message.

ORA-16038: log %s sequence# %s cannot be archived
ORA-00354: corrupt redo log block header
ORA-00312: "online log %s thread %s: '%s'"


Explanation of the Problem:
-------------------------------

Whenever normal user tried to connect the database the error returns as it is descriped in
ORA-00257. But you have noticed that there is enough space in V$RECOVERY_FILE_DEST. Whenever you look at alert log you will see the ORA-16038,ORA-00354,ORA-00312 error serial. The error produced as because it failed to archive online redolog due to a corruption in the online redo file.

Solution of The problem:
--------------------------------

Step1)While making your database running clear the unarchived redo log.
SQL>alter database clear unarchived logfile 'logilename';

This makes the corruption disappear which causes the contents of the cleared online redo file.
Step2)Make a complete backup of the database.

1 comment: