Create ASM Disk Groups

1. Documentación en Tahiti -> Masters Book List -> Automatic Storage Management Administrator’s Guide -> 4 Administering Oracle ASM Disk Groups -> Creating Disk Groups

2. Sentencias básicas para crear DG, añadir/borrar discos y borrar un DG.

# Usuario oracle, cargamos el profile del Grid y entramos con SQL*Plus
cd $HOME
. profile_grid
sqlplus / as sysasm
-- Creamos un DG con un solo disco
CREATE DISKGROUP TEST EXTERNAL REDUNDANCY DISK 'ORCL:TEST01' NAME TEST01;
-- Añadimos un nuevo disk al DG TEST
ALTER DISKGROUP TEST ADD DISK 'ORCL:TEST02' NAME TEST02;
-- Cuando creamos un DG de esta forma es necesario montarlo manualmente en el otro nodo (RAC2)
ALTER DISKGROUP TEST MOUNT;
-- Borramos el disco recien creado
ALTER DISKGROUP TEST DROP DISK TEST02;
-- Deshacemos la operación de borrado
ALTER DISKGROUP TEST UNDROP DISKS;
-- Desmontamos manualmente el DG en RAC2
ALTER DISKGROUP TEST DISMOUNT;
-- Borramos el DG
DROP DISKGROUP TEST;

3. Veamos una sentencia completa para crear un DG con redundancia HIGH (tres copias)

-- Oracle recomienda crear DG con un Allocation Unit de 4MB o superior
-- Para poder crear volúmenes ACFS, necesitamos que el atributo compatible.asm = 11.2
CREATE DISKGROUP TEST HIGH REDUNDANCY
FAILGROUP FG1 DISK 'ORCL:TEST01' NAME TEST01
FAILGROUP FG2 DISK 'ORCL:TEST02' NAME TEST02
FAILGROUP FG3 DISK 'ORCL:TEST03' NAME TEST03
ATTRIBUTE 'au_size' = '4M',
'compatible.asm' = '11.2',
'compatible.rdbms' = '11.2',
'compatible.advm' = '11.2';
-- Lo borramos para futuros ejercicios
DROP DISKGROUP TEST;

4. En versiones 11.2 podemos tener FAILGROUPS dedicados exclusivamente a alojar fichero Voting Disk y OCR. Un ejemplo:

CREATE DISKGROUP TEST NORMAL REDUNDANCY
FAILGROUP FG1 DISK 'ORCL:TEST01' NAME TEST01
FAILGROUP FG2 DISK 'ORCL:TEST02' NAME TEST02
QUORUM FAILGROUP FG3 DISK 'ORCL:TEST03' NAME TEST03
ATTRIBUTE 'compatible.asm' = '11.2';
-- Lo borramos para futuros ejercicios
DROP DISKGROUP TEST;

5. Ciertas operaciones se pueden hacer al mismo tiempo. Ya que añadir/borrar discos llevan un rebalanceo implícito.

-- Creamos un DG con redundancia normal
CREATE DISKGROUP TEST NORMAL REDUNDANCY
FAILGROUP FG1 DISK 'ORCL:TEST01' NAME TEST01
FAILGROUP FG2 DISK 'ORCL:TEST02' NAME TEST02;
-- Sustituimos un disco
ALTER DISKGROUP TEST DROP DISK TEST02 ADD FAILGROUP FG2 DISK 'ORCL:TEST03' NAME TEST03;
-- Lo borramos para futuros ejercicios
DROP DISKGROUP TEST;

6. Podemos lanzar un rebalanceo manual de un DG

-- Para versiones menores de 11.2.0.2, el valor de POWER está entre 1-11
-- Para versiones iguales o mayores de 11.2.0.2, el valor de POWER puede ser entre 1-1024
-- Para el examen de OCM, la versión que manejamos es 11.2.0.1, luego los valores están entre 1 y 11
ALTER DISKGROUP DGRAC REBALANCE POWER 5;
-- Monitorizamos el progreso
SELECT * FROM V$ASM_OPERATION;

7. Vamos a realizar prácticas de creación de Disk Groups con el asistente ASMCA
Documentación en Tahiti -> Masters Book List -> Automatic Storage Management Administrator’s Guide -> 11 Oracle ASM Configuration Assistant -> Creating Disk Groups -> Managing Disk Groups with Oracle ASM Configuration Assistant

8. Con el asistente asmca es muy sencillo crear no sólo diskgroups, sino también volumes y filesystems ACFS
Entramos con el usuario oracle en RAC1 y ejecutamos el asistente:

cd $HOME
. profile_grid
asmca

9. Creamos un DISKGROUP de nombre TEST con los tres discos que tenemos para este propósito:

Click “Create” ->
-> Disk Group Name = “TEST” ->
-> Redundancy = “High” ->
-> Click en los tres discos ‘ORCL:TEST01’, ‘ORCL:TEST02’ y ‘ORCL:TEST03’ ->
-> Disk Name = “TEST01”, “TEST02” y “TEST03” respectivamente ->
-> Failure Group = “FG1”, “FG2” y “FG3” respectivamente (ver captura de pantalla) ->
-> Click “Show Advanced Options” ->
-> Allocation Unit Size (MB) = “4” ->
-> Click “OK”

10. Borramos el diskgroup recién creado

Botón derecho sobre el diskgroup “Test” ->
-> Click “Drop” ->
-> Click “Yes”