I had only one control file and I have lost it. Now I have to recover the control file. I have online backup (one day old) of all the data files and backup of control file (binary). I have all the archived redo log files as well. What is the best way to recover the control file without loss of any data..
1. Can I do the recovery by restoring only cotrol file from my backup?.
2. I tried reocovery by following ur setps. when I use ur first open i.e recover database using backup controlfile, Oracle looking for the archived log which does not exist. Then I used recover database using backup controlfile until cancel. This works fine.
If I use the cancel option, I have to use resetlogs while opening my database, in that case I will loose data which is in unarchived redo log i.e current logs..
Is there any other way to recover without loosing any data.
Just as a general question, if only the control file is lost, can't new ones just be created, then having everything up and running with no loss? (Assuming it's either backed up to trace, or you can write the small script to do so)
well I havent tried it but I think in order to recreate a control file we have to shutdown the database with abort option. Then startup nomount and recreate the controlfile, the controlfile at this state doesnt contain stop SCN and any checkpoint information so if we startup straight away the files will need recovery since Oracle does two checks:
1. Oracle compares last checkpoint in both datafile header and control file.
2. Oracle compares the STOP SCN in control file and datafile header.
In the first step Oracle will give us straight away an error message, something like the controlfile is too old or similar and requiere recovery, if we could pass the first step Oracle would do instance recovery but unfortunately I dont think we cant even pass the first check :o