Come estendere un TABLESPACE Oracle

Pubblicato da Patrizia Gardis il

Come estendere un TABLESPACE Oracle

Come estendere un TABLESPACE Oracle.
Le tablespace sono la più grande area di memorizzazione del database Oracle,
dove all’interno risiedono tabelle, indici e gli altri oggetti del database.
In fase d’installazione vengono create 5 tablespace indispensabili per il corretto funzionamento del database, che sono:
i tablespace SYSTEM e SYSAUX dedicate al sistema,
l’UNDO tablespace dedicato alla gestione delle transazioni,
il tablespace USERS dedicato agli utenti dei database oracle e
il tablespace TEMP utilizzato dal database per appoggiare i dati durante un ordinamento.

Oltre a questi ci saranno i tablespace dedicati all’applicazione, che saranno composti (se creati con un organizzazione corretta) dai tablespace DATI, tablespace INDICI e tablespace dedicati ai LOB.

Entriamo nel database con il comando sqlplus e accediamo con utente /as sysdba.

Se non abbiamo il nome del tablespace in allarme,
cerchiamo tra i tablespace con carenza di spazio libero presenti nel database,
attraverso lo statement della pagina Query per vedere le dimensioni di tutte le TABLESPACE del database Oracle

Una volta individuato il tablespace, verifichiamo se è presente un data file aperto su un file system o su un Disk Group ASM (a seconda di come è gestito lo storage), dove è presente spazio utile attraverso lo statement della pagina Query per vedere i DATAFILE con le relative dimensioni di una TABLESPACE.

Nel caso in cui il tablespace fosse gestito con data file aperti con una size fissa eseguiremo il comando:

alter database datafile '/path/nome_datafile' resize --dimensione_datafile;

Esempio:

alter database datafile '/DBTEST_DATI/DBTEST/DATI01.DBF' resize 512m;

Nel caso in cui un tablespace è gestito con datafile con una size dinamica eseguiremo il comando:

alter database datafile '/path/nome_datafile' autoextend on next --dimensione_extent maxsize --dimenizione_maxsize;

Esempio:

alter database datafile '/DBTEST_DATI/DBTEST/DATI01.DBF' autoextend on next 128m maxsize 1024m;

Nel caso in cui volessimo aggiungere un nuovo datafile, dobbiamo prima individuare il File System o il Disk Group ASM con spazio libero.

Comando per vedere spazio free sul FS:

df -h

Query per vedere spazio free sul DG ASM recuperabile al seguente link Query per vedere gli spazi dei DiskGroup ASM.

Una volta trovato lo spazio, cerchiamo il numero sequenziale del data file da creare individuabile dal seguente link Query per vedere i DATAFILE con le relative dimensioni di una TABLESPACE.

E procediamo all’estensione del tablespace con il comando:

Tablespace gestita con una size fissa:

alter tablespace --nome_tablespace add datafile '/path/nome_datafile03' size --dimensione_datafile;

Esempio:

alter tablespace DATI add datafile '/DBTEST_DATI/DBTEST/DATI03.dbf' size 2048m;

Tablespace gestita con una size dinamica:

alter tablespace --nome_tablespace add datafile '/path/nome_datafile03' size --dimensione_initial_extent autoextend on next --dimensione_extent_successivi maxsize --dimensione_maxsize;

Esempio:

alter tablespace DATI add datafile '/DBTEST_DATI/DBTEST/DATI03.dbf' size 256m autoextend on next 256m maxsize 5096m;

Se avete dubbi non esitate a scrivere sui commenti.


0 commenti

Lascia un commento

Segnaposto per l'avatar