Perform a cross-machine restore when you need to restore a database to a host different than that on which the backup was made. An example follows.
The script can include mounting the database after restoring the control file, and the example includes allocation of the required number of channels for efficiency.
In the following example the database files are directed to a different location on the destination than their location on the source. The
set newname
andswitch datafile all
commands in the script accomplish this. The script could also create redologs in a new location on the destination database.
Procedure
Execute the script from the rman prompt on the destination Oracle database server. The destination server must also be configured with the Oracle agentless plugin and have the database in
nomount
mode with the parameter file (pfile). The control file is being restored in the following sample script.Set the
dbid
of the source database to restore the control file from the source to the destination.
Example
set dbid <dbid number>;
run
{
allocate channel ch1 type sbt PARMS="SBT_LIBRARY=<Oracle plugin location>/libcvobk_thinlibrary.so";
send "--cv-host <Backup host hostname> --cv-clientname <Pseudo client name> --cv-instance <Oracle Instance Name>";
restore controlfile from autobackup;
sql 'alter database mount';
}
run
{
#******DATA RESTORE SCRIPT******#
set newname for database to "<desired location>/%U";
allocate channel ch1 type sbt PARMS="SBT_LIBRARY=<Oracle plugin location>/libcvobk_thinlibrary.so";
allocate channel ch2 type sbt PARMS="SBT_LIBRARY=<Oracle plugin location>/libcvobk_thinlibrary.so";
send "--cv-host <Backup host hostname> --cv-clientname <Pseudo client name> --cv-instance <Oracle Instance Name>";
restore database;
switch datafile all;
}
run
{
allocate channel ch1 type sbt PARMS="SBT_LIBRARY=<Oracle plugin location>/libcvobk_thinlibrary.so";
send "--cv-host <Backup host hostname> --cv-clientname <Pseudo client name> --cv-instance <Oracle Instance Name>";
recover database;
sql 'alter database open';
}