DB2 - Speichergruppen

In diesem Kapitel werden die Datenbankspeichergruppen beschrieben.

Einführung

Eine Reihe von Speicherpfaden zum Speichern von Datenbanktabellen oder -objekten ist eine Speichergruppe. Sie können die Tablespaces der Speichergruppe zuweisen. Wenn Sie eine Datenbank erstellen, nehmen alle Tablespaces die Standardspeichergruppe an. Die Standardspeichergruppe für eine Datenbank ist 'IBMSTOGROUP'. Wenn Sie eine neue Datenbank erstellen, ist die Standardspeichergruppe aktiv, wenn Sie den Parameter "AUTOMATIC STOGROUP NO" am Ende des Befehls "CREATE DATABASE" übergeben. Die Datenbank verfügt über keine Standardspeichergruppen.

Auflistung von Speichergruppen

Sie können alle Speichergruppen in der Datenbank auflisten.

Syntax: [Um die Liste der verfügbaren Speichergruppen in der aktuellen Datenbank anzuzeigen]

db2 select * from syscat.stogroups

Example: [Um die Liste der verfügbaren Speichergruppen in der aktuellen Datenbank anzuzeigen]

db2 select * from syscat.stogroups

Erstellen einer Speichergruppe

Hier ist eine Syntax zum Erstellen einer Speichergruppe in der Datenbank:

Syntax: [So erstellen Sie eine neue Stoggruppe. Der 'stogropu_name' gibt den Namen der neuen Speichergruppe an und der 'Pfad' gibt den Speicherort an, an dem Daten (Tabellen) gespeichert werden.]

db2 create stogroup 
      
        on ‘path’ 
      

Example: [So erstellen Sie eine neue Stogruppe 'stg1' im Ordner 'data1' des Pfads]

db2 create stogroup stg1 on ‘/data1’

Output:

DB20000I The SQL command completed succesfully

Tabellenbereich mit stogroup erstellen

So können Sie mit storegroup einen Tablespace erstellen:

Syntax: [So erstellen Sie einen neuen Tabellenbereich mit der vorhandenen Speichergruppe]

db2 create tablespace <tablespace_name>  using stogroup <stogroup_name>

Example: [So erstellen Sie einen neuen Tabellenbereich mit dem Namen 'ts1' unter Verwendung der vorhandenen Speichergruppe 'stg1']

db2 create tablespace ts1 using stogroup stg1

Output:

DB20000I The SQL command completed succesfully

Ändern einer Speichergruppe

Sie können den Speicherort einer Speichergruppe mithilfe der folgenden Syntax ändern:

Syntax: [So verschieben Sie eine Speichergruppe vom alten zum neuen Standort]

db2 alter stogroup 
      
        add ‘location’, ‘location’ 
      

Example: [So ändern Sie den Standortpfad vom alten zum neuen Speicherort für die Speichergruppe 'sg1']

db2 alter stogroup sg1 add ‘/path/data3’, ‘/path/data4’

Ordnerpfad der Speichergruppe löschen

Bevor Sie den Ordnerpfad der Speichergruppe löschen, können Sie mit dem Befehl alter einen neuen Speicherort für die Speichergruppe hinzufügen.

Syntax: [So löschen Sie den alten Pfad vom Speicherort der Speichergruppe]

db2 alter stogroup 
      
        drop ‘/path’ 
      

Example: [Speicherort der Speichergruppe von 'stg1' löschen]

db2 alter stogroup stg1 drop ‘/path/data1’

Einen Tabellenbereich neu ausgleichen

Ein erneuter Ausgleich des Tabellenbereichs ist erforderlich, wenn wir einen neuen Ordner für die Speichergruppe oder Tabellenbereiche erstellen, während die Transaktionen in der Datenbank ausgeführt werden und der Tabellenbereich voll wird. Durch das Neuausgleichen der Aktualisierungen der Datenbankkonfigurationsdateien mit der neuen Speichergruppe.

Syntax: [Um den Tabellenbereich vom alten Speichergruppenpfad zur neuen Speichergruppe neu auszugleichen]

db2 alter tablspace <ts_name> rebalance

Example: [Zum Ausgleich]

db2 alter tablespace ts1 rebalance

Umbenennen einer Speichergruppe

Syntax: [So ändern Sie den Namen des vorhandenen Speichernamens]

db2 rename stogroup <old_stg_name> to <new_stg_name>

Example: [Um den Namen der Speichergruppe von 'sg1' in den neuen Namen 'sgroup1' zu ändern]

db2 rename stogroup sg1 to sgroup1

Löschen einer Speichergruppe

Step 1: Bevor Sie eine Speichergruppe löschen, können Sie Tablespaces eine andere Speichergruppe zuweisen.

Syntax: [Um eine andere Speichergruppe für den Tabellenbereich zuzuweisen.]

db2 alter tablspace <ts_name> using stogroup <another sto_group_name>

Example: [Um von einer alten Stoggruppe zu einer neuen Stoggruppe mit dem Namen 'sg2' für den Tabellenbereich 'ts1' zu wechseln]

db2 alter tablespace ts1 using stogroup sg2

Step 2:

Syntax: [So löschen Sie die vorhandene Stoggruppe]

db2 drop stogorup <stogroup_name>

Example: [Stoggruppe 'stg1' aus Datenbank löschen]

db2 drop stogroup stg1