user7891730 wrote:Hi Brian and welcome to the forum!
Our 9i database was recently lost due to the computer being physically damaged. I have a recent full database backup made via RMAN, but I have never tried to restore/ recover a database from this type of backup. In recreating the old setup we have reinstalled Windows XP and upgraded to 11g and am hoping to recover the database into this setup.
I have two files that RMAN created, a snapshot control file (with the name sncf[SID].ora) and a much larger file with no prefix. We have also recovered the hard drive that Oracle resided upon, but I'm assuming the RMAN backup may be the easier method to recover the database. The documents I've read don't seem to cover the situation of recovery using a backup made on a different database. Is there a way to tell RMAN to use these specific files for its recovery attempts, or should I move them to the new database folder and use a simple RESTORE (or RECOVER?) command.
Thanks for your help,
user7891730 wrote:Dear Brian
Thanks, I can install 9i and then upgrade to 11g if needed. However this RMAN compatibility matrix had led me to hope that this step could be eliminated:
Assuming the backed up database and the target base are the same (or compatible), do you know the RMAN syntax to RESTORE/RECOVER in this case, where the database that RMAN backed up no long exists (except as an RMAN generated backup file)? The documentation I've looked at seems to assume that one is restoring a previous version in the existing database. In this case I am starting from a fresh install of the database.
.... BEGIN EXECUTE IMMEDIATE 'UPDATE registry$database set tz_version = :1' USING db_tz_version; EXCEPTION WHEN OTHERS THEN IF sqlcode = -904 THEN -- registry$database exists but no tz_version EXECUTE IMMEDIATE 'ALTER TABLE registry$database ADD (tz_version NUMBER)'; EXECUTE IMMEDIATE 'UPDATE registry$database set tz_version = :1' USING db_tz_version; END IF; IF sqlcode = -942 THEN -- no registry$database table so create it EXECUTE IMMEDIATE 'CREATE TABLE registry$database( platform_id NUMBER, platform_name VARCHAR2(101), edition VARCHAR2(30), tz_version NUMBER )'; ...
So I guess that the initialization parameter file (spfile) was recovered. Use this file to start the instance (nomount) and confirm the block size
We recovered the hard drive that the old database was stored. I have been using just the RMAN backup files, but possibly I should use the spfile[sid].ora we recovered from the old database