To see status of diskgroup
SELECT NAME, GROUP_NUMBER, TOTAL_MB, FREE_MB, USABLE_FILE_MB, STATE FROM v$asm_diskgroup;
To mount a diskgroup
alter diskgroup DATA_01 mount
To dismount a diskgroup
alter diskgroup dg1 dismount;
To drop disk from diskgroup
ALTER DISKGROUP GRUPO_RED_HORI DROP DISK GRUPO_RED_HORI_0000 REBALANCE POWER 3;
Droping diskgroup
Note: you must dismount diskgroup with srvctl with -F option and then mount diskgroup by using sqlplus and then you can drop
DROP DISKGROUP GRUPO_RED_HORI INCLUDING CONTENTS;
To create a diskgroup with High Redundancy
CREATE DISKGROUP data HIGH REDUNDANCY
FAILGROUP controller1 DISK
'/devices/c1data01' NAME c1data01,
'/devices/c1data02' NAME c1data02
FAILGROUP controller2 DISK
'/devices/c2data01' NAME c2data01,
'/devices/c2data02' NAME c2data02
FAILGROUP controller3 DISK
'/devices/c3data01' NAME c3data01,
'/devices/c3data02' NAME c3data02
ATTRIBUTE 'au_size'='4M',
'compatible.asm' = '11.2',
'compatible.rdbms'= '11.2',
'compatible.advm' = '11.2';
To create a diskgroup with Normal Redundancy
CREATE DISKGROUP reco NORMAL REDUNDANCY
FAILGROUP controller1 DISK
'/devices/c1reco01' NAME c1reco01,
'/devices/c1reco02' NAME c1reco02
FAILGROUP controller2 DISK
'/devices/c2reco01' NAME c2reco01,
'/devices/c2reco02' NAME c2reco02
ATTRIBUTE 'au_size'='4M',
'compatible.asm' = '11.2',
'compatible.rdbms'= '11.2',
'compatible.advm' = '11.2';
To Create a diskgroup external redundancy
create diskgroup GRUPO_RED_DESA10_01 external redundancy disk '/oracledevice/rawdesa10red001','/oracledevice/rawdesa10red002';
note: create the RAID-protected Logical Unit Numbers (LUNs) in the storage array, and then create the Oracle ASM disk group using the EXTERNAL REDUNDANCY
For a storage network with multiple storage arrays
CREATE DISKGROUP DATA NORMAL REDUNDANCY
FAILGROUP array1 DISK
'/devices/diska1','/devices/diska2','/devices/diska3','/devices/diska4'
FAILGROUP array2 DISK '/devices/diskb1','/devices/diskb2','/devices/diskb3','/devices/diskb4';
create the disks using the ORACLEASM CREATEDISK
/etc/init.d/oracleasm createdisk lun1 /devices/lun01
CREATE DISKGROUP DATA DISK
'ORCL:lun01','ORCL:lun02','ORCL:lun03','ORCL:lun04';
SELECT NAME, GROUP_NUMBER, TOTAL_MB, FREE_MB, USABLE_FILE_MB, STATE FROM v$asm_diskgroup;
To mount a diskgroup
alter diskgroup DATA_01 mount
To dismount a diskgroup
alter diskgroup dg1 dismount;
To drop disk from diskgroup
ALTER DISKGROUP GRUPO_RED_HORI DROP DISK GRUPO_RED_HORI_0000 REBALANCE POWER 3;
Droping diskgroup
Note: you must dismount diskgroup with srvctl with -F option and then mount diskgroup by using sqlplus and then you can drop
DROP DISKGROUP GRUPO_RED_HORI INCLUDING CONTENTS;
To create a diskgroup with High Redundancy
CREATE DISKGROUP data HIGH REDUNDANCY
FAILGROUP controller1 DISK
'/devices/c1data01' NAME c1data01,
'/devices/c1data02' NAME c1data02
FAILGROUP controller2 DISK
'/devices/c2data01' NAME c2data01,
'/devices/c2data02' NAME c2data02
FAILGROUP controller3 DISK
'/devices/c3data01' NAME c3data01,
'/devices/c3data02' NAME c3data02
ATTRIBUTE 'au_size'='4M',
'compatible.asm' = '11.2',
'compatible.rdbms'= '11.2',
'compatible.advm' = '11.2';
To create a diskgroup with Normal Redundancy
CREATE DISKGROUP reco NORMAL REDUNDANCY
FAILGROUP controller1 DISK
'/devices/c1reco01' NAME c1reco01,
'/devices/c1reco02' NAME c1reco02
FAILGROUP controller2 DISK
'/devices/c2reco01' NAME c2reco01,
'/devices/c2reco02' NAME c2reco02
ATTRIBUTE 'au_size'='4M',
'compatible.asm' = '11.2',
'compatible.rdbms'= '11.2',
'compatible.advm' = '11.2';
To Create a diskgroup external redundancy
create diskgroup GRUPO_RED_DESA10_01 external redundancy disk '/oracledevice/rawdesa10red001','/oracledevice/rawdesa10red002';
note: create the RAID-protected Logical Unit Numbers (LUNs) in the storage array, and then create the Oracle ASM disk group using the EXTERNAL REDUNDANCY
For a storage network with multiple storage arrays
CREATE DISKGROUP DATA NORMAL REDUNDANCY
FAILGROUP array1 DISK
'/devices/diska1','/devices/diska2','/devices/diska3','/devices/diska4'
FAILGROUP array2 DISK '/devices/diskb1','/devices/diskb2','/devices/diskb3','/devices/diskb4';
create the disks using the ORACLEASM CREATEDISK
/etc/init.d/oracleasm createdisk lun1 /devices/lun01
CREATE DISKGROUP DATA DISK
'ORCL:lun01','ORCL:lun02','ORCL:lun03','ORCL:lun04';