DB2 - Storagegroups
Questo capitolo descrive i gruppi di archiviazione del database.
introduzione
Un insieme di percorsi di archiviazione per archiviare oggetti o tabelle di database è un gruppo di archiviazione. È possibile assegnare i tablespace al gruppo di archiviazione. Quando crei un database, tutti i tablespace assumono lo storagegorup predefinito. Il gruppo di archiviazione predefinito per un database è "IBMSTOGROUP". Quando si crea un nuovo database, il gruppo di archiviazione di default è attivo, se si passa il parametro “AUTOMATIC STOGROUP NO” alla fine del comando “CREATE DATABASE”. Il database non dispone di gruppi di archiviazione predefiniti.
Elenco dei gruppi di archiviazione
È possibile elencare tutti i gruppi di archiviazione nel database.
Syntax: [Per vedere l'elenco dei gruppi di archiviazione disponibili nel database corrente]
db2 select * from syscat.stogroups
Example: [Per vedere l'elenco degli storagegorups disponibili nel database corrente]
db2 select * from syscat.stogroups
Creazione di un gruppo di archiviazione
Ecco una sintassi per creare un gruppo di archiviazione nel database:
Syntax: [Per creare un nuovo stogroup. "Nome_stogropu" indica il nome del nuovo gruppo di archiviazione e "percorso" indica la posizione in cui sono archiviati i dati (tabelle)]
db2 create stogroup
on ‘path’
Example: [Per creare un nuovo stogroup "stg1" nella cartella del percorso "data1"]
db2 create stogroup stg1 on ‘/data1’
Output:
DB20000I The SQL command completed succesfully
Creazione di tablespace con stogroup
Ecco come creare un tablespace con storegroup:
Syntax: [Per creare un nuovo spazio tabella utilizzando il gruppo di archiviazione esistente]
db2 create tablespace <tablespace_name> using stogroup <stogroup_name>
Example: [Per creare un nuovo spazio tabella denominato "ts1" utilizzando il gruppo di archiviazione esistente "stg1"]
db2 create tablespace ts1 using stogroup stg1
Output:
DB20000I The SQL command completed succesfully
Modifica di un gruppo di archiviazione
È possibile modificare la posizione di un gruppo di negozi utilizzando la seguente sintassi:
Syntax: [Per spostare un gruppo di archiviazione dalla vecchia posizione alla nuova posizione]
db2 alter stogroup
add ‘location’, ‘location’
Example: [Per modificare il percorso della posizione dalla vecchia posizione alla nuova posizione per il gruppo di archiviazione denominato "sg1"]
db2 alter stogroup sg1 add ‘/path/data3’, ‘/path/data4’
Eliminazione del percorso della cartella di storagegroup
Prima di rilasciare il percorso della cartella del gruppo di archiviazione, è possibile aggiungere una nuova posizione per il gruppo di archiviazione utilizzando il comando alter.
Syntax: [Per eliminare il vecchio percorso dalla posizione del gruppo di archiviazione]
db2 alter stogroup
drop ‘/path’
Example: [Per eliminare la posizione del gruppo di archiviazione da "stg1"]
db2 alter stogroup stg1 drop ‘/path/data1’
Ribilanciamento di uno spazio tabella
Il ribilanciamento del tablespace è necessario quando creiamo una nuova cartella per storagegroup o tablespace mentre le transazioni vengono condotte sul database e il tablespace si riempie. Il ribilanciamento aggiorna i file di configurazione del database con il nuovo gruppo di archiviazione.
Syntax: [Per ribilanciare lo spazio tabella dal vecchio percorso del gruppo di archiviazione al nuovo gruppo di archiviazione]
db2 alter tablspace <ts_name> rebalance
Example: [Per riequilibrare]
db2 alter tablespace ts1 rebalance
Ridenominazione di un gruppo di archiviazione
Syntax: [Per modificare il nome del nome di archiviazione esistente]
db2 rename stogroup <old_stg_name> to <new_stg_name>
Example: [Per modificare il nome del gruppo di archiviazione da "sg1" al nuovo nome "sgroup1"]
db2 rename stogroup sg1 to sgroup1
Eliminazione di un gruppo di archiviazione
Step 1: Prima di rilasciare qualsiasi gruppo di archiviazione, è possibile assegnare un gruppo di archiviazione diverso per gli spazi tabella.
Syntax: [Per assegnare un altro gruppo di archiviazione per lo spazio tabella.]
db2 alter tablspace <ts_name> using stogroup <another sto_group_name>
Example: [Per passare da un vecchio stogroup a un nuovo stogroup denominato "sg2" per il tablespace "ts1"]
db2 alter tablespace ts1 using stogroup sg2
Step 2:
Syntax: [Per eliminare lo stogroup esistente]
db2 drop stogorup <stogroup_name>
Example: [Per eliminare lo stogroup "stg1" dal database]
db2 drop stogroup stg1