1. Here are the various steps required to migrate ASM diskgroups from one SAN to another SAN without a downtime.
Metalink Note Reference: Exact Steps To Migrate ASM Diskgroups To Another SAN/Disk-Array/DAS/etc Without Downtime. (Doc ID 837308.1)
--******************************************
--** 2. Review the initial configuration ***
--******************************************
Display the number of disks on the operating system level. The output should consist of disks from the old and new SAN.
oracle@racattack15u::/u01 $ ls -lrt /dev/asm*
crw-rw---- 1 oracle dba 20, 22 Nov 15 2012 /dev/asm_16G_P8_3
crw-rw---- 1 oracle dba 20, 21 Nov 15 2012 /dev/asm_16G_P8_2
crw-rw---- 1 oracle dba 20, 33 Nov 16 2012 /dev/asm_16G_P6_3
crw-rw---- 1 oracle dba 20, 29 Nov 16 2012 /dev/asm_16G_P7_3
crw-rw---- 1 oracle dba 20, 40 Nov 16 2012 /dev/asm_128G_P8_1
crw-rw---- 1 oracle dba 20, 39 Nov 16 2012 /dev/asm_16G_P9_1
crw-rw---- 1 oracle dba 20, 28 Nov 16 2012 /dev/asm_16G_P9_2
crw-rw---- 1 oracle dba 20, 38 Nov 16 2012 /dev/asm_16G_P10_1
crw-rw---- 1 oracle dba 20, 41 Nov 16 2012 /dev/asm_16G_P10_3
crw-rw---- 1 oracle dba 20, 43 Jun 4 2013 /dev/asm_128G_P12_1
crw-rw---- 1 oracle dba 20, 57 Jun 4 2013 /dev/asm_128G_P12_3
crw-rw---- 1 oracle dba 20, 56 Jun 4 2013 /dev/asm_128G_P12_4
crw-rw---- 1 oracle dba 20, 52 Jun 4 2013 /dev/asm_128G_P12_5
crw-rw---- 1 oracle dba 20, 47 Jun 4 2013 /dev/asm_128G_P12_6
crw-rw---- 1 oracle dba 20, 48 Jun 4 2013 /dev/asm_128G_P12_7
crw-rw---- 1 oracle dba 20, 54 Jun 4 2013 /dev/asm_128G_P12_8
crw-rw---- 1 oracle dba 20, 17 Aug 23 21:34 /dev/asm_16G_P8_1
crw-rw---- 1 oracle dba 20, 27 Oct 9 12:22 /dev/asm_16G_P7_2
crw-rw---- 1 oracle dba 20, 49 Oct 9 12:22 /dev/asm_128G_P13_4
crw-rw---- 1 oracle dba 20, 19 Oct 9 12:25 /dev/asm_128G_P7_1
crw-rw---- 1 oracle dba 20, 37 Oct 9 12:27 /dev/asm_16G_P9_3
crw-rw---- 1 oracle dba 20, 31 Oct 9 12:28 /dev/asm_16G_P7_1
crw-rw---- 1 oracle dba 20, 42 Oct 9 12:28 /dev/asm_16G_P10_2
crw-rw---- 1 oracle dba 20, 32 Oct 9 12:28 /dev/asm_128G_P9_3
crw-rw---- 1 oracle dba 20, 26 Oct 9 12:28 /dev/asm_128G_P8_3
crw-rw---- 1 oracle dba 20, 34 Oct 9 12:28 /dev/asm_128G_P8_2
crw-rw---- 1 oracle dba 20, 15 Oct 9 12:28 /dev/asm_128G_P7_2
crw-rw---- 1 oracle dba 20, 30 Oct 9 12:28 /dev/asm_128G_P6_3
crw-rw---- 1 oracle dba 20, 13 Oct 9 12:28 /dev/asm_128G_P6_2
crw-rw---- 1 oracle dba 20, 25 Oct 9 12:28 /dev/asm_128G_P6_1
crw-rw---- 1 oracle dba 20, 24 Oct 9 12:28 /dev/asm_128G_P5_3
crw-rw---- 1 oracle dba 20, 14 Oct 9 12:28 /dev/asm_128G_P2_4
crw-rw---- 1 oracle dba 20, 16 Oct 9 12:28 /dev/asm_128G_P1_4
crw-rw---- 1 oracle dba 20, 51 Oct 9 12:28 /dev/asm_128G_P13_7
crw-rw---- 1 oracle dba 20, 53 Oct 9 12:28 /dev/asm_128G_P13_6
crw-rw---- 1 oracle dba 20, 50 Oct 9 12:28 /dev/asm_128G_P13_5
crw-rw---- 1 oracle dba 20, 46 Oct 9 12:28 /dev/asm_128G_P13_3
crw-rw---- 1 oracle dba 20, 55 Oct 9 12:28 /dev/asm_128G_P13_2
crw-rw---- 1 oracle dba 20, 58 Oct 9 12:28 /dev/asm_128G_P13_1
crw-rw---- 1 oracle dba 20, 45 Oct 9 12:28 /dev/asm_128G_P12_9
crw-rw---- 1 oracle dba 20, 44 Oct 9 12:28 /dev/asm_128G_P12_2
crw-rw---- 1 oracle dba 20, 12 Oct 9 12:28 /dev/asm_128G_P11_3
crw-rw---- 1 oracle dba 20, 18 Oct 9 12:28 /dev/asm_128G_P11_2
crw-rw---- 1 oracle dba 20, 20 Oct 9 12:28 /dev/asm_128G_P11_1
crw-rw---- 1 oracle dba 20, 36 Oct 9 12:28 /dev/asm_128G_P10_3
crw-rw---- 1 oracle dba 20, 35 Oct 9 12:28 /dev/asm_128G_P10_2
crw-rw---- 1 oracle dba 20,112 Dec 3 11:59 /dev/asm_16G_9
crw-rw---- 1 oracle dba 20, 84 Dec 3 11:59 /dev/asm_16G_8
crw-rw---- 1 oracle dba 20,111 Dec 3 11:59 /dev/asm_16G_7
crw-rw---- 1 oracle dba 20, 85 Dec 3 11:59 /dev/asm_16G_6
crw-rw---- 1 oracle dba 20,115 Dec 3 11:59 /dev/asm_16G_5
crw-rw---- 1 oracle dba 20, 76 Dec 3 11:59 /dev/asm_16G_4
crw-rw---- 1 oracle dba 20,107 Dec 3 11:59 /dev/asm_16G_3
crw-rw---- 1 oracle dba 20, 80 Dec 3 11:59 /dev/asm_16G_2
crw-rw---- 1 oracle dba 20, 93 Dec 3 11:59 /dev/asm_16G_12
crw-rw---- 1 oracle dba 20,114 Dec 3 11:59 /dev/asm_16G_11
crw-rw---- 1 oracle dba 20, 83 Dec 3 11:59 /dev/asm_16G_10
crw-rw---- 1 oracle dba 20,116 Dec 3 11:59 /dev/asm_16G_1
crw-rw---- 1 oracle dba 20, 78 Dec 3 11:59 /dev/asm_16G_0
crw-rw---- 1 oracle dba 20, 60 Dec 3 11:59 /dev/asm_128G_9
crw-rw---- 1 oracle dba 20, 94 Dec 3 11:59 /dev/asm_128G_8
crw-rw---- 1 oracle dba 20, 63 Dec 3 11:59 /dev/asm_128G_7
crw-rw---- 1 oracle dba 20,103 Dec 3 11:59 /dev/asm_128G_6
crw-rw---- 1 oracle dba 20, 68 Dec 3 11:59 /dev/asm_128G_5
crw-rw---- 1 oracle dba 20, 86 Dec 3 11:59 /dev/asm_128G_4
crw-rw---- 1 oracle dba 20,113 Dec 3 11:59 /dev/asm_128G_34
crw-rw---- 1 oracle dba 20, 82 Dec 3 11:59 /dev/asm_128G_33
crw-rw---- 1 oracle dba 20,105 Dec 3 11:59 /dev/asm_128G_32
crw-rw---- 1 oracle dba 20, 77 Dec 3 11:59 /dev/asm_128G_31
crw-rw---- 1 oracle dba 20,110 Dec 3 11:59 /dev/asm_128G_30
crw-rw---- 1 oracle dba 20, 71 Dec 3 11:59 /dev/asm_128G_3
crw-rw---- 1 oracle dba 20, 90 Dec 3 11:59 /dev/asm_128G_29
crw-rw---- 1 oracle dba 20,104 Dec 3 11:59 /dev/asm_128G_28
crw-rw---- 1 oracle dba 20, 79 Dec 3 11:59 /dev/asm_128G_27
crw-rw---- 1 oracle dba 20, 99 Dec 3 11:59 /dev/asm_128G_26
crw-rw---- 1 oracle dba 20, 73 Dec 3 11:59 /dev/asm_128G_25
crw-rw---- 1 oracle dba 20,108 Dec 3 11:59 /dev/asm_128G_24
crw-rw---- 1 oracle dba 20, 61 Dec 3 11:59 /dev/asm_128G_23
crw-rw---- 1 oracle dba 20,100 Dec 3 11:59 /dev/asm_128G_22
crw-rw---- 1 oracle dba 20, 70 Dec 3 11:59 /dev/asm_128G_21
crw-rw---- 1 oracle dba 20,102 Dec 3 11:59 /dev/asm_128G_20
crw-rw---- 1 oracle dba 20, 88 Dec 3 11:59 /dev/asm_128G_2
crw-rw---- 1 oracle dba 20, 66 Dec 3 11:59 /dev/asm_128G_19
crw-rw---- 1 oracle dba 20,101 Dec 3 11:59 /dev/asm_128G_18
crw-rw---- 1 oracle dba 20, 65 Dec 3 11:59 /dev/asm_128G_17
crw-rw---- 1 oracle dba 20, 95 Dec 3 11:59 /dev/asm_128G_16
crw-rw---- 1 oracle dba 20, 69 Dec 3 11:59 /dev/asm_128G_15
crw-rw---- 1 oracle dba 20, 96 Dec 3 11:59 /dev/asm_128G_14
crw-rw---- 1 oracle dba 20, 67 Dec 3 11:59 /dev/asm_128G_13
crw-rw---- 1 oracle dba 20,109 Dec 3 11:59 /dev/asm_128G_12
crw-rw---- 1 oracle dba 20, 72 Dec 3 11:59 /dev/asm_128G_11
crw-rw---- 1 oracle dba 20, 98 Dec 3 11:59 /dev/asm_128G_10
crw-rw---- 1 oracle dba 20, 75 Dec 3 11:59 /dev/asm_128G_1
crw-rw---- 1 oracle dba 20, 91 Dec 3 11:59 /dev/asm_128G_0
crw-rw---- 1 oracle dba 20, 81 Dec 3 11:59 /dev/asm_10G_2
crw-rw---- 1 oracle dba 20,106 Dec 3 11:59 /dev/asm_10G_1
crw-rw---- 1 oracle dba 20, 92 Dec 3 11:59 /dev/asm_10G_0
crw-rw---- 1 oracle dba 20, 23 Dec 3 12:26 /dev/asm_128G_P7_3
crw-rw---- 1 oracle dba 20, 11 Dec 3 12:26 /dev/asm_128G_P0_4
crw-rw---- 1 oracle dba 20, 9 Dec 3 12:26 /dev/asm_10G_P11_1
crw-rw---- 1 oracle dba 20, 10 Dec 3 12:26 /dev/asm_10G_P13_1
crw-rw---- 1 oracle dba 20, 8 Dec 3 12:26 /dev/asm_10G_P12_1
The ASM disk names, group membership and status can be queried within the Oracle database.
$ export ORACLE_SID=+ASM1
$ . oraenv
$
$ sqlplus / as sysasm
set linesize 200
set pagesize 200
column path format a20
column DG_NAME format a15
select g.name "DG_NAME", d.name "DG_DISK", d.path, d.OS_MB, d.total_mb, d.create_date, d.mount_date, d.mount_status, d.header_status "DISK TYPE", BYTES_WRITTEN/1024/1024/1024 from v$asm_disk d, v$asm_diskgroup g
where d.group_number = g.group_number
order by 1,2
/
DG_NAME DG_DISK PATH OS_MB TOTAL_MB CREATE_DA MOUNT_DAT MOUNT_S
--------------- ------------------------------ -------------------- ---------- ---------- --------- --------- -------
DATA DATA_0000 /dev/asm_128G_P0_4 131072 131072 15-NOV-12 23-AUG-14 CACHED
DATA DATA_0001 /dev/asm_128G_P11_1 131072 131072 15-NOV-12 23-AUG-14 CACHED
DATA DATA_0002 /dev/asm_128G_P11_2 131072 131072 15-NOV-12 23-AUG-14 CACHED
DATA DATA_0003 /dev/asm_128G_P11_3 131072 131072 15-NOV-12 23-AUG-14 CACHED
DATA DATA_0004 /dev/asm_128G_P1_4 131072 131072 15-NOV-12 23-AUG-14 CACHED
DATA DATA_0005 /dev/asm_128G_P2_4 131072 131072 15-NOV-12 23-AUG-14 CACHED
DATA DATA_0006 /dev/asm_128G_P6_2 131072 131072 15-NOV-12 23-AUG-14 CACHED
DATA DATA_0007 /dev/asm_128G_P7_1 131072 131072 15-NOV-12 23-AUG-14 CACHED
DATA DATA_0008 /dev/asm_128G_P7_2 131072 131072 15-NOV-12 23-AUG-14 CACHED
DATA DATA_0009 /dev/asm_128G_P10_2 131072 131072 18-NOV-12 23-AUG-14 CACHED
DATA DATA_0010 /dev/asm_128G_P5_3 131072 131072 18-NOV-12 23-AUG-14 CACHED
DATA DATA_0011 /dev/asm_128G_P6_1 131072 131072 18-NOV-12 23-AUG-14 CACHED
DATA DATA_0012 /dev/asm_128G_P6_3 131072 131072 18-NOV-12 23-AUG-14 CACHED
DATA DATA_0013 /dev/asm_128G_P8_1 131072 131072 18-NOV-12 23-AUG-14 CACHED
DATA DATA_0014 /dev/asm_128G_P8_2 131072 131072 18-NOV-12 23-AUG-14 CACHED
DATA DATA_0015 /dev/asm_128G_P8_3 131072 131072 18-NOV-12 23-AUG-14 CACHED
DATA DATA_0016 /dev/asm_128G_P9_3 131072 131072 18-NOV-12 23-AUG-14 CACHED
DATA DATA_0017 /dev/asm_128G_P10_3 131072 131072 18-NOV-12 23-AUG-14 CACHED
DATA DATA_0018 /dev/asm_16G_P8_1 16384 16384 18-NOV-12 23-AUG-14 CACHED
DATA DATA_0019 /dev/asm_16G_P8_2 16384 16384 18-NOV-12 23-AUG-14 CACHED
DATA DATA_0020 /dev/asm_16G_P8_3 16384 16384 18-NOV-12 23-AUG-14 CACHED
DATA DATA_0021 /dev/asm_16G_P6_3 16384 16384 18-NOV-12 23-AUG-14 CACHED
DATA DATA_0022 /dev/asm_16G_P7_1 16384 16384 18-NOV-12 23-AUG-14 CACHED
DATA DATA_0023 /dev/asm_16G_P7_2 16384 16384 18-NOV-12 23-AUG-14 CACHED
DATA DATA_0024 /dev/asm_16G_P7_3 16384 16384 18-NOV-12 23-AUG-14 CACHED
DATA DATA_0025 /dev/asm_16G_P10_1 16384 16384 29-NOV-12 23-AUG-14 CACHED
DATA DATA_0026 /dev/asm_16G_P10_2 16384 16384 29-NOV-12 23-AUG-14 CACHED
DATA DATA_0027 /dev/asm_16G_P10_3 16384 16384 29-NOV-12 23-AUG-14 CACHED
DATA DATA_0028 /dev/asm_16G_P9_1 16384 16384 29-NOV-12 23-AUG-14 CACHED
DATA DATA_0029 /dev/asm_16G_P9_2 16384 16384 03-JUN-13 23-AUG-14 CACHED
DATA DATA_0030 /dev/asm_16G_P9_3 16384 16384 03-JUN-13 23-AUG-14 CACHED
DATA DATA_0031 /dev/asm_128G_P12_1 131072 131072 04-JUN-13 23-AUG-14 CACHED
DATA DATA_0032 /dev/asm_128G_P12_2 131072 131072 04-JUN-13 23-AUG-14 CACHED
DATA DATA_0033 /dev/asm_128G_P13_7 131072 131072 04-JUN-13 23-AUG-14 CACHED
DATA DATA_0034 /dev/asm_128G_P13_6 131072 131072 04-JUN-13 23-AUG-14 CACHED
DATA DATA_0035 /dev/asm_128G_P13_5 131072 131072 08-JUN-13 23-AUG-14 CACHED
DATA DATA_0036 /dev/asm_128G_P13_4 131072 131072 17-JUN-13 23-AUG-14 CACHED
DATA DATA_0037 /dev/asm_128G_P13_3 131072 131072 17-JUN-13 23-AUG-14 CACHED
DATA DATA_0038 /dev/asm_128G_P13_2 131072 131072 17-JUN-13 23-AUG-14 CACHED
DATA DATA_0039 /dev/asm_128G_P13_1 131072 131072 17-JUN-13 23-AUG-14 CACHED
DATA DATA_0040 /dev/asm_128G_P12_9 131072 131072 17-JUN-13 23-AUG-14 CACHED
FLASHBACK FLASHBACK_0000 /dev/asm_128G_P7_3 131072 131072 15-NOV-12 23-AUG-14 CACHED
OCRVOTING OCRVOTING_0000 /dev/asm_10G_P11_1 10240 10240 09-NOV-12 23-AUG-14 CACHED
OCRVOTING OCRVOTING_0001 /dev/asm_10G_P12_1 10240 10240 09-NOV-12 23-AUG-14 CACHED
OCRVOTING OCRVOTING_0002 /dev/asm_10G_P13_1 10240 10240 09-NOV-12 23-AUG-14 CACHED
The candidate disks to be used to migrate the data to the new SAN storage can be queried within the Oracle Database.
How to tell if disks are Candidates: TOTAL_MB = 0, CREATE_DATE is null, MOUNT_DATE is null, MOUNT_STATUS = CLOSED and DISK TYPE = CANDIDATE or FORMER.
set linesize 132
set pagesize 100
col OS_DISK for a20
select path "OS_DISK", OS_MB, total_mb, create_date, mount_date, mount_status, header_status "DISK TYPE"
from v$asm_disk
where header_status IN('CANDIDATE','FORMER')
order by 1
/
OS_DISK OS_MB TOTAL_MB CREATE_DA MOUNT_DAT MOUNT_S DISK TYPE
-------------------- ---------- ---------- --------- --------- ------- ------------
/dev/asm_10G_0 10240 0 CLOSED CANDIDATE
/dev/asm_10G_1 10240 0 CLOSED CANDIDATE
/dev/asm_10G_2 10240 0 CLOSED CANDIDATE
/dev/asm_128G_0 131072 0 CLOSED CANDIDATE
/dev/asm_128G_1 131072 0 CLOSED CANDIDATE
/dev/asm_128G_10 131072 0 CLOSED CANDIDATE
/dev/asm_128G_11 131072 0 CLOSED CANDIDATE
/dev/asm_128G_12 131072 0 CLOSED CANDIDATE
/dev/asm_128G_13 131072 0 CLOSED CANDIDATE
/dev/asm_128G_14 131072 0 CLOSED CANDIDATE
/dev/asm_128G_15 131072 0 CLOSED CANDIDATE
/dev/asm_128G_16 131072 0 CLOSED CANDIDATE
/dev/asm_128G_17 131072 0 CLOSED CANDIDATE
/dev/asm_128G_18 131072 0 CLOSED CANDIDATE
/dev/asm_128G_19 131072 0 CLOSED CANDIDATE
/dev/asm_128G_2 131072 0 CLOSED CANDIDATE
/dev/asm_128G_20 131072 0 CLOSED CANDIDATE
/dev/asm_128G_21 131072 0 CLOSED CANDIDATE
/dev/asm_128G_22 131072 0 CLOSED CANDIDATE
/dev/asm_128G_23 131072 0 CLOSED CANDIDATE
/dev/asm_128G_24 131072 0 CLOSED CANDIDATE
/dev/asm_128G_25 131072 0 CLOSED CANDIDATE
/dev/asm_128G_26 131072 0 CLOSED CANDIDATE
/dev/asm_128G_27 131072 0 CLOSED CANDIDATE
/dev/asm_128G_28 131072 0 CLOSED CANDIDATE
/dev/asm_128G_29 131072 0 CLOSED CANDIDATE
/dev/asm_128G_3 131072 0 CLOSED CANDIDATE
/dev/asm_128G_30 131072 0 CLOSED CANDIDATE
/dev/asm_128G_31 131072 0 CLOSED CANDIDATE
/dev/asm_128G_32 131072 0 CLOSED CANDIDATE
/dev/asm_128G_33 131072 0 CLOSED CANDIDATE
/dev/asm_128G_34 131072 0 CLOSED CANDIDATE
/dev/asm_128G_4 131072 0 CLOSED CANDIDATE
/dev/asm_128G_5 131072 0 CLOSED CANDIDATE
/dev/asm_128G_6 131072 0 CLOSED CANDIDATE
/dev/asm_128G_7 131072 0 CLOSED CANDIDATE
/dev/asm_128G_8 131072 0 CLOSED CANDIDATE
/dev/asm_128G_9 131072 0 CLOSED CANDIDATE
/dev/asm_128G_P12_3 131072 0 CLOSED CANDIDATE
/dev/asm_128G_P12_4 131072 0 CLOSED CANDIDATE
/dev/asm_128G_P12_5 131072 0 CLOSED CANDIDATE
/dev/asm_128G_P12_6 131072 0 CLOSED CANDIDATE
/dev/asm_128G_P12_7 131072 0 CLOSED CANDIDATE
/dev/asm_128G_P12_8 131072 0 CLOSED CANDIDATE
/dev/asm_16G_0 16384 0 CLOSED CANDIDATE
/dev/asm_16G_1 16384 0 CLOSED CANDIDATE
/dev/asm_16G_10 16384 0 CLOSED CANDIDATE
/dev/asm_16G_11 16384 0 CLOSED CANDIDATE
/dev/asm_16G_12 16384 0 CLOSED CANDIDATE
/dev/asm_16G_2 16384 0 CLOSED CANDIDATE
/dev/asm_16G_3 16384 0 CLOSED CANDIDATE
/dev/asm_16G_4 16384 0 CLOSED CANDIDATE
/dev/asm_16G_5 16384 0 CLOSED CANDIDATE
/dev/asm_16G_6 16384 0 CLOSED CANDIDATE
/dev/asm_16G_7 16384 0 CLOSED CANDIDATE
/dev/asm_16G_8 16384 0 CLOSED CANDIDATE
/dev/asm_16G_9 16384 0 CLOSED CANDIDATE
57 rows selected.
The discovery of available disks is limited to the /dev/asm* path.
SQL> show parameter asm_diskstring
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
asm_diskstring string /dev/asm*
SQL>
SQL> exit
--*****************************
--**** 3. Adding new disks ****
--*****************************
Adding the new disks to their respective diskgroups is performed by using the alter diskgroup command.
Please Note: Execute only one ALTER DISKGROUP command at a time and wait for the rebalance process to complete before executing another ALTER DISKGROUP command.
--*********************************
--**** 3.1 DATA DISKGROUP ***
--*********************************
$ export ORACLE_SID=+ASM1
$ . oraenv
$
$ sqlplus / as sysasm
SQL>
ALTER DISKGROUP DATA ADD DISK
'/dev/asm_128G_0' name DATA_0041 size 131072M,
'/dev/asm_128G_1' name DATA_0042 size 131072M,
'/dev/asm_128G_2' name DATA_0043 size 131072M,
'/dev/asm_128G_3' name DATA_0044 size 131072M,
'/dev/asm_128G_4' name DATA_0045 size 131072M,
'/dev/asm_128G_5' name DATA_0046 size 131072M,
'/dev/asm_128G_6' name DATA_0047 size 131072M,
'/dev/asm_128G_7' name DATA_0048 size 131072M,
'/dev/asm_128G_8' name DATA_0049 size 131072M,
'/dev/asm_128G_9' name DATA_0050 size 131072M,
'/dev/asm_128G_10' name DATA_0051 size 131072M,
'/dev/asm_128G_11' name DATA_0052 size 131072M,
'/dev/asm_128G_12' name DATA_0053 size 131072M,
'/dev/asm_128G_13' name DATA_0054 size 131072M,
'/dev/asm_128G_14' name DATA_0055 size 131072M,
'/dev/asm_128G_15' name DATA_0056 size 131072M,
'/dev/asm_128G_16' name DATA_0057 size 131072M,
'/dev/asm_128G_17' name DATA_0058 size 131072M,
'/dev/asm_128G_18' name DATA_0059 size 131072M,
'/dev/asm_128G_19' name DATA_0060 size 131072M,
'/dev/asm_128G_20' name DATA_0061 size 131072M,
'/dev/asm_128G_21' name DATA_0062 size 131072M,
'/dev/asm_128G_22' name DATA_0063 size 131072M,
'/dev/asm_128G_23' name DATA_0064 size 131072M,
'/dev/asm_128G_24' name DATA_0065 size 131072M,
'/dev/asm_128G_25' name DATA_0066 size 131072M,
'/dev/asm_128G_26' name DATA_0067 size 131072M,
'/dev/asm_128G_27' name DATA_0068 size 131072M,
'/dev/asm_16G_0' name DATA_0069 size 16384M,
'/dev/asm_16G_1' name DATA_0070 size 16384M,
'/dev/asm_16G_2' name DATA_0071 size 16384M,
'/dev/asm_16G_3' name DATA_0072 size 16384M,
'/dev/asm_16G_4' name DATA_0073 size 16384M,
'/dev/asm_16G_5' name DATA_0074 size 16384M,
'/dev/asm_16G_6' name DATA_0075 size 16384M,
'/dev/asm_16G_7' name DATA_0076 size 16384M,
'/dev/asm_16G_8' name DATA_0077 size 16384M,
'/dev/asm_16G_9' name DATA_0078 size 16384M,
'/dev/asm_16G_10' name DATA_0079 size 16384M,
'/dev/asm_16G_11' name DATA_0080 size 16384M,
'/dev/asm_16G_12' name DATA_0081 size 16384M
REBALANCE POWER 5
/
The rebalancing operation can be monitored through the v$asm_operation view. You can also see an estimation on when the rebalancing is supposed to complete.
SQL>
col OPERATION for a10
col STATE for a6
select GROUP_NUMBER,OPERATION,STATE,POWER,SOFAR,EST_WORK,EST_RATE,EST_MINUTES from v$asm_operation
/
GROUP_NUMBER OPERATION STATE POWER SOFAR EST_WORK EST_RATE EST_MINUTES
------------ ---------- ------ ---------- ---------- ---------- ---------- -----------
1 REBAL RUN 5 75032 374366 7196 41
set linesize 200
set pagesize 200
column path format a20
column DG_NAME format a15
select g.name "DG_NAME", d.name "DG_DISK", d.path, d.OS_MB, d.total_mb, d.create_date, d.mount_date, d.mount_status, d.header_status "DISK TYPE", BYTES_WRITTEN/1024/1024/1024 from v$asm_disk d, v$asm_diskgroup g
where d.group_number = g.group_number
order by 1,2
/
Once completed the operation will disappear from the v$asm_operation view.
SQL> select group_number, operation, est_minutes from v$asm_operation;
no rows selected
--********************************
--**** 3.2 FLASHBACK DISKGROUP **
--********************************
$ export ORACLE_SID=+ASM1
$ . oraenv
$
$ sqlplus / as sysasm
SQL>
ALTER DISKGROUP FLASHBACK ADD DISK
'/dev/asm_128G_28' name FLASHBACK_0001 size 131072M
REBALANCE POWER 5
/
The rebalancing operation can be monitored through the v$asm_operation view. You can also see an estimation on when the rebalancing is supposed to complete.
SQL> select group_number, operation, est_minutes from
v$asm_operation;
GROUP_NUMBER OPERA EST_MINUTES
------------ ----- -----------
1 REBAL 4
Once completed the operation will disappear from the v$asm_operation view.
SQL> select group_number, operation, est_minutes from v$asm_operation;
no rows selected
--********************************
--**** 3.3 OCR DISKGROUP **
--********************************
$ export ORACLE_SID=+ASM1
$ . oraenv
$
$ sqlplus / as sysasm
SQL>
ALTER DISKGROUP OCRVOTING ADD DISK
'/dev/asm_10G_0' name OCRVOTING_0003 size 10240M,
'/dev/asm_10G_1' name OCRVOTING_0004 size 10240M,
'/dev/asm_10G_2' name OCRVOTING_0005 size 10240M
REBALANCE POWER 5
/
The rebalancing operation can be monitored through the v$asm_operation view. You can also see an estimation on when the rebalancing is supposed to complete.
col OPERATION for a10
col STATE for a6
select GROUP_NUMBER,OPERATION,STATE,POWER,SOFAR,EST_WORK,EST_RATE,EST_MINUTES from v$asm_operation
/
GROUP_NUMBER OPERA EST_MINUTES
------------ ----- -----------
1 REBAL 4
Once completed the operation will disappear from the v$asm_operation view.
col OPERATION for a10
col STATE for a6
select GROUP_NUMBER,OPERATION,STATE,POWER,SOFAR,EST_WORK,EST_RATE,EST_MINUTES from v$asm_operation
/
no rows selected
SQL>
--*******************************
--**** 4. Remove the old disks **
--*******************************
Finally, remove the old disks:
Please Note: Execute only one ALTER DISKGROUP command at a time and wait for the rebalance process to complete before executing another ALTER DISKGROUP command.
--********************************
--**** 4.1 DATA DISKGROUP **
--********************************
$ export ORACLE_SID=+ASM1
$ . oraenv
$
$ sqlplus / as sysasm
SQL> ALTER DISKGROUP DATA DROP DISK DATA_0000, DATA_0001, DATA_0002, DATA_0003, DATA_0004, DATA_0005, DATA_0006, DATA_0007, DATA_0008, DATA_0009, DATA_0010, DATA_0011, DATA_0012, DATA_0013, DATA_0014, DATA_0015, DATA_0016, DATA_0017, DATA_0018, DATA_0019, DATA_0020 rebalance power 5;
SQL> ALTER DISKGROUP DATA DROP DISK DATA_0021 DATA_0022, DATA_0023, DATA_0024, DATA_0025, DATA_0026, DATA_0027, DATA_0028, DATA_0029, DATA_0030, DATA_0031, DATA_0032, DATA_0033 DATA_0034, DATA_0035, DATA_0036, DATA_0037, DATA_0038, DATA_0039, DATA_0040 rebalance power 5;
--Alternatively, you can use one command by executing the following.
ALTER DISKGROUP DATA DROP DISK
DATA_0000,
DATA_0001,
DATA_0002,
DATA_0003,
DATA_0004,
DATA_0005,
DATA_0006,
DATA_0007,
DATA_0008,
DATA_0009,
DATA_0010,
DATA_0011,
DATA_0012,
DATA_0013,
DATA_0014,
DATA_0015,
DATA_0016,
DATA_0017,
DATA_0018,
DATA_0019,
DATA_0020,
DATA_0021,
DATA_0022,
DATA_0023,
DATA_0024,
DATA_0025,
DATA_0026,
DATA_0027,
DATA_0028,
DATA_0029,
DATA_0030,
DATA_0031,
DATA_0032,
DATA_0033,
DATA_0034,
DATA_0035,
DATA_0036,
DATA_0037,
DATA_0038,
DATA_0039,
DATA_0040 rebalance power 5;
Monitor the rebalancing operation through the v$asm_operation view. You can also see an estimation on when the rebalancing is supposed to complete.
col OPERATION for a10
col STATE for a6
select GROUP_NUMBER,OPERATION,STATE,POWER,SOFAR,EST_WORK,EST_RATE,EST_MINUTES from v$asm_operation
/
GROUP_NUMBER OPERA EST_MINUTES
------------ ----- -----------
1 REBAL 4
Once completed the operation will disappear from the v$asm_operation view.
col OPERATION for a10
col STATE for a6
select GROUP_NUMBER,OPERATION,STATE,POWER,SOFAR,EST_WORK,EST_RATE,EST_MINUTES from v$asm_operation
/
no rows selected
SQL>
Checking v$asm_disk shows the OLD ASM disks as FORMER, meaning that they were cleanly dropped and it is now safe to remove them from the machine.
SQL> select path, header_status, mode_status from v$asm_disk;
--********************************
--**** 4.2 FLASHBACK DISKGROUP **
--********************************
$ export ORACLE_SID=+ASM1
$ . oraenv
$
$ sqlplus / as sysasm
SQL> ALTER DISKGROUP FLASHBACK DROP DISK FLASHBACK_0000 rebalance power 5;
Monitor the rebalancing operation through the v$asm_operation view. You can also see an estimation on when the rebalancing is supposed to complete.
col OPERATION for a10
col STATE for a6
select GROUP_NUMBER,OPERATION,STATE,POWER,SOFAR,EST_WORK,EST_RATE,EST_MINUTES from v$asm_operation
/
GROUP_NUMBER OPERA EST_MINUTES
------------ ----- -----------
1 REBAL 4
Once completed the operation will disappear from the v$asm_operation view.
col OPERATION for a10
col STATE for a6
select GROUP_NUMBER,OPERATION,STATE,POWER,SOFAR,EST_WORK,EST_RATE,EST_MINUTES from v$asm_operation
/
no rows selected
SQL>
Checking v$asm_disk shows the OLD ASM disks as FORMER, meaning that they were cleanly dropped and it is now safe to remove them from the machine.
SQL> select path, header_status, mode_status from v$asm_disk;
--********************************
--**** 4.2 OCRVOTING DISKGROUP **
--********************************
$ export ORACLE_SID=+ASM1
$ . oraenv
$
$ sqlplus / as sysasm
SQL> ALTER DISKGROUP OCRVOTING DROP DISK OCRVOTING_0000, OCRVOTING_0001, OCRVOTING_0002 rebalance power 5;
Monitor the rebalancing operation through the v$asm_operation view. You can also see an estimation on when the rebalancing is supposed to complete.
col OPERATION for a10
col STATE for a6
select GROUP_NUMBER,OPERATION,STATE,POWER,SOFAR,EST_WORK,EST_RATE,EST_MINUTES from v$asm_operation
/
GROUP_NUMBER OPERA EST_MINUTES
------------ ----- -----------
1 REBAL 4
Once completed the operation will disappear from the v$asm_operation view.
col OPERATION for a10
col STATE for a6
select GROUP_NUMBER,OPERATION,STATE,POWER,SOFAR,EST_WORK,EST_RATE,EST_MINUTES from v$asm_operation
/
no rows selected
SQL>
Checking v$asm_disk shows the OLD ASM disks as FORMER, meaning that they were cleanly dropped and it is now safe to remove them from the machine.
SQL> select path, header_status, mode_status from v$asm_disk;
No comments:
Post a Comment