ITPub博客

首页 > 数据库 > Oracle > SET NEWNAME FOR

SET NEWNAME FOR

原创 Oracle 作者:lusklusklusk 时间:2017-07-31 14:11:53 0 删除 编辑
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博客 ” ,链接:https://blog.itpub.net/30126024/viewspace-2142843/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Welcome to Lukes DB HOME。 Oracle OCM、Mysql OCP, 10年DBA工作经验,博客仅记录自己的一个学习过程,不代表完全准确,如有需要,欢迎转载。

注册时间:2015-02-02

  • 博文量
    348
  • 访问量
    1175009