Adding and removing disks in ASM
A first for me. I had seen asm in the past but never had hands on experience with it. A client needed some disks moved from 1 diskgroup to the other and so started my journey into ASM. :)
The client was using grid control for management of the RAC an ASM instances, the point and click interface is really intuitif and makes these actions childplay. HOWEVER, not all clients have grid control and in my case I didn’t have the sys password to connect with the asm instance. A local connection was the only possible solution and that meant… fun :)
I was glad Grid control didn’t work so I could get to know the command line interface. The folowing is my procedure.
1. detect the group number from the source and Dest group :
SQL> select group_number,name from v$asm_diskgroup;
GROUP_NUMBER NAME
———— ——————————
3 DG_SRC_DF
5 DG_DEST_DF
2. Get an overview of the disks from that diskgroup :
SQL> select DISK_NUMBER, name, failgroup, group_number from v$asm_disk where group_number=3 order by name;
0 asmdiskA17 FailgroupA 3
1 asmdiskA18 FailgroupA 3
2 asmdiskA19 FailgroupA 3
3 asmdiskA22 FailgroupA 3
4 asmdiskA23 FailgroupA 3
5 asmdiskA24 FailgroupA 3
6 asmdiskA25 FailgroupA 3
7 asmdiskA26 FailgroupA 3
8 asmdiskA27 FailgroupA 3
9 asmdiskA28 FailgroupA 3
10 asmdiskB39 FailgroupB 3
11 asmdiskB40 FailgroupB 3
12 asmdiskB41 FailgroupB 3
13 asmdiskB42 FailgroupB 3
14 asmdiskB43 FailgroupB 3
15 asmdiskB44 FailgroupB 3
16 asmdiskB45 FailgroupB 3
17 asmdiskB48 FailgroupB 3
18 asmdiskB49 FailgroupB 3
19 asmdiskB50 FailgroupB 3
3. Remove 7 disks of each failgroup = 14 :
alter diskgroup DG_SRC_DF drop disk asmdiskA28;
alter diskgroup DG_SRC_DF drop disk asmdiskA27;
alter diskgroup DG_SRC_DF drop disk asmdiskA26;
alter diskgroup DG_SRC_DF drop disk asmdiskA25;
alter diskgroup DG_SRC_DF drop disk asmdiskA24;
alter diskgroup DG_SRC_DF drop disk asmdiskA23;
alter diskgroup DG_SRC_DF drop disk asmdiskA22;
alter diskgroup DG_SRC_DF drop disk asmdiskB50;
alter diskgroup DG_SRC_DF drop disk asmdiskB49;
alter diskgroup DG_SRC_DF drop disk asmdiskB48;
alter diskgroup DG_SRC_DF drop disk asmdiskB45;
alter diskgroup DG_SRC_DF drop disk asmdiskB44;
alter diskgroup DG_SRC_DF drop disk asmdiskB43;
alter diskgroup DG_SRC_DF drop disk asmdiskB42;
4. check if the rebalancing is done :
SQL> select * from v$asm_operation;
GROUP_NUMBER OPERA STAT POWER ACTUAL SOFAR EST_WORK EST_RATE EST_MINUTES
———— —– —- ———- ———- ———- ———- ———- ———–
3 REBAL RUN 1 1 18652 69864 722 70
5. when done , check if the disks are gone with query from point 2.
6. add the disks to the new diskgroup
alter diskgroup DG_DEST_DF add FAILGROUP FailgroupA disk ‘/asmdisks/asmdiskA28′;
alter diskgroup DG_DEST_DF add FAILGROUP FailgroupA disk ‘/asmdisks/asmdiskA27′;
alter diskgroup DG_DEST_DF add FAILGROUP FailgroupA disk ‘/asmdisks/asmdiskA26′;
alter diskgroup DG_DEST_DF add FAILGROUP FailgroupA disk ‘/asmdisks/asmdiskA25′;
alter diskgroup DG_DEST_DF add FAILGROUP FailgroupA disk ‘/asmdisks/asmdiskA24′;
alter diskgroup DG_DEST_DF add FAILGROUP FailgroupA disk ‘/asmdisks/asmdiskA23′;
alter diskgroup DG_DEST_DF add FAILGROUP FailgroupA disk ‘/asmdisks/asmdiskA22′;
alter diskgroup DG_DEST_DF add FAILGROUP FailgroupB disk ‘/asmdisks/asmdiskB50′;
alter diskgroup DG_DEST_DF add FAILGROUP FailgroupB disk ‘/asmdisks/asmdiskB49′;
alter diskgroup DG_DEST_DF add FAILGROUP FailgroupB disk ‘/asmdisks/asmdiskB48′;
alter diskgroup DG_DEST_DF add FAILGROUP FailgroupB disk ‘/asmdisks/asmdiskB45′;
alter diskgroup DG_DEST_DF add FAILGROUP FailgroupB disk ‘/asmdisks/asmdiskB44′;
alter diskgroup DG_DEST_DF add FAILGROUP FailgroupB disk ‘/asmdisks/asmdiskB43′;
alter diskgroup DG_DEST_DF add FAILGROUP FailgroupB disk ‘/asmdisks/asmdiskB42′;
7. Disks are added and ASM will rebalance the load over al the disks in background :
SQL> select * from v$asm_operation;
GROUP_NUMBER OPERA STAT POWER ACTUAL SOFAR EST_WORK EST_RATE EST_MINUTES
———— —– —- ———- ———- ———- ———- ———- ———–
5 REBAL RUN 1 1 18652 69864 722 70
After searching and trying it was really quite a good learning case to get to know ASM a bit better. And know i can add ASM knowledge to my resumé ;)
No comments:
Post a Comment