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