DB2 - Groupes de stockage
Ce chapitre décrit les groupes de stockage de base de données.
introduction
Un ensemble de chemins de stockage pour stocker la table ou les objets de base de données est un groupe de stockage. Vous pouvez affecter les tablespaces au groupe de stockage. Lorsque vous créez une base de données, tous les tablespaces utilisent storagegorup par défaut. Le groupe de stockage par défaut pour une base de données est «IBMSTOGROUP». Lorsque vous créez une nouvelle base de données, le groupe de stockage par défaut est actif, si vous passez le paramètre «AUTOMATIC STOGROUP NO» à la fin de la commande «CREATE DATABASE». La base de données n'a pas de groupes de stockage par défaut.
Liste des groupes de stockage
Vous pouvez répertorier tous les groupes de stockage de la base de données.
Syntax: [Pour voir la liste des groupes de stockage disponibles dans la base de données actuelle]
db2 select * from syscat.stogroups
Example: [Pour voir la liste des stockages disponibles dans la base de données actuelle]
db2 select * from syscat.stogroups
Créer un groupe de stockage
Voici une syntaxe pour créer un groupe de stockage dans la base de données:
Syntax: [Pour créer un nouveau stogroup. Le 'nom_stogropu' indique le nom du nouveau groupe de stockage et 'chemin' indique l'emplacement où les données (tables) sont stockées]
db2 create stogroup
on ‘path’
Example: [Pour créer un nouveau stogroup 'stg1' sur le chemin du dossier 'data1']
db2 create stogroup stg1 on ‘/data1’
Output:
DB20000I The SQL command completed succesfully
Création d'un tablespace avec stogroup
Voici comment vous pouvez créer un tablespace avec storegroup:
Syntax: [Pour créer un nouvel espace de table à l'aide du groupe de stockage existant]
db2 create tablespace <tablespace_name> using stogroup <stogroup_name>
Example: [Pour créer un nouvel espace table nommé 'ts1' en utilisant le groupe de stockage existant 'stg1']
db2 create tablespace ts1 using stogroup stg1
Output:
DB20000I The SQL command completed succesfully
Modifier un groupe de stockage
Vous pouvez modifier l'emplacement d'un groupe de magasins à l'aide de la syntaxe suivante:
Syntax: [Pour déplacer un groupe de stockage de l'ancien emplacement vers le nouvel emplacement]
db2 alter stogroup
add ‘location’, ‘location’
Example: [Pour modifier le chemin de l'emplacement de l'ancien emplacement au nouvel emplacement pour le groupe de stockage nommé 'sg1']
db2 alter stogroup sg1 add ‘/path/data3’, ‘/path/data4’
Suppression du chemin du dossier du groupe de stockage
Avant de supprimer le chemin du dossier du groupe de stockage, vous pouvez ajouter un nouvel emplacement pour le groupe de stockage à l'aide de la commande alter.
Syntax: [Pour supprimer l'ancien chemin de l'emplacement du groupe de stockage]
db2 alter stogroup
drop ‘/path’
Example: [Pour supprimer l'emplacement du groupe de stockage de «stg1»]
db2 alter stogroup stg1 drop ‘/path/data1’
Rééquilibrer un tablespace
Le rééquilibrage du tablespace est nécessaire lorsque nous créons un nouveau dossier pour le groupe de stockage ou les tablespaces alors que les transactions sont effectuées sur la base de données et que le tablespace devient plein. Le rééquilibrage met à jour les fichiers de configuration de la base de données avec un nouveau groupe de stockage.
Syntax: [Pour rééquilibrer le tablespace de l'ancien chemin du groupe de stockage vers le nouveau groupe de stockage]
db2 alter tablspace <ts_name> rebalance
Example: [Pour rééquilibrer]
db2 alter tablespace ts1 rebalance
Renommer un groupe de stockage
Syntax: [Pour modifier le nom du nom de stockage existant]
db2 rename stogroup <old_stg_name> to <new_stg_name>
Example: [Pour modifier le nom du groupe de stockage de «sg1» au nouveau nom «sgroup1»]
db2 rename stogroup sg1 to sgroup1
Supprimer un groupe de stockage
Step 1: Avant de supprimer un groupe de stockage, vous pouvez attribuer un groupe de stockage différent aux tablespaces.
Syntax: [Pour attribuer un autre groupe de stockage à l'espace table.]
db2 alter tablspace <ts_name> using stogroup <another sto_group_name>
Example: [Pour passer d'un ancien stogroup à un nouveau stogroup nommé 'sg2' pour le tablespace 'ts1']
db2 alter tablespace ts1 using stogroup sg2
Step 2:
Syntax: [Pour supprimer le stogroup existant]
db2 drop stogorup <stogroup_name>
Example: [Pour supprimer le stogroup 'stg1' de la base de données]
db2 drop stogroup stg1