Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> RE: Recovery with hot backup

RE: Recovery with hot backup

From: A. Bardeen <>
Date: Sat, 1 Jul 2000 04:08:27 -0700 (PDT)
Message-Id: <>


Sorry, but that is not correct. You must open with resetlogs when performing an incomplete recovery. Using the BACKUP CONTROLFILE clause does NOT signify an incomplete recovery. Using an UNTIL clause specifies incomplete recovery.

In order to do complete recovery, whether you have a current or backup controlfile, you must have the current online log. If you're using the current controlfile it knows to use the online log when it reaches the last log sequence to finish the complete recovery. If you're using a backup controlfile, you have to manually point it to the current online log.

This is one of the many reasons why you shouldn't recreate the controlfile unless absolutely necessary (e.g. to change the db_name). In fact there is at least one recovery option, and there are probably others, which can't be done if you've recreated the controlfile, which is creating the datafile when you don't have a copy of it, but you have all the archived logs since it was added to the db. If you recreate the controlfile the information needed to properly create the datafile header is gone. But I digress...

Back to the original issue, let's say that the last archived log is log sequence 500 and log group 2 has the current log sequence 501.

RECOVER DATABASE USING BACKUP CONTROLFILE;   this will eventually prompt for archived log sequence 501 because this is a backup controlfile so it doesn't have an entry for this sequence.   specify the full path for a member of log group 2

You will then get a "media recovery complete" message.  

You will not get prompted for log sequence 502 because recovery will have hit the end of file marker in the online log so it knows that there are no further changes to apply (i.e. that a complete recovery has been done).

You may now open the database normally (i.e. without resetlogs).

On the other hand, once you have started an incomplete recovery (using an UNTIL clause), even if you point to the online log and perform a complete recovery you will have to open with resetlogs. I'm assuming this is because once incomplete recovery is started, the incomplete recovery scn is set in all the file headers and this never gets unset during a recovery process.


Received on Sat Jul 01 2000 - 06:08:27 CDT

Original text of this message