How to increase size of ASM Disks in Exadata


Overview:- In this scenario, we have free space available in celldisk . we would like to increase our DATAC2 disk group size .

Environment
Oracle SuperCluster  T5-8
2 SPARC T5-8 Compute nodes, 4 EXADATA X5-2 Storage cells


step 1. Find out freespace available in celldisk

Login to any storage cell :-
cellcli -e "list celldisk where name like 'CD.*' attributes name, size, freespace"

         CD_00_itscceladm01      /dev/sda3       2.81195068359375T
         CD_01_itscceladm01      /dev/sdb3       2.81195068359375T
         CD_02_itscceladm01      /dev/sdc        2.8449554443359375T
         CD_03_itscceladm01      /dev/sdd        2.8449554443359375T
         CD_04_itscceladm01      /dev/sde        2.8449554443359375T
         CD_05_itscceladm01      /dev/sdf        2.8449554443359375T
         CD_06_itscceladm01      /dev/sdg        2.8449554443359375T
         CD_07_itscceladm01      /dev/sdh        2.8449554443359375T
         CD_08_itscceladm01      /dev/sdi        2.8449554443359375T
         CD_09_itscceladm01      /dev/sdj        2.8449554443359375T
         CD_10_itscceladm01      /dev/sdk        2.8449554443359375T
         CD_11_itscceladm01      /dev/sdl        2.8449554443359375T



step 2.Increase size of DATA disks in storage cells

To check current griddisk size login to any storage cell:-
cellcli -e "list griddisk where name like 'DATAC2.*' attributes name, size"


         DATAC2_CD_00_itscceladm01       257G
         DATAC2_CD_01_itscceladm01       257G
         DATAC2_CD_02_itscceladm01       257G
         DATAC2_CD_03_itscceladm01       257G
         DATAC2_CD_04_itscceladm01       257G
         DATAC2_CD_05_itscceladm01       257G
         DATAC2_CD_06_itscceladm01       257G
         DATAC2_CD_07_itscceladm01       257G
         DATAC2_CD_08_itscceladm01       257G
         DATAC2_CD_09_itscceladm01       257G
         DATAC2_CD_10_itscceladm01       257G
         DATAC2_CD_11_itscceladm01       257G

Do same from all other 3 storage cell and save the output.


Step 3. Increase the grid disk size.

So in our case we are increasing the griddisk size by 200G.
Login to storage cell 1:-

cellcli -e alter griddisk DATAC2_CD_00_itscceladm01, DATAC2_CD_01_itscceladm01, DATAC2_CD_02_itscceladm01, DATAC2_CD_03_itscceladm01, DATAC2_CD_04_itscceladm01, DATAC2_CD_05_itscceladm01,
DATAC2_CD_06_itscceladm01, DATAC2_CD_07_itscceladm01, DATAC2_CD_08_itscceladm01, DATAC2_CD_09_itscceladm01, DATAC2_CD_10_itscceladm01, DATAC2_CD_11_itscceladm01 size=457G;

Login to storage cell 2:-

cellcli -e alter griddisk DATAC2_CD_00_itscceladm02, DATAC2_CD_01_itscceladm02, DATAC2_CD_02_itscceladm02, DATAC2_CD_03_itscceladm02, DATAC2_CD_04_itscceladm02, DATAC2_CD_05_itscceladm02,
DATAC2_CD_06_itscceladm02, DATAC2_CD_07_itscceladm02, DATAC2_CD_08_itscceladm02, DATAC2_CD_09_itscceladm02, DATAC2_CD_10_itscceladm02, DATAC2_CD_11_itscceladm02 size=457G;

Login to storage cell 3:-

cellcli -e alter griddisk DATAC2_CD_00_itscceladm03, DATAC2_CD_01_itscceladm03, DATAC2_CD_02_itscceladm03, DATAC2_CD_03_itscceladm03, DATAC2_CD_04_itscceladm03, DATAC2_CD_05_itscceladm03,
DATAC2_CD_06_itscceladm03, DATAC2_CD_07_itscceladm03, DATAC2_CD_08_itscceladm03, DATAC2_CD_09_itscceladm03, DATAC2_CD_10_itscceladm03, DATAC2_CD_11_itscceladm03 size=457G;


Login to storage cell 4:-

cellcli -e alter griddisk DATAC2_CD_00_itscceladm04, DATAC2_CD_01_itscceladm04, DATAC2_CD_02_itscceladm04, DATAC2_CD_03_itscceladm04, DATAC2_CD_04_itscceladm04, DATAC2_CD_05_itscceladm04,
DATAC2_CD_06_itscceladm04, DATAC2_CD_07_itscceladm04, DATAC2_CD_08_itscceladm04, DATAC2_CD_09_itscceladm04, DATAC2_CD_10_itscceladm04, DATAC2_CD_11_itscceladm04 size=457G;


Step 4. Verify the new size
cellcli -e "list grid disk where name like 'DATAC2.*' attributes name, size"


Step 5. Increase size of DATA disks in ASM
Increase the size of all disks in disk group DATAC2, with the following command:

$ sqlplus / as sysasm

SQL> alter diskgroup DATAC2 resize all rebalance power 32;

Diskgroup altered.

Note that there was no need to specify the new disks size, as ASM will get that from the griddisks. The rebalance clause is optional.

The command will trigger the rebalance operation for disk group DATA.

Monitor the rebalance with the following command:

SQL> select * from gv$asm_operation;

Once the command returns "no rows selected", the rebalance would have completed and all disks in disk group DATAC2 should show new size:


Verify the new sizes for the ASM disks and diskgroup is at the desired sizes

CellCLI> list grid disk where name like 'DATAC2.*' attributes name, size

DATAC2_CD_00_itscceladm01       457G
         DATAC2_CD_01_itscceladm01       457G
         DATAC2_CD_02_itscceladm01       457G
         DATAC2_CD_03_itscceladm01       457G
         DATAC2_CD_04_itscceladm01       457G
         DATAC2_CD_05_itscceladm01       457G
         DATAC2_CD_06_itscceladm01       457G
         DATAC2_CD_07_itscceladm01       457G
         DATAC2_CD_08_itscceladm01       457G
         DATAC2_CD_09_itscceladm01       457G
         DATAC2_CD_10_itscceladm01       457G
         DATAC2_CD_11_itscceladm01       457G