代码改变世界

RAC数据库迁移ASM磁盘组到其它存储

2015-12-26 16:33  abce  阅读(1690)  评论(0编辑  收藏  举报

环境介绍:

   一共有两个磁盘组:crs和data;crs使用normal冗余;data使用外部冗余。

 

添加新的asm磁盘过程(略)

 

1.迁移前

SQL> select group_number, failgroup ,name,path from v$asm_disk order by 1

GROUP_NUMBER FAILGROUP                      NAME                           PATH
------------ ------------------------------ ------------------------------ ----------------------------------------
           0                                                               /dev/asm/crs02
           0                                                               /dev/asm/crs01
           0                                                               /dev/asm/data02
           0                                                               /dev/asm/data03
           0                                                               /dev/asm/data01
           0                                                               /dev/asm/crs03
           0                                                               /dev/asm/data04
           1 CRS_0002                       CRS_0002                       /dev/asm/crs3
           1 CRS_0001                       CRS_0001                       /dev/asm/crs2
           1 CRS_0000                       CRS_0000                       /dev/asm/crs1
           2 DATA_0002                      DATA_0002                      /dev/asm/data3
           2 DATA_0003                      DATA_0003                      /dev/asm/data4
           2 DATA_0001                      DATA_0001                      /dev/asm/data2
           2 DATA_0000                      DATA_0000                      /dev/asm/data1

14 rows selected.

SQL> 

 

2.迁移CRS磁盘组
#向CRS磁盘组添加新的磁盘

SQL> alter diskgroup CRS add failgroup CRS_0000 disk '/dev/asm/crs01' failgroup CRS_0001 '/dev/asm/crs02' failgroup CRS_0002 '/dev/asm/crs03' ;

#查看磁盘reblance进度,并等待同步结束

SQL> select * from gv$asm_operation;

   INST_ID GROUP_NUMBER OPERA STAT      POWER     ACTUAL      SOFAR   EST_WORK   EST_RATE EST_MINUTES ERROR_CODE
---------- ------------ ----- ---- ---------- ---------- ---------- ---------- ---------- ----------- --------------------------------------------
         1            2 REBAL RUN          11         11      25187      54618      12250           2
         2            2 REBAL WAIT         11

SQL> select * from gv$asm_operation;

no rows selected

#删除老的磁盘

SQL> alter diskgroup CRS drop disk CRS_0000,CRS_0001,CRS_0002 rebalance power 1024;

#查看磁盘reblance进度,并等待同步结束

SQL> select * from gv$asm_operation;

 

3.迁移DATA磁盘组
#向DATA磁盘组添加新的磁盘

SQL> alter diskgroup DATA add disk '/dev/asm/data01','/dev/asm/data02','/dev/asm/data03','/dev/asm/data04' rebalance power 1024;

#查看磁盘reblance进度,并等待同步结束。查询结果为空时表示reblance结束

SQL> select * from gv$asm_operation;

no rows selected

#删除老的磁盘

SQL> alter diskgroup DATA drop disk DATA_0000,DATA_0001,DATA_0002,DATA_0003 rebalance power 1024;

#查看磁盘reblance进度,并等待同步结束

SQL> select * from gv$asm_operation;

 

4.迁移结束后

SQL> select group_number, failgroup ,name,path from v$asm_disk order by 1;

GROUP_NUMBER FAILGROUP                      NAME                           PATH
------------ ------------------------------ ------------------------------ ----------------------------------------
           1 CRS_0002                       CRS_0005                       /dev/asm/crs03
           1 CRS_0001                       CRS_0004                       /dev/asm/crs02
           1 CRS_0000                       CRS_0003                       /dev/asm/crs01
           2 DATA_0005                      DATA_0005                      /dev/asm/data02
           2 DATA_0004                      DATA_0004                      /dev/asm/data01
           2 DATA_0007                      DATA_0007                      /dev/asm/data04
           2 DATA_0006                      DATA_0006                      /dev/asm/data03

7 rows selected.

SQL>