Create ASM disk group - denis-kol4ev/OraDBA GitHub Wiki

Create ASM disk group

1. Get list of existing disk groups

su - oracle 
. oraenv
+ASM

asmcmd lsdg

Use query as alternative solution

sqlplus / as sysasm

set pages 200
set lines 200
col name format a10
col state format a10
select GROUP_NUMBER,NAME,BLOCK_SIZE,STATE,TYPE,TOTAL_MB,FREE_MB,USABLE_FILE_MB from V$ASM_DISKGROUP order by GROUP_NUMBER;

2. Get list of disks not included in ASM groups

asmcmd lsdsk -p --candidate
asmcmd lsdsk -p --member

Use query as alternative solution

sqlplus / as sysasm

set pages 200
set lines 200
col path format a40
col name format a20
select GROUP_NUMBER,PATH, STATE,MOUNT_STATUS  from V$ASM_DISK where MOUNT_STATUS='CLOSED' and GROUP_NUMBER=0 order by path;

3. Create new disk group

sqlplus / as sysasm

SQL> create diskgroup REDO external redundancy disk '/dev/oracleasm/disks/REDO1','/dev/oracleasm/disks/REDO2';

SQL> create diskgroup FRA external redundancy disk '/dev/oracleasm/disks/FRA1' name FRA1;

SQL>  create diskgroup DATA1 normal redundancy 
failgroup controller1 disk '/dev/oracleasm/disks/DATA20','/dev/oracleasm/disks/DATA21'
failgroup controller2 disk '/dev/oracleasm/disks/DATA30','/dev/oracleasm/disks/DATA31';

4. Check new disk group

asmcmd lsdg -g REDO

Use query as alternative solution

SQL>
set pages 200
set lines 200
col group_name format a10
col disk_name format a10
col path format a40
select g.NAME as group_name, d.GROUP_NUMBER,d.NAME as disk_name, DISK_NUMBER, PATH, d.STATE, d.TOTAL_MB 
from V$ASM_DISK d , V$ASM_DISKGROUP g
where d.GROUP_NUMBER=g.GROUP_NUMBER
order by d.group_number, d.name;