How to move ASM database files from one diskgroup to another

 

原来数据文件:
ASMCMD> pwd
+sysdg/UIMDB/datafile
ASMCMD> ls
SYSAUX.257.840633371
SYSTEM.256.840633371
TEST.263.843647081
UIMDB_DATA.264.843647213
UIMDB_DATA.265.843647325
UIMDB_DATA.266.843664683
UIMDB_DATA.267.843665385
UIMDB_DATA01
UIMDB_DATA02
UIMDB_DATA03
UIMDB_DATA04
UNDOTBS1.258.840633371
UNDOTBS2.261.840633651
USER01
USERS.259.840633373
USERS.268.843733425
test
ASMCMD> pwd

+sysdg/UIMDB/datafile
SQL> SELECT FILE_NAME FROM DBA_DATA_FILES;

FILE_NAME
--------------------------------------------------------------------------------
+SYSDG/uimdb/datafile/users.259.840633373
+SYSDG/uimdb/datafile/undotbs1.258.840633371
+SYSDG/uimdb/datafile/sysaux.257.840633371
+SYSDG/uimdb/datafile/system.256.840633371
+SYSDG/uimdb/datafile/undotbs2.261.840633651
+UIMDATA1/uimdb/datafile/data01.dbf
+UIMDATA1/uimdb/datafile/uimdb_data.268.850040055
+SYSDG/uimdb/datafile/uimdb_data02
+UIMDATA1/uimdb/datafile/uimdb_index01
+SYSDG/uimdb/datafile/uimdb_data03
+UIMDATA1/uimdb/datafile/uimdb_index02

FILE_NAME
--------------------------------------------------------------------------------
+SYSDG/uimdb/datafile/uimdb_data04
+UIMDATA1/uimdb/datafile/uimdb_index03
+SYSDG/uimdb/datafile/user01
+UIMDATA1/uimdb/datafile/itsm_data01.dbf

15 rows selected.


修改后:
ASMCMD> pwd
+UIMDATA1/UIMDB/datafile
ASMCMD> ls
JTITSM.266.844964315
UIMDB_DATA.268.850040055
UIMDB_DATA.269.850040495
UIMDB_DATA.270.850040577
UIMDB_DATA.271.850041291
UIMDB_INDEX.263.843647479
UIMDB_INDEX.264.843664795
UIMDB_INDEX.265.843686027
UIMDB_INDEX01
UIMDB_INDEX02
UIMDB_INDEX03
USERS.272.850041359
data01.dbf
itsm_data01.dbf

ASMCMD>

 

FILE_NAME
--------------------------------------------------------------------------------
+SYSDG/uimdb/datafile/users.259.840633373
+SYSDG/uimdb/datafile/undotbs1.258.840633371
+SYSDG/uimdb/datafile/sysaux.257.840633371
+SYSDG/uimdb/datafile/system.256.840633371
+SYSDG/uimdb/datafile/undotbs2.261.840633651
+UIMDATA1/uimdb/datafile/data01.dbf
+UIMDATA1/uimdb/datafile/uimdb_data.268.850040055
+UIMDATA1/uimdb/datafile/uimdb_data.269.850040495
+UIMDATA1/uimdb/datafile/uimdb_index01
+UIMDATA1/uimdb/datafile/uimdb_data.270.850040577
+UIMDATA1/uimdb/datafile/uimdb_index02

FILE_NAME
--------------------------------------------------------------------------------
+UIMDATA1/uimdb/datafile/uimdb_data.271.850041291
+UIMDATA1/uimdb/datafile/uimdb_index03
+UIMDATA1/uimdb/datafile/users.272.850041359
+UIMDATA1/uimdb/datafile/itsm_data01.dbf
+UIMDATA1/uimdb/datafile/uimdb_index04
+UIMDATA1/uimdb/datafile/uimdb_index05

17 rows selected.

SQL>

 

 

处理步骤:

1 把原来的datafile进行offline:

SQL>  ALTER DATABASE DATAFILE '+SYSDG/uimdb/datafile/uimdb_data02' offline;
Database altered.
SQL>   ALTER DATABASE DATAFILE '+SYSDG/uimdb/datafile/uimdb_data03' offline;
2 用rman进行cp
rman:copy datafile '+SYSDG/uimdb/datafile/user01' to '+UIMDATA1';
RMAN> copy datafile '+SYSDG/uimdb/datafile/uimdb_data02' to '+UIMDATA1';

Starting backup at 12-JUN-14
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=5796 instance=uimdb1 device type=DISK
channel ORA_DISK_1: starting datafile copy
input datafile file number=00008 name=+SYSDG/uimdb/datafile/uimdb_data02

output file name=+UIMDATA1/uimdb/datafile/uimdb_data.269.850040495 tag=TAG20140612T102134 RECID=3 STAMP=850040564
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:01:15
Finished backup at 12-JUN-14

Starting Control File and SPFILE Autobackup at 12-JUN-14
piece handle=+FRADG/uimdb/autobackup/2014_06_12/s_850040570.411.850040571 comment=NONE
Finished Control File and SPFILE Autobackup at 12-JUN-14

3 用rman进行改路径:
run {
set newname for datafile '+SYSDG/uimdb/datafile/user01'  to '+UIMDATA1/uimdb/datafile/users.272.850041359';
switch datafile all;
             }

RMAN> run {
2> set newname for datafile '+SYSDG/uimdb/datafile/uimdb_data03'  to '+UIMDATA1/uimdb/datafile/uimdb_data.270.850040577';
3> switch datafile all;
4>              }

executing command: SET NEWNAME
datafile 10 switched to datafile copy
input datafile copy RECID=4 STAMP=850040646 file name=+UIMDATA1/uimdb/datafile/uimdb_data.270.850040577
            
注释:
新位置文件名称从如下outputfile中新取得:
RMAN> copy datafile '+SYSDG/uimdb/datafile/uimdb_data03' to '+UIMDATA1';

Starting backup at 12-JUN-14
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile file number=00010 name=+SYSDG/uimdb/datafile/uimdb_data03
output file name=+UIMDATA1/uimdb/datafile/uimdb_data.270.850040577 tag=TAG20140612T102256 RECID=4 STAMP=850040646
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:01:15
Finished backup at 12-JUN-14

Starting Control File and SPFILE Autobackup at 12-JUN-14
piece handle=+FRADG/uimdb/autobackup/2014_06_12/s_850040652.394.850040653 comment=NONE
Finished Control File and SPFILE Autobackup at 12-JUN-14
            
3 sqlplus进行恢复:
SQL>  RECOVER DATAFILE  '+UIMDATA1/uimdb/datafile/uimdb_data.268.850040055';
Media recovery complete.
SQL>
4 sqlplus进行online:
SQL> ALTER DATABASE DATAFILE '+UIMDATA1/uimdb/datafile/uimdb_data.268.850040055' online;
Database altered.
SQL> SELECT FILE_NAME FROM DBA_DATA_FILES;

5 最后到进入asm,删除原来的datafile:
ASMCMD> rm UIMDB_DATA0*
You may delete multiple files and/or directories.
Are you sure? (y/n) y
ASMCMD> ls
SYSAUX.257.840633371
SYSTEM.256.840633371
TEST.263.843647081
UNDOTBS1.258.840633371
UNDOTBS2.261.840633651
USER01
USERS.259.840633373
USERS.268.843733425


reference:
How to move ASM database files from one diskgroup to another ? (文档 ID 330103.1)

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

转载于:http://blog.itpub.net/13750068/viewspace-1181137/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值