Thursday, September 19, 2019

How to Migrate ASM Diskgroups to new storage


How to Migrate ASM Diskgroups  to new storage :

Below Metalink Note referred for this

Exact Steps To Migrate ASM Diskgroups To Another SAN Without Downtime. [ID 837308.1]

Upon getting storage (ASM LUNs) at new frame create ASM Disks.

1. Create ASM Disks : Once  ASM disks gets created , we need to scandisk on all nodes to get them discovered and make sure they that are visible via listdisks command and in v$asm_disk view.


a. Find the asm devide for this disks from your reference EXcel files

/dev/mpath/ASM_EMC_327_1558p1  SSSERPD_DATA014  539.47  sssr1db_vg
/dev/mpath/ASM_EMC_327_1578p1  SSSERPD_DATA015  539.47  sssr1db_vg
/dev/mpath/ASM_EMC_327_1598p1  SSSERPD_DATA016  539.47  sssr1db_vg
/dev/mpath/ASM_EMC_327_15B8p1  SSSERPD_DATA017  539.47  sssr1db_vg


b.In primary node
/usr/sbin/oracleasm createdisk SSSERPD_DATA055  /dev/mpath/ASM_EMC_861_17E7p1
/usr/sbin/oracleasm createdisk SSSERPD_DATA056  /dev/mpath/ASM_EMC_861_17E8p1
/usr/sbin/oracleasm createdisk SSSERPD_DATA057  /dev/mpath/ASM_EMC_861_17E9p1
/usr/sbin/oracleasm createdisk SSSERPD_DATA058  /dev/mpath/ASM_EMC_861_17EAp1
/usr/sbin/oracleasm createdisk SSSERPD_DATA059  /dev/mpath/ASM_EMC_861_17EBp1
/usr/sbin/oracleasm createdisk SSSERPD_DATA060  /dev/mpath/ASM_EMC_861_17ECp1
/usr/sbin/oracleasm createdisk SSSERPD_DATA061  /dev/mpath/ASM_EMC_861_17EDp1
/usr/sbin/oracleasm createdisk SSSERPD_DATA062  /dev/mpath/ASM_EMC_861_17EEp1
/usr/sbin/oracleasm createdisk SSSERPD_DATA063  /dev/mpath/ASM_EMC_861_17EFp1
/usr/sbin/oracleasm createdisk SSSERPD_DATA064  /dev/mpath/ASM_EMC_861_17F0p1
/usr/sbin/oracleasm createdisk SSSERPD_DATA065  /dev/mpath/ASM_EMC_861_17F1p1
/usr/sbin/oracleasm createdisk SSSERPD_DATA066  /dev/mpath/ASM_EMC_861_17F2p1
/usr/sbin/oracleasm createdisk SSSERPD_DATA067  /dev/mpath/ASM_EMC_861_17F3p1
/usr/sbin/oracleasm createdisk SSSERPD_DATA068  /dev/mpath/ASM_EMC_861_17F4p1
/usr/sbin/oracleasm createdisk SSSERPD_DATA069  /dev/mpath/ASM_EMC_861_17F5p1
/usr/sbin/oracleasm createdisk SSSERPD_DATA070  /dev/mpath/ASM_EMC_861_17F6p1


c. In all other nodes

/usr/sbin/oracleasm listdisks


d. In all other nodes

/usr/sbin/oracleasm scandisks







2. Add newly created ASM disks to ASM DG’s

SQL>  select GROUP_NUMBER,DISK_NUMBER,MOUNT_STATUS,name from v$asm_disk where GROUP_NUMBER=13;

GROUP_NUMBER DISK_NUMBER MOUNT_S NAME
------------ ----------- ------- ------------------------------
          13           0 CACHED  SSSERPD_DATA014
          13           1 CACHED  SSSERPD_DATA015
          13           2 CACHED  SSSERPD_DATA016
          13           3 CACHED  SSSERPD_DATA017


SQL>  select path from v$asm_disk order by path;


ALTER DISKGROUP SSSR1DB_VG ADD  DISK  'ORCL:SSSERPD_DATA055','ORCL:SSSERPD_DATA056','ORCL:SSSERPD_DATA057','ORCL:SSSERPD_DATA058','ORCL:SSSERPD_DATA059','ORCL:SSSERPD_DATA060','ORCL:SSSERPD_DATA061','ORCL:SSSERPD_DATA062','ORCL:SSSERPD_DATA063','ORCL:SSSERPD_DATA064','ORCL:SSSERPD_DATA065','ORCL:SSSERPD_DATA066','ORCL:SSSERPD_DATA067','ORCL:SSSERPD_DATA068','ORCL:SSSERPD_DATA069','ORCL:SSSERPD_DATA069','ORCL:SSSERPD_DATA070'     rebalance power 8;


Used power_limit as 8 for faster rebalancing operations.


3. Monitor  Rebalancing operation

set lines 200;

Select * from gv$asm_operation;

Monitor the EST_MINUTES and SOFAR  , EST_WORK


Estimated Time : 2 hours :30 mins


4. Rebalancing  : Once Rebalancing is done, please make sure these are visible at v$asm_disk and part of DG where u added ,
 you can check at v$asm_disk and v$asm_diskgroup.

col path format a50;

 select GROUP_NUMBER,NAME,STATE, TOTAL_MB, OFFLINE_DISKS from v$asm_diskgroup where name like '%&DB_Volume_Name%'  order by name;

DB_Volume_Name  is like SSSR1DB_VG


select DISK_NUMBER,MOUNT_STATUS,STATE,NAME,PATH,CREATE_DATE,MOUNT_DATE from v$asm_disk where GROUP_NUMBER=&1 order by name;

Group Number given by above command;

5. Drop Disks from DG : Once rebalancing operation gets over and they are part of required DG, visible on all nodes,  drop old disks from old frame

Note :  Make sure the disks which we added new has sufficient space to hold data ( Their size in total is bigger than disks which we are dropping)

alter diskgroup SSSR1DB_VG drop disk  'SSSERPD_DATA014','SSSERPD_DATA015','SSSERPD_DATA016','SSSERPD_DATA017'  rebalance power 8;


6. Monitor  Rebalancing operation

set lines 200;

Select * from gv$asm_operation;

Monitor the EST_MINUTES and SOFAR  , EST_WORK

7. Check status of dropped disks from DG’s.
Once we drop old disks from DG’s and to delete them from ASM,  you can check their status at v$asm_disk by below command
You will notice that they are still visible at v$asm_disk. Please pay attention to
Group_number = 0   -   Dropped disks are still part of ASM but not part of any DG.
Mount_status = CLOSED - Disk is present in the storage system but is not being accessed by Automatic Storage Management.
HEADER_STATUS=FORMER - Disk was once part of a disk group but has been dropped cleanly from the group. It may be added to a new disk group with the ALTER DISKGROUP statement.

select DISK_NUMBER,MOUNT_STATUS,STATE,NAME,PATH,CREATE_DATE,MOUNT_DATE from v$asm_disk where GROUP_NUMBER=&1 order by name
Drop disk should not list here


select GROUP_NUMBER,MOUNT_STATUS,HEADER_STATUS,MODE_STATUS,name,label from v$asm_disk;
Check for Group_number,Mount_status,HEADER_STATUS   for dropped disks


SQL> select GROUP_NUMBER,MOUNT_STATUS,HEADER_STATUS,MODE_STATUS,name,label from v$asm_disk;

GROUP_NUMBER MOUNT_S HEADER_STATU MODE_ST NAME                           LABEL
------------ ------- ------------ ------- ------------------------------ -------------------------------
           0 CLOSED  FORMER       ONLINE                                 SSSERPD_DATA014
           0 CLOSED  FORMER       ONLINE                                 SSSERPD_DATA015
           0 CLOSED  FORMER       ONLINE                                 SSSERPD_DATA016
           0 CLOSED  FORMER       ONLINE                                 SSSERPD_DATA017






8. Delete Disks : Once you are satisfied based on above , you can delete disks from ASM

/usr/sbin/oracleasm deletedisk SSSERPD_DATA014
/usr/sbin/oracleasm deletedisk SSSERPD_DATA015
/usr/sbin/oracleasm deletedisk SSSERPD_DATA016
/usr/sbin/oracleasm deletedisk SSSERPD_DATA017

9. Scan Disks – Run sacandisks on all the nodes.

/usr/sbin/oracleasm scandisks in all other nodes

No comments:

Post a Comment