ASM Add a disk

1. log in as grid owner, usually oracle or grid

su - grid

2. Set environment for grid using ASM, count be +ASM or +ASM1 or +ASM2…, check in oratab

grep ASM /etc/oratab
. oraenv <<< +ASM

3. log on as sysasm

sqlplus / as sysasm

4. Check current space allocated and Disk group by numbers

set lines 200
col COMPATIBILITY for a16
col DATABASE_COMPATIBILITY for a16
select GROUP_NUMBER, STATE, TYPE, NAME, round(TOTAL_MB/1024,0) TOTAL_GB, round(FREE_MB/1024,0) FREE_GB, COMPATIBILITY, DATABASE_COMPATIBILITY
from v$asm_diskgroup
where TOTAL_MB<>0
/

5. Check Rebalance Power

show parameter asm_power_limit

6. Show Candidate disks to add

col path for a60
select GROUP_NUMBER, DISK_NUMBER, MOUNT_STATUS, HEADER_STATUS, MODE_STATUS, STATE, REDUNDANCY, round(OS_MB/1024,0) OS_GB, NAME, PATH, CREATE_DATE
from v$asm_disk
where name is null
and HEADER_STATUS='CANDIDATE'
order by NAME
/

7. Add Candidate Disk to disk group

example: ALTER DISKGROUP FRA ADD DISK ‘/dev/sdg1’ REBALANCE POWER 50;

ALTER DISKGROUP <DISKGROUP NAME> ADD DISK '<PATH>' REBALANCE POWER <NUMBER>;

8. Monitor Disk addition operation

select sysdate, GROUP_NUMBER, OPERATION,
STATE, POWER, ACTUAL, SOFAR, EST_WORK,
EST_RATE, EST_MINUTES
from v$asm_operation;

9. Check space has been added

set lines 200
col COMPATIBILITY for a16
col DATABASE_COMPATIBILITY for a16
select GROUP_NUMBER, STATE, TYPE, NAME, round(TOTAL_MB/1024,0) TOTAL_GB, round(FREE_MB/1024,0) FREE_GB, COMPATIBILITY, DATABASE_COMPATIBILITY
from v$asm_diskgroup
where TOTAL_MB<>0
/