Restoring backup of non-ASM database(OMF) to ASM database.
BaffySep 12 2010 — edited Sep 12 2010All,
I have a database with OMF files and have a request to restore this to a database with ASM. Both databases are 11.2 running on Linux. I've gone through the Backup and Recovery Guide (RMAN) and the most applicable section 'Chp 21: Performing database recovery: advanced scenarios' does not address this scenario exactly and so I need to ascertain the following steps are correct:
Background:
On source DB(hosta):
=========
=========
RMAN> report schema
2> ;
Report of database schema for database with db_unique_name ORAPROD
List of Permanent Datafiles
===========================
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1 800 SYSTEM *** /u03/oradata/DEVODS/datafiles/system.260.727642227
2 940 SYSAUX *** /u03/oradata/DEVODS/datafiles/sysaux.265.727642227
3 20480 UNDOTBS1 *** /u03/oradata/DEVODS/datafiles/undotbs1.264.727642227
....etc...etc (all files are in thesame location)
On target DB(hostb):
=========
=========
RMAN> report schema;
Report of database schema for database with db_unique_name ORAPROD
List of Permanent Datafiles
===========================
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1 800 SYSTEM *** +DISKGROUP1/devods/datafile/system.260.727642227
2 800 SYSAUX *** +DISKGROUP1/devods/datafile/sysaux.265.727642227
3 10240 UNDOTBS1 *** +DISKGROUP1/devods/datafile/undotbs1.264.727642227
...etc...etc (all files are in thesame location)
STEPS TO RESTORE
----------------------------
1.Set the DBID and start the database instance without mounting the database.
For example, run SET DBID to set the DBID, then run STARTUP NOMOUNT:
SET DBID <dbid>;
STARTUP NOMOUNT
RMAN will fail to find the server parameter file, which has not yet been restored,
but will start the instance with a "dummy" file.
***this is where I'm not clear on what to do****
2.Restore spfile
RUN
{
ALLOCATE CHANNEL c1 DEVICE TYPE dDISK;
SET CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/tmp/%F'(??should this be the location of the RMAN backup??)
RESTORE SPFILE
TO PFILE '?/oradata/test/inittrgta.ora'
FROM AUTOBACKUP;
SHUTDOWN ABORT;
}
3.Edit the restored initialization parameter file.
Change any location-specific parameters, for example, those ending in _DEST, to
reflect the new directory structure. For example, edit the following parameters:
- IFILE
- LOG_ARCHIVE_DEST_1
- CONTROL_FILES
4.Restart the instance with the edited initialization parameter file.
For example, enter the following command:
STARTUP FORCE NOMOUNT PFILE='?/oradata/test/inittrgta.ora';
5.
Restore the control file from an autobackup and then mount the database.
For example, enter the following command:
RUN
{
ALLOCATE CHANNEL c1 DEVICE TYPE DISK;
RESTORE CONTROLFILE FROM AUTOBACKUP;(???how does RMAN know the location of the backup so as to restore the controlfile???)
ALTER DATABASE MOUNT;
}
=======================================
If I can be guided to do the 5 steps above correctly, I believe I can do the rest myself.
Thanks in advance to all that will help.
Regards