SET NEWNAME FOR

lusklusklusk發表於2017-07-31
SET NEWNAME FOR後面必須帶SWITCH DATAFILE ALL或SWITCH TEMPFILE ALL
RUN {

SET NEWNAME FOR DATAFILE 1 to '/oracle/ora11g/oradata/system01.dbf';
SET NEWNAME FOR DATAFILE 2 to '/oracle/ora11g/oradata/sysaux01.dbf';
SET NEWNAME FOR DATAFILE 3 to '/oracle/ora11g/oradata/undotbs01.dbf';
SET NEWNAME FOR DATAFILE 4 to '/oracle/ora11g/oradata/users01.dbf';
SET NEWNAME FOR DATAFILE 5 to '/oracle/ora11g/oradata/undotbs02.dbf';
SET NEWNAME FOR DATAFILE 6 to '/oracle/ora11g/oradata/test01.dbf';
SET NEWNAME FOR TEMPFILE 1 to '/oracle/ora11g/oradata/temp01.dbf';
RESTORE DATABASE;
SWITCH DATAFILE ALL;
SWITCH TEMPFILE ALL;
}

run{
set newname for datafile '/MM/DataYY.dbf' to '/NN/DataYY.dbf';
set newname for tempfile '/MM/TempYY.dbf' to '/NN/TempYY.dbf';

restore database;
switch datafile all;
switch tempfile all;

}
MM是原路徑,NN是新路徑



只轉換DATAFILE時如下
run{
set newname for datafile '/MM/DataYY.dbf' to '/NN/DataYY.dbf';
restore database;
switch datafile all;
}



switch datafile all、switch tempfile all的作用就是在控制檔案裡面把資料檔案路徑改過了
If you need to restore a data file to a new location, then use the RMAN SET NEWNAME command within a RUN command to specify the new file name. Afterward, use a SWITCH DATAFILE ALL command, which is equivalent to using the SQL statement ALTER DATABASE RENAME FILE, to update the control file to reflect the new names for all data files for which a SET NEWNAME has been issued in the RUN command.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2142843/,如需轉載,請註明出處,否則將追究法律責任。

相關文章