本文描述:使用set newname切换文件到其他的位置
试验步骤:
(1)查看当前文件位置
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期五 6月 16 16:09:00 2017
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> col name for a50;
SQL> select file#, name from v$datafile;
FILE# NAME
---------- --------------------------------------------------
1 F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
2 F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
3 F:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
4 F:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
5 F:\ORADATA\TT01.DBF
SQL>
(2)rman 使用set newname进行位置移动
RMAN> run{
2> sql 'alter tablespace tt offline immediate';
3> set newname for datafile 'f:\oradata\tt01.dbf' to 'g:\rmanbp\tt01.dbf';
4> restore tablespace tt;
5> switch datafile all;
6> recover tablespace tt;
7> sql 'alter tablespace tt online';
8> }
sql statement: alter tablespace tt offline immediate
executing command: SET NEWNAME
Starting restore at 16-6月 -17
using channel ORA_DISK_1
channel ORA_DISK_1: restoring datafile 00005
input datafile copy RECID=3 STAMP=946829237 file name=F:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\DATAFILE\O1_MF_TT_DN70OL9K_.DBF
destination for restore of datafile 00005: g:\rmanbp\tt01.dbf
channel ORA_DISK_1: copied datafile copy of datafile 00005
output file name=G:\RMANBP\TT01.DBF RECID=4 STAMP=946832210
Finished restore at 16-6月 -17
datafile 5 switched to datafile copy
input datafile copy RECID=5 STAMP=946832211 file name=G:\RMANBP\TT01.DBF
Starting recover at 16-6月 -17
using channel ORA_DISK_1
starting media recovery
media recovery complete, elapsed time: 00:00:00
Finished recover at 16-6月 -17
sql statement: alter tablespace tt online
RMAN>
(3)查看移动结果
SQL> select file#, name from v$datafile;
FILE# NAME
---------- --------------------------------------------------
1 F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
2 F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
3 F:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
4 F:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
5 G:\RMANBP\TT01.DBF
SQL>
(4)再次执行set newname 切换回原来的位置
RMAN> run{
2> sql 'alter tablespace tt offline immediate';
3> set newname for datafile 'g:\rmanbp\tt01.dbf' to 'f:\oradata\tt01.dbf';
4> restore tablespace tt;
5> switch datafile all;
6> recover tablespace tt;
7> sql 'alter tablespace tt online';
8> }
sql statement: alter tablespace tt offline immediate
executing command: SET NEWNAME
Starting restore at 16-6月 -17
using channel ORA_DISK_1
datafile 5 is already restored to file f:\oradata\tt01.dbf
restore not done; all files read only, offline, or already restored
Finished restore at 16-6月 -17
datafile 5 switched to datafile copy
input datafile copy RECID=7 STAMP=946832456 file name=f:\oradata\tt01.dbf
Starting recover at 16-6月 -17
using channel ORA_DISK_1
starting media recovery
media recovery complete, elapsed time: 00:00:00
Finished recover at 16-6月 -17
sql statement: alter tablespace tt online
RMAN>
(5)查看移动结果
SQL> select file#, name from v$datafile;
FILE# NAME
---------- --------------------------------------------------
1 F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
2 F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
3 F:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
4 F:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
5 F:\ORADATA\TT01.DBF
SQL>
实验完毕。