Amministrazione di un'istanza ASM
Ho gi spiegato come ASM sia un tipo particolare di istanza Oracle, con una SGA e i processi di background, in particolare i package interni di ASM fanno uso della LARGE POOL, quindi viene raccomandato nel manuale di amministrazione di settare il parametro ad almeno 1MB, sulla mia guida parla di 8 MB, su un'istanza che ho installato il default 12 MB.In una macchina vi pu essere solo un'istanza ASM attiva (con SID=+ASM di solito). Affinch le istanze database possano utilizzare ASM sulla macchina deve essere installato ed in esecuzione anche il servizioOracle Cluster Synchronization Service (CSS). CSS controlla la sincronizzazione tra l'istanza ASM e le istanze database.
Il corretto funzionamento di CSS pu essere verificato con il comando:
[oracle@urano ~]$ crsctl check css
CSS appears healthy
CSS viene installato configurato con il comando
#$ORACLE_HOME/bin/localconfig add
Creazione di un'istanza ASM
il modo pi semplice per creare un'istanza ASM attraverso DBCA. Se durante la crezione di un database si sceglie di usare ASM e sulla macchina non gi installata un'istanza ASM DBCA automaticamente provvede alla crezione dell'istanza e alla configurazione.Disk discovery
con disk discovery si intende la rilevazione da parte di ASM di dischi o partizioni candidate ad essere usate da ASM. Attraverso il parametro ASM_DISKSTRING si dice ad ASM quali file di device considerare come candidati un esempio pu essere:ASM_DISKSTRING=/dev/oracleasm/disks/*
I possibili candidati sono RAW device o block device. Su Linux e Windows Oracle consiglia l'uso di ASMLib, un modulo che dovrebbe facilitare la gestione dei dischi candidati.
Creazione di disk group
Una volta che ASM ha rilevato disk candidati all'utilizzo possibile creare dei disk group.

Ad esempio:
CREATE DISKGROUP dgroup_01
EXTERNAL REDUNDANCY;
DISK '$ORACLE_HOME/disks/c*';
Un esempio meno banale:
CREATE DISKGROUP group1 HIGH REDUNDANCY
FAILGROUP fggroup1 DISK
'/devices/disk1',
'/devices/disk2',
FAILGROUP fggroup2 DISK
'/devices/disk3',
'/devices/disk4',
FAILGROUP fggroup3 DISK
'/devices/disk5',
'/devices/disk6';
Se non vengono specificati i failure group ASM per default mette ogni disk in un suo failure group con un nome generato automaticamente.
Aggiunta e rimozione di Disk a un Disk Group
Una delle caratteristiche di ASM la possibilit di aggiungere e rimuovere dinamicamente disk su disk group. Queste operazioni mettono in moto l'attivit di REBALANCING.Ecco un esempio di istruzione per aggiungere due disk a un disk group
ALTER DISKGROUP group1 ADD DISKIn questo caso parte l'operazione di REBALANCING obbligatoriamente per spostare i dati da questo disco ai dischi rimanenti (ricordo che questa operazione pu essere fatta a database aperto). L'operazione di rebalancing monitorabile dalla vista V$ASM_OPERATION e il suo "peso" determinato dal parametro ASM_POWER_LIMIT, che accetta valori interi tra 1 (poco peso) e 11 (massimo peso). Il default 1, significa che l'operazione durer pi a lungo per non sollecitare troppo il sistema e permettere l'operativit normale del database. Se si cambia idea prima che l'operazione di rebalancing abbia terminato possibile annullare il drop:
'/devices/disk7' NAME disk7,
'/devices/disk8' NAME disk8;
E similmente si pu rimuovere un disk da un disk group:
ALTER DISKGROUP dgroup_01
DROP DISK dgroup_01_0000;
ALTER DISKGROUP dgroup_01Se si vuole accelerare l'operazione di rebalancing si pu usare il seguente comando:
UNDROP DISKS;
ALTER DISKGROUP dgroup_01Il wait indica che il comando non restituir il controllo fino a quando l'operazione di rebalancing non avr terminato.
REBALANCE POWER 11 WAIT;
Un disk grop per essere utilizzato deve essere montato. ASM quando viene avviato monta in automatico i disk group elencati nel parametro ASM_DISKGROUPS, in automatico (se si usa SPFILE) i nuovi disk group vengono aggiunti al parametro. I comandi per montare e smontere un disk group sono:
ALTER DISKGROUP dgroup_01
DISMOUNT FORCE;
ALTER DISKGROUP dgroup_01
MOUNT;
Usando la parola chiave "ALL" al posto del nome possibile montare o smontare in un colpo solo tutti i disk group.
Infine:
DROP DISKGROUP dgroup_01 INCLUDING CONTENTS;
La clausola INCLUDING CONTENTS necessaria se nel disk group vi sono file.
Controllo della consistenza di un disk group
E' possibile richiedere ad ASM la verifica della consistenza dei dati di un disk group con il seguente comando:ALTER DISKGROUP dgroup_01La clausola repair fa si che il comando si occupi anche di riparare eventuali inconsistenze trovate automaticamente.
CHECK ALL
REPAIR;
Creazione e modifica di Template
I template sono in pratica un insieme di caratteristiche di un datafile. Quando si crea un datafile possibile specificare un template dal quale i datafile erediter le caratteristiche. le caratteristiche definibili sono il livello di ridondanza (UNPROTECTED o MIRROR) e la dimensione dello stripe (COARSE o FINE). Si noti che possibile definire un template e quindi un file con livello di ridondanza "UNPROTECTED" su un disk group ad esempio con livello di ridondanza 2-way. Ovviamente questa cosa fortemente sconsigliata. In questa situazione anche mettere temporaneamente offline un disk del disk group pu danneggiare il file. Nei template predefiniti il livello di ridondanza rispecchia quello del disk group.Ecco un esempio di istruzione per creare un nuovo template:
ALTER DISKGROUP dgroup_01Modifica:
ADD TEMPLATE template_01
ATTRIBUTES (UNPROTECTED COARSE);
ALTER DISKGROUP dgroup_01
ALTER TEMPLATE template_01
ATTRIBUTES (FINE);
Eliminazione:
ALTER DISKGROUP dgroup_01
DROP TEMPLATE template_01;
Nomi di file ASM
Tutti i file in ASM (manuale) sono controllati da OMF. I nomi dei file e la loro struttura gerarchica all'interno di un disk group sono generati automaticamente. Vi sono sei formati diversidi nomi per i file e si distinguono per l'uso in tre possibili situazioni:- per riferirsi a file esistenti
- durante l'operazione di creazione di un file
- durante l'operazione di crezione di pi file
Fully Qualified Names (nomi completi)
si tratta del nome che ad esempio vediamo sulla vista V$DATAFILE (non sempre) dell'stanza database. Questo formato pu essere usato solo per file gi esistenti. Il formato :+group/dbname/file_type/tag.file.incarnation
Ad esempio:
+DG_DATA/test102/datafile/system.260.631717657
Numeric Names
anche questo formato utilizzabile solo per riferirsi a file gi esistenti. Esso consiste solo del nome del disk group e della coppia di numeri file.incarnation, ad esempio+DG_DATA.260.631717657
Alias Names
questo formato si pu usare sia per file esistenti che per file nuovi (cio all'atto della creazione). Infatti se alla crezione di un datafile si cerca di speficare un nome quello che ASM/OMF fanno creare il file secondo le regole OMF e poi creare eventuali directory e l'alias come specificato. Nel mio test ho verificato anche che in V$DATAFILE compare l'alias.Alias with Template Names
Questo formato si pu utilizzare solo quando si crea un nuovo file ASM:SQL> create tablespace test datafile '+DG_DATA/cris(flashback)' size 10 m;
Tablespace created.
ASMCMD> ls -la
Type Redund Striped Time Sys Name
Y GEOT102/
N cris => +DG_DATA/GEOT102/DATAFILE/TEST.267.649354881
ASMCMD> cd geot102/datafile
ASMCMD> ls -la
Type Redund Striped Time Sys Name
DATAFILE UNPROT COARSE JAN 05 14:00:00 Y none => INDX.257.631717653
DATAFILE UNPROT COARSE JAN 05 14:00:00 Y none => SYSAUX.261.631717657
DATAFILE UNPROT COARSE JAN 05 14:00:00 Y none => SYSTEM.260.631717657
DATAFILE UNPROT FINE MAR 14 16:00:00 Y +DG_DATA/cris => TEST.267.649354881
DATAFILE UNPROT COARSE JAN 05 14:00:00 Y none => UNDOTBS1.259.631717657
DATAFILE UNPROT COARSE JAN 05 14:00:00 Y none => USERS.258.631717655Cio il file viene creato con il template "flashback" infatti lo striping fine, il nome generato con le regole di OMF e viene creato un alias
Incomplete Names
Questo formato pu essere usato solo in creazione di uno o pi file, ad esempio:SQL> create tablespace test datafile '+DG_DATA' size 5 m ,
2 '+DG_DATA' size 10 m;
Tablespace created.
ASMCMD> ls -la
Type Redund Striped Time Sys Name
DATAFILE UNPROT COARSE JAN 05 14:00:00 Y none => INDX.257.631717653
DATAFILE UNPROT COARSE JAN 05 14:00:00 Y none => SYSAUX.261.631717657
DATAFILE UNPROT COARSE JAN 05 14:00:00 Y none => SYSTEM.260.631717657
DATAFILE UNPROT COARSE MAR 14 16:00:00 Y none => TEST.267.649355189
DATAFILE UNPROT COARSE MAR 14 16:00:00 Y none => TEST.268.649355189
DATAFILE UNPROT COARSE JAN 05 14:00:00 Y none => UNDOTBS1.259.631717657
DATAFILE UNPROT COARSE JAN 05 14:00:00 Y none => USERS.258.631717655
Incomplete Names with Template
Questo formato usabile per la crezione di uno o pi file, ad esempio:SQL> create tablespace test datafile '+DG_DATA(flashback)' size 5 m,
2 '+DG_DATA(tempfile)' size 10 m;
ASMCMD> ls -la
Type Redund Striped Time Sys Name
DATAFILE UNPROT COARSE JAN 05 14:00:00 Y none => INDX.257.631717653
DATAFILE UNPROT COARSE JAN 05 14:00:00 Y none => SYSAUX.261.631717657
DATAFILE UNPROT COARSE JAN 05 14:00:00 Y none => SYSTEM.260.631717657
DATAFILE UNPROT FINE MAR 14 16:00:00 Y none => TEST.267.649355399
DATAFILE UNPROT COARSE MAR 14 16:00:00 Y none => TEST.268.649355399
DATAFILE UNPROT COARSE JAN 05 14:00:00 Y none => UNDOTBS1.259.631717657
DATAFILE UNPROT COARSE JAN 05 14:00:00 Y none => USERS.258.631717655L'esempio volutamente forzato per far vedere le caratteristiche e le potenzialit della nomenclatura dei file in ASM.
Migrazione ad ASM
Quando sono passato ad ASM per la prima volta mi sentivo a disagio. Negli esempi sopra ho usato l'utility ASMCMD per esplorare il contenuto di ASM, un'alternativa il protocollo FTP o WEBDAV. Nella versione 10.1 non erano disponibili queste possibilit. Quindi non vi erano strumenti simili a quelli tradizionali (ls, cp, ecc.) per "guardare" e gestire il contenuto di ASM. Lo strumento privilegiato per migrare a e da ASM RMAN esso tratta in modo indistinto ASM e file system tradizionali. Su questa sezione del manuale si trovano le informazioni.| < Prev | Next > |
|---|






Feed Articoli

