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