How to add disk to ASM diskgroup in Oracle 11g

Following step by step guide will help you to add disk to oracle ASM diskgroup.

// Following query will identify the Diskgroup to add disk:

SQL> select group_number, name from v$asm_diskgroup;
GROUP_NUMBER NAME
------------ ------------------------------
1 DATA

// Following query will identify the candidate disk:

SQL> SELECT MOUNT_STATUS,HEADER_STATUS,MODE_STATUS,STATE,TOTAL_MB,FREE_MB,NAME,PATH,LABEL FROM V$ASM_DISK;

MOUNT_S HEADER_STATU MODE_ST STATE TOTAL_MB FREE_MB NAME PATH LABEL
------- ------------ ------- -------- ---------- ---------- ------------------------------ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------
CACHED MEMBER ONLINE NORMAL 10240 6528 DATA_0002 /dev/oracleasm/disks/OCR
CACHED MEMBER ONLINE NORMAL 307200 196112 DATA_0000 /dev/oracleasm/disks/ARCHIVE
CACHED MEMBER ONLINE NORMAL 307200 196141 DATA_0001 /dev/oracleasm/disks/DATA

// With the help of createdisk oracle utility, we will create oracle ASM disk. ( as root user ) Following command will create ASM disk:

[root@database1 ~]# /usr/sbin/oracleasm createdisk RMAN /dev/mapper/mpathg
Writing disk header: done
Instantiating disk: done

Note:
RMAN is the name of newly created ASM disk with path ‘/dev/mapper/mpathg’.

// Scan all oracle ASM disk after addition:

[root@database1 ~]# /usr/sbin/oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...

// Ensure all oracle ASM disk after scanning as follow:

[root@database1 ~]# /usr/sbin/oracleasm listdisks
ARCHIVE
DATA
OCR
 RMAN

OR

[oracle@database1 ~]$ cd /dev/oracleasm/disks/
[oracle@database1 disks]$ ls
ARCHIVE DATA OCR RMAN

// Now Add the newly created oracle ASM disk to existing ASM diskgroup with the help of following query:

[oracle@database1 disks]$ grid_env
[oracle@database1 disks]$ sqlplus "/ as sysasm"

SQL> ALTER DISKGROUP DATA ADD DISK '/dev/oracleasm/disks/RMAN' NAME DATA_0003 REBALANCE POWER 11;

Diskgroup altered.

// Ensure changes by issue following query:

SQL> SELECT MOUNT_STATUS,HEADER_STATUS,MODE_STATUS,STATE,TOTAL_MB,FREE_MB,NAME,PATH,LABEL FROM V$ASM_DISK;
MOUNT_S HEADER_STATU MODE_ST STATE TOTAL_MB FREE_MB NAME PATH LABEL
------- ------------ ------- -------- ---------- ---------- ------------------------------ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------
CACHED MEMBER ONLINE NORMAL 307200 202544 DATA_0000 /dev/oracleasm/disks/ARCHIVE
CACHED MEMBER ONLINE NORMAL 10240 6743 DATA_0002 /dev/oracleasm/disks/OCR
CACHED MEMBER ONLINE NORMAL 307200 202578 DATA_0001 /dev/oracleasm/disks/DATA
CACHED MEMBER ONLINE NORMAL 307200 292732 DATA_0003 /dev/oracleasm/disks/RMAN

By above method, we can add disk to oracle ASM diskgroup.

***********************************************************************
Note: Please don’t hesitate to revert in case of any query OR feedback.

Thanking you.

Have a nice time. 🙂

7 thoughts on “How to add disk to ASM diskgroup in Oracle 11g”

  1. in my environment asm disk path showing orcl:datafile show when i add disk in disk group what path should i mention in alter statement as you mention in your query ‘/dev/oracleasm/disks/RMAN’

    why it showing like this

    and when i check the path with show parameter asm_diskstring parameter it showing null.

    • Thank you Shailesh for writing.
      Kindly follow the instructions as given in this article.
      /dev/oracleasm/disks/ is path of candidate disk located and
      RMAN is the name of newly created ASM disk with path ‘/dev/mapper/mpathg’.

      • Thanks for reply but i m sorry I think i am not clarify my problem.

        I have checked with show parameter asm_diskstring to show the path of asm disk

        but it gives null in value colum

        NAME TYPE VALUE
        ———————————— ———– ——————————
        asm_diskstring string

        1) now oracle how to know the location of disk to mounted

        2) second thing ihave check the path from v$adm_disk

        it show like ORCL:ARCHIVE

        so when i add disk to diskgroup DATAFILE using command

        ALTER DISKGROUP DATAFILE ADD DISK ‘ORCL:DATAFILE1’ NAME DATAFILE1 REBALANCE POWER 11;

  2. Hi,

    Our current space usage on Production

    NAME FREE_MB TOTAL_MB PERCENTAGE
    DATA1 85,242 1,047,205 8
    FRA1 242,037 304,687 79

    We would like to increase the space of DATA1 since it was reaching to 100 percent usage very soon.

    What would be the best approach to increase the space.

    Since we have only 300GB (SSD) available as per our OS admin can we add the same to existing DATA1 (1TB) ?? coz adding one more disk which is of different size to existing disk group is allowed as per Oracle standards?

    Please help us !!

    Thanks

  3. Thank you for the easy to understand article. You save my time.

    I will refer your blogs to my fellow colleagues, DBA.

Leave a Reply