
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. 🙂
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;
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
Thank you Chaitanya for writing.
Yes you can add the remaining storage space to existing DATA1 disk group. Size don’t matters.
Thank you for the easy to understand article. You save my time.
I will refer your blogs to my fellow colleagues, DBA.
Thank you Simon for writing, so kind of you.
Stay tune. 🙂