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;