Remember your dreams

Remember your dreams
Remember your dreams

Friday, January 16, 2009

ORA-00354:, ORA-16014:

ORA-00354:
How to recover from
ORA-00354: corrupt redo log block header
also
ORA-00312: online log 1 thread 1: '/u02/oradata/DEV/redo01.log'
ORA-16038: log 1 sequence# 2530 cannot be archived
ORA-00354: corrupt redo log block header
also

SQL> alter database mount;
SQL> alter database open resetlogs;
SQL> alter database open;

ERROR at line 1:
ORA-16014: log 1 sequence# 2530 not archived, no available destinations
ORA-00312: online log 1 thread 1: '/u02/oradata/DEV/redo01.log'

I have not tested with the database open. I crashed this instance and could not open due to the corrupted redo log. In mount state issue the following commands for your specific redo logs with corruption.

SQL> alter database clear unarchived logfile '/u02/oradata/DEV/redo01.log';
SQL> alter database clear unarchived logfile '/u03/oradata/DEV/redo02.log';
SQL> alter database clear unarchived logfile '/u04/oradata/DEV/redo03.log';
SQL> alter database open;


I restarted to be sure everything was good.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Thursday, January 15, 2009

_disable_logging = TRUE


ORA-00354: corrupt redo log block header
ORA-00353: log corruption near block 39540 change 3193784747 time 01/13/2009 22:08:29
ORA-00312: online log 1 thread 1: '/u02/oradata/DEV/redo01.log'
ORA-16038: log 1 sequence# 2530 cannot be archived


Beware of the hiddden parameter _disable_logging

My goal was to speed up an import of data by disabling archive logging without turning off the Archiver. Of course in hindsight I know now that this was a bad idea and simply puting the database in noarchivelog mode would have been much simpler. But it's always fun to learn new things.


SQL> alter database noarchivelog;

SQL> alter database open;


Once I set the hidden parameter _disable_logging=TRUE, I kicked of the import and pretty quick started recieving alert log errors notifying me of corrupt redo log block headers. My advice - do not use this parameter!

How to recover from
ORA-00354: corrupt redo log block header


Proactive Oracle DBA

This is a series of posts. I am working this to share some of the many scripts I schedule to automatically run to alert me of any current o...