在ASM磁盘组间迁移数据文件

2014-11-24 17:37:00 · 作者: · 浏览: 0

在归档模式下有时可能需要将一些数据从一个磁盘组迁移到另外个磁盘组。这种情况下我们可以使用命令“BACKUP AS COPY”将数据文件移到新磁盘组。然后通过“SET NEWNAME”和“SWITCH”命令来更改控制文件里面该数据文件的文件名。


archivelog 模式:


将数据文件“+DATA/orcl/datafile/users.261.689589837”从磁盘组DATA迁移到USERDATA



1. 使用RMAN 连接到目标数据库


$ rman


RMAN> CONNECT TARGET SYS@orcl


target database Password: XXXXXXXXX


connected to target database: ORCL (DBID=1217369048)



2. 查看数据库里面的数据文件


RMAN> REPORT SCHEMA;



Report of database schema for database with db_unique_name ORCL



List of Permanent Datafiles


===========================


File Size(MB) Tablespace RB segs Datafile Name


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


1 740 SYSTEM *** +DATA/orcl/datafile/system.258.689589737


2 570 SYSAUX *** +DATA/orcl/datafile/sysaux.259.689589785


3 55 UNDOTBS1 *** +DATA/orcl/datafile/undotbs1.260.689589831


4 5 USERS *** +DATA/orcl/datafile/users.261.689589837



List of Temporary Files


=======================


File Size(MB) Tablespace Maxsize(MB) Tempfile Name


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


1 20 TEMP 32767 +DATA/orcl/tempfile/temp.262.689589851



3. 备份数据到新磁盘组USERDATA


RMAN> BACKUP AS COPY


DATAFILE "+DATA/orcl/datafile/users.261.689589837"


FORMAT "+USERDATA";


也可以用文件号来指定相应的数据文件,如:


BACKUP AS COPY


DATAFILE 4


FORMAT "+USERDATA";



4. 将要迁移的数据文件OFFLINE


RMAN> SQL "ALTER DATABASE DATAFILE


''+DATA/orcl/datafile/users.261.689589837'' OFFLINE";



5. 修改控制文件将数据文件指向新磁盘组的备份


RMAN> SWITCH DATAFILE "+DATA/orcl/datafile/users.261.689589837" TO COPY;



6. 恢复新数据文件


RMAN> RECOVER DATAFILE "+USERDATA/orcl/datafile/users.256.689682663";



7. 将新数据文件online


RMAN> SQL "ALTER DATABASE DATAFILE


“+USERDATA/orcl/datafile/users.256.689682663” ONLINE";



8. 将旧数据文件删除


RMAN> DELETE DATAFILECOPY "+DATA/orcl/datafile/users.261.689589837";



推荐阅读: