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