Version : 11.2.0.2
We are restoring our RMAN backup to a new server. We want to restore datafiles to a different datafile location than the source .
Datafile path at source
/tlmdata/oradata/lmnprod
New path at target
/u04/oradata/lmnprod
From googling I gather that I have to use SET NEWNAME like below for all the 350 file I have.
run {
set newname for datafile 1 to '/u04/oradata/lmnprod/lmnprod_system01.dbf' ;
set newname for datafile 2 to '/u04/oradata/lmnprod/lmnprod_sysaux01.dbf' ;
set newname for datafile 3 to '/u04/oradata/lmnprod/lmnprod_undotbs101.dbf' ;
set newname for datafile 4 to '/u04/oradata/lmnprod/lmnprod_audit_ts01.dbf' ;
set newname for datafile 5 to '/u04/oradata/lmnprod/lmnprod_quest_ts01.dbf' ;
set newname for datafile 6 to '/u04/oradata/lmnprod/lmnprod_yelxr_ts01.dbf' ;
.
.
.
.
.
set newname for datafile 350 to '/u04/oradata/lmnprod/lmnprod_dashmon_data01.dbf' ;
#tempfile
#set newname for tempfile 1 to '/u04/oradata/lmnprod/lmnprod_temp01.dbf';
restore database;
# no recovery as it is cold backup
switch datafile all;
#switch tempfile all;
}
I also see people using DB_FILE_NAME_CONVERT in their init.ora file to achieve the same purpose.
I have 2 questions.
*1*. If I set DB_FILE_NAME_CONVERT in my init.ora file , afte mounting the DB using the restored control file , can I just do
rman> run
{
restore database;
alter database open resetlogs;
}
Do I have to do anything else to restore the datafiles to my new path ?
*2*. If this can be achieved using DB_FILE_NAME_CONVERT (which is simple) then why do people use SET NEWNAME for each datafile ?