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