Saturday, August 30, 2008

Online Redo log file Recovery--Steps to recover Loss of Current Redolog group

Case 2:Steps to recover current online redolog group
Symptoms: You will find the database freezing when the archivelogs disk volume is filled up.
However, doing a "df -k" shows the plenty of room for more archivelogs.
Current users session will freeze, and users trying to log on will get error
"ORA-00257:archiver error.connect internal only,until freed"

To verify this conclusion:
  1. Just verify the alert.log file for any corruption of logfile.
  2. If found simply shutdown the database using "SHUTDOWN ABORT" option.
  3. Now startup the database. The database fails to start and shows the error message as
  4. "ORA-00313:open failed for members of log group of thread "
  5. If you tried to drop and recreate the redo log group from this mount state you would have gotten

sql>alter database drop logfile group ;

It fails with "ORA-00350:log of thread needs to be archived."

Steps to recover the database:

Here this requires an incomplete recovery.

  1. At this point, restore all datafiles from the recent backup and the lost online redo log group's files but not the controlfiles.
  2. SQL>Startup mount
  3. SQL>Select group#,sequence#,bytes,first_change#,to_char(first_time,'DD-MON-YY HH24:MI:SS'),status from v$log;

Here get the first time for changes in that missing group,subtract 1 second from it, and use that value in the recover database.

SQL>recover automatic database until time '2008-02-14:45:59:59';

SQL>alter database open resetlogs;

Then , immediately shutdown the database and make a backup.

No comments: