ITPub博客

首页 > 数据库 > Oracle > SET NEWNAME 切换文件并恢复影像副本

SET NEWNAME 切换文件并恢复影像副本

原创 Oracle 作者:skyin_1603 时间:2016-11-07 22:36:08 0 删除 编辑

通过恢复影像副本,简单地修改数据文件名并把数据库恢复回来,
操作起来简单,比cp方式更省事。

----使用 SET NEWNAME 切换文件:

---创建测试表空间,数据文件放在/home/oracle/oradata/目录下:
--创建测试表空间:

SQL> create tablespace ts_xxf datafile '/home/oracle/oradata/ts_xxf_01.dbf' size 10m;

Tablespace created.


--查看表空间:

SQL> select file_name from dba_data_files where tablespace_name='TS_XXF';

FILE_NAME

--------------------------------------------------------------------------

/home/oracle/oradata/ts_xxf_01.dbf


---通过RMAN切换数据文件路径:

[oracle@enmo ~]$ rman target /

Recovery Manager: Release 11.2.0.4.0 - Production on Mon Nov 7 10:56:01 2016

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

connected to target database: PROD (DBID=338469376)


RMAN> run

2> {ALLOCATE CHANNEL c1 DEVICE TYPE DISK;

3> SQL "ALTER TABLESPACE ts_xxf OFFLINE IMMEDIATE";

4> SET NEWNAME FOR DATAFILE '/home/oracle/oradata/ts_xxf_01.dbf'

5>  TO '/u01/app/oracle/oradata/PROD/ts_xxf_01.dbf';

6> RESTORE TABLESPACE ts_xxf;

7> SWITCH DATAFILE ALL;

8> RECOVER TABLESPACE ts_xxf;

9> SQL "ALTER TABLESPACE ts_xxf ONLINE";

10> }

 #rman执行语句块。

using target database control file instead of recovery catalog

allocated channel: c1

channel c1: SID=57 device type=DISK

sql statement: ALTER TABLESPACE ts_xxf OFFLINE IMMEDIATE

executing command: SET NEWNAME

Starting restore at 07-NOV-16

creating datafile file number=6 name=/u01/app/oracle/oradata/PROD/ts_xxf_01.dbf

restore not done; all files read only, offline, or already restored

Finished restore at 07-NOV-16


datafile 6 switched to datafile copy

input datafile copy RECID=3 STAMP=927284407 file name=/u01/app/oracle/oradata/PROD/ts_xxf_01.dbf

Starting recover at 07-NOV-16


starting media recovery

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

Finished recover at 07-NOV-16


sql statement: ALTER TABLESPACE ts_xxf ONLINE

released channel: c1

RMAN>

#完成。


---再次查看TS_XXf表空间数据文件的位置:

SQL> select file_name from dba_data_files where tablespace_name='TS_XXF';

FILE_NAME

--------------------------------------------------------------------------

/u01/app/oracle/oradata/PROD/ts_xxf_01.dbf


---切换完毕后,删除原来的数据文件:

SQL> !ls /home/oracle/oradata/ts_xxf_01.dbf

/home/oracle/oradata/ts_xxf_01.dbf

SQL> !rm /home/oracle/oradata/ts_xxf_01.dbf

[oracle@enmo ~]$ ls

dirhome  homedir  mydoc  mydoc.zip  oradata

[oracle@enmo ~]$ cd oradata/

[oracle@enmo oradata]$ ls

[oracle@enmo oradata]$

#已经成功删除旧的数据文件。

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

上一篇: rman 1级备份
请登录后发表评论 登录
全部评论

注册时间:2016-09-06

  • 博文量
    231
  • 访问量
    215118