使用rman在oracle ASM磁盘组之间移动数据文件
在归档模式下,想要移动一个活动的数据文件从一个oracle ASM磁盘组到另一个。这种情况,可以使用backup as copy拷贝数据文件到新的磁盘组,然后set newname
和switch命令来在控制文件中重命名数据文件。
此种场景,假定使用磁盘组data和userdata。假定需要将文件移动到userdata磁盘组。
确保在开始执行操作前,数据库开启了归档模式。Archive log list
1) 开启rman,连接到目标数据库
$ rman
RMAN> CONNECT TARGET SYS@orcl
2)产生一个报告显示数据文件的名称等信息
RMAN>report schema;
3)备份数据文件到新的oracle ASM磁盘组
RMAN> BACKUP AS COPY DATAFILE "+DATA/orcl/datafile/users.261.689589837" FORMAT "+USERDATA";
也可以直接使用数据文件号和数据文件类型
BACKUP AS COPY DATAFILE 4 FORMAT "+USERDATA";
4)离线要移动的数据文件
请注意,您使用周围的数据文件的名称两个单引号,不是双引号。
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)将数据文件在线
RMAN> SQL "ALTER DATABASE DATAFILE
''+USERDATA/orcl/datafile/users.256.689682663'' ONLINE";
8)删除oracle ASM磁盘组中的原始拷贝
RMAN> DELETE DATAFILECOPY "+DATA/orcl/datafile/users.261.689589837";