【备份恢复】set newname切换日志

使用 SET NEWNAME 切换文件(相当于copy)

1.创建测试表空间,数据文件放在/home/oracle/oradata/目录下
[oracle@host01 ~]$ mkdir oradata
[oracle@host01 ~]$ cd oradata/
[oracle@host01 oradata]$ pwd
/home/oracle/oradata

创建表空间
SYS@PROD1>create tablespace ts_setnewname datafile '/home/oracle/oradata/ts_setnew01.dbf' size 10m;

Tablespace created.

SYS@PROD1>select file_name from dba_data_files where tablespace_name='TS_SETNEWNAME';

FILE_NAME
--------------------------------------------------------------------------------
/home/oracle/oradata/ts_setnew01.dbf

SYS@PROD1>ed 001
run{
   ALLOCATE CHANNEL c1 DEVICE TYPE DISK;
   SQL "ALTER TABLESPACE TS_SETNEWNAME OFFLINE IMMEDIATE";
   SET NEWNAME FOR DATAFILE '/home/oracle/oradata/ts_setnew01.dbf' TO '/u01/app/oracle/oradata/PROD1/ts_setnew01.dbf';
   RESTORE TABLESPACE TS_SETNEWNAME;
   SWITCH DATAFILE ALL;
   RECOVER TABLESPACE TS_SETNEWNAME;
   SQL "ALTER TABLESPACE TS_SETNEWNAME ONLINE";
   }

[oracle@host01 ~]$ rman target /

Recovery Manager: Release 11.2.0.4.0 - Production on Wed Dec 21 11:25:50 2016

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database: PROD1 (DBID=2148633869)

RMAN> run{
2>     ALLOCATE CHANNEL c1 DEVICE TYPE DISK;
3>     SQL "ALTER TABLESPACE TS_SETNEWNAME OFFLINE IMMEDIATE";
4>     SET NEWNAME FOR DATAFILE '/home/oracle/oradata/ts_setnew01.dbf' TO '/u01/app/oracle/oradata/PROD1/ts_setnew01.dbf';
5>     RESTORE TABLESPACE TS_SETNEWNAME;
6>     SWITCH DATAFILE ALL;
7>     RECOVER TABLESPACE TS_SETNEWNAME;
8>     SQL "ALTER TABLESPACE TS_SETNEWNAME ONLINE";
9>     }

using target database control file instead of recovery catalog
allocated channel: c1
channel c1: SID=17 device type=DISK

sql statement: ALTER TABLESPACE TS_SETNEWNAME OFFLINE IMMEDIATE

executing command: SET NEWNAME

Starting restore at 21-DEC-16

creating datafile file number=6 name=/u01/app/oracle/oradata/PROD1/ts_setnew01.dbf
restore not done; all files read only, offline, or already restored
Finished restore at 21-DEC-16

datafile 6 switched to datafile copy
input datafile copy RECID=8 STAMP=931173953 file name=/u01/app/oracle/oradata/PROD1/ts_setnew01.dbf

Starting recover at 21-DEC-16

starting media recovery
media recovery complete, elapsed time: 00:00:01

Finished recover at 21-DEC-16

sql statement: ALTER TABLESPACE TS_SETNEWNAME ONLINE
released channel: c1

3.验证
SYS@PROD1>select file_name from dba_data_files where tablespace_name='TS_SETNEWNAME';

FILE_NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/PROD1/ts_setnew01.dbf

SYS@PROD1>! ls /u01/app/oracle/oradata/PROD1/ts_setnew01.dbf
/u01/app/oracle/oradata/PROD1/ts_setnew01.dbf

SYS@PROD1>! ls /home/oracle/oradata/ts_setnew01.dbf
/home/oracle/oradata/ts_setnew01.dbf

SYS@PROD1>! rm /home/oracle/oradata/ts_setnew01.dbf

总结:在rman下SET NEWNAME,就是将其他目录下的同名数据文件复制到原目录下去,利用的是RMAN工具!
切换完毕后,原目录下还有数据文件,删除即可。



















来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31400681/viewspace-2131107/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31400681/viewspace-2131107/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值