

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Tâches courantes pour les tablespaces
<a name="db2-managing-tablespaces"></a>

Vous pouvez créer, modifier, renommer ou supprimer des tablespaces pour une base de données RDS for Db2. La création, la modification, le changement de nom ou la suppression de tablespaces nécessitent une autorité `SYSADM` de niveau supérieur, qui n’est pas disponible pour l’utilisateur principal. Utilisez plutôt les procédures stockées Amazon RDS.

**Topics**
+ [Création d’un tablespace](#db2-creating-tablespace)
+ [Modification d’un tablespace](#db2-altering-tablespace)
+ [Changement de nom d’un tablespace](#db2-renaming-tablespace)
+ [Suppression d’un tablespace](#db2-dropping-tablespace)
+ [Vérification du statut d’un tablespace](#db2-checking-tablespaces-procedure)
+ [Renvoi d’informations détaillées sur les tablespaces](#db2-tablespaces-info-db2pd)
+ [Liste de l’état et du groupe de stockage d’un tablespace](#db2-state-storage-group-tablespace-sql)
+ [Liste des tablespaces d’une table](#db2-return-tablespaces-sql)
+ [Liste des conteneurs de tablespaces](#db2-listing-tablespace-containers)

## Création d’un tablespace
<a name="db2-creating-tablespace"></a>

Pour créer un tablespace pour votre base de données RDS for Db2, appelez la procédure stockée `rdsadmin.create_tablespace`. Pour plus d’informations, consultez [Instruction CREATE TABLESPACE](https://www.ibm.com/docs/en/db2/11.5?topic=statements-create-tablespace) dans la documentation IBM Db2.

**Important**  
Pour créer un tablespace vous devez disposer d’un groupe de mémoires tampons de même taille de page à associer au tablespace. Pour plus d’informations, consultez [Tâches courantes pour les pools de mémoires tampons](db2-managing-buffer-pools.md).

**Pour créer un tablespace**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Créez un tablespace en appelant `rdsadmin.create_tablespace`. Pour plus d’informations, consultez [rdsadmin.create\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-create-tablespace). 

   ```
   db2 "call rdsadmin.create_tablespace(
       'database_name', 
       'tablespace_name',
       'buffer_pool_name', 
       tablespace_initial_size, 
       tablespace_increase_size, 
       'tablespace_type')"
   ```

## Modification d’un tablespace
<a name="db2-altering-tablespace"></a>

Pour modifier un tablespace pour votre base de données RDS for Db2, appelez la procédure stockée `rdsadmin.alter_tablespace`. Vous pouvez utiliser cette procédure stockée pour modifier le groupe de mémoires tampons d’un tablespace, abaisser la limite maximale ou mettre un tablespace en ligne. Pour plus d’informations, consultez [Instruction ALTER TABLESPACE](https://www.ibm.com/docs/en/db2/11.5?topic=statements-alter-tablespace) dans la documentation IBM Db2.

**Pour modifier un tablespace**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Modifiez un tablespace en appelant `rdsadmin.alter_tablespace`. Pour plus d’informations, consultez [rdsadmin.alter\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-alter-tablespace). 

   ```
   db2 "call rdsadmin.alter_tablespace(
       'database_name', 
       'tablespace_name', 
       'buffer_pool_name', 
       buffer_pool_size, 
       tablespace_increase_size, 
       'max_size', 'reduce_max', 
       'reduce_stop', 
       'reduce_value', 
       'lower_high_water', 
       'lower_high_water_stop', 
       'switch_online')"
   ```

## Changement de nom d’un tablespace
<a name="db2-renaming-tablespace"></a>

Pour changer le nom d’un tablespace pour votre base de données RDS for Db2, appelez la procédure stockée `rdsadmin.rename_tablespace`. Pour plus d’informations, consultez [Instruction RENAME TABLESPACE](https://www.ibm.com/docs/en/db2/11.5?topic=statements-rename-tablespace) dans la documentation IBM Db2.

**Modification du nom d’un tablespace**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Renommez un tablespace en appelant `rdsadmin.rename_tablespace`. Pour plus d’informations, y compris les restrictions relatives au nom que vous pouvez donner à un tablespace, consultez [rdsadmin.rename\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-rename-tablespace).

   ```
   db2 "call rdsadmin.rename_tablespace(
       'database_name', 
       'source_tablespace_name',
       'target_tablespace_name')"
   ```

## Suppression d’un tablespace
<a name="db2-dropping-tablespace"></a>

Pour supprimer un tablespace pour votre base de données RDS for Db2, appelez la procédure stockée `rdsadmin.drop_tablespace`. Avant de supprimer un espace disque logique, supprimez d'abord tous les objets qu'il contient, tels que des tables, des index ou des objets volumineux (). LOBs Pour plus d’informations, consultez [Suppression de tablespaces](https://www.ibm.com/docs/en/db2/11.5?topic=spaces-dropping-table) dans la documentation IBM Db2.

**Pour supprimer un tablespace**

1. Connectez-vous à la base de données `rdsadmin` à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *master\$1username* et *master\$1password* par vos propres informations.

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. Supprimez un tablespace en appelant `rdsadmin.drop_tablespace`. Pour plus d’informations, consultez [rdsadmin.drop\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-drop-tablespace). 

   ```
   db2 "call rdsadmin.drop_tablespace(
       'database_name', 
       'tablespace_name')"
   ```

## Vérification du statut d’un tablespace
<a name="db2-checking-tablespaces-procedure"></a>

 Vous pouvez vérifier le statut d’un tablespace en utilisant la fonction `cast`.

**Pour vérifier le statut d’un tablespace**

1. Connectez-vous à votre base de données Db2 à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *rds\$1database\$1alias**master\$1username*, et *master\$1password* par vos propres informations.

   ```
   db2 connect to rds_database_alias user master_username using master_password
   ```

1. Renvoyez une sortie récapitulative.

   Pour une sortie récapitulative :

   ```
   db2 "select cast(tbsp_id as smallint) as tbsp_id,
   cast(tbsp_name as varchar(35)) as tbsp_name,
   cast(tbsp_type as varchar(3)) as tbsp_type,
   cast(tbsp_state as varchar(10)) as state,
   cast(tbsp_content_type as varchar(8)) as contents from table(mon_get_tablespace(null,-1)) order by tbsp_id"
   ```

## Renvoi d’informations détaillées sur les tablespaces
<a name="db2-tablespaces-info-db2pd"></a>

Vous pouvez renvoyer des informations sur un tablespace pour un membre ou pour tous les membres à l’aide de la fonction `cast`. 

**Pour renvoyer des informations détaillées sur les tablespaces**

1. Connectez-vous à votre base de données Db2 à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *rds\$1database\$1alias**master\$1username*, et *master\$1password* par vos propres informations.

   ```
   db2 connect to rds_database_alias user master_username using master_password
   ```

1. Renvoyez des informations sur tous les tablespaces de la base de données pour un membre ou pour tous les membres.

   Pour un membre :

   ```
   db2 "select cast(member as smallint) as member,
   cast(tbsp_id as smallint) as tbsp_id,
   cast(tbsp_name as varchar(35)) as tbsp_name,
   cast(tbsp_type as varchar(3)) as tbsp_type,
   cast(tbsp_state as varchar(10)) as state,
   cast(tbsp_content_type as varchar(8)) as contents,
   cast(tbsp_total_pages as integer) as total_pages,
   cast(tbsp_used_pages as integer) as used_pages,
   cast(tbsp_free_pages as integer) as free_pages,
   cast(tbsp_page_top as integer) as page_hwm,
   cast(tbsp_page_size as integer) as page_sz,
   cast(tbsp_extent_size as smallint) as extent_sz,
   cast(tbsp_prefetch_size as smallint) as prefetch_sz,
   cast(tbsp_initial_size as integer) as initial_size,
   cast(tbsp_increase_size_percent as smallint) as increase_pct,
   cast(storage_group_name as varchar(12)) as stogroup from table(mon_get_tablespace(null,-1)) order by member, tbsp_id "
   ```

   Pour tous les membres :

   ```
   db2 "select cast(member as smallint) as member
   cast(tbsp_id as smallint) as tbsp_id,
   cast(tbsp_name as varchar(35)) as tbsp_name,
   cast(tbsp_type as varchar(3)) as tbsp_type,
   cast(tbsp_state as varchar(10)) as state,
   cast(tbsp_content_type as varchar(8)) as contents,
   cast(tbsp_total_pages as integer) as total_pages,
   cast(tbsp_used_pages as integer) as used_pages,
   cast(tbsp_free_pages as integer) as free_pages,
   cast(tbsp_page_top as integer) as page_hwm,
   cast(tbsp_page_size as integer) as page_sz,
   cast(tbsp_extent_size as smallint) as extent_sz,
   cast(tbsp_prefetch_size as smallint) as prefetch_sz,
   cast(tbsp_initial_size as integer) as initial_size,
   cast(tbsp_increase_size_percent as smallint) as increase_pct,
   cast(storage_group_name as varchar(12)) as stogroup from table(mon_get_tablespace(null,-2)) order by member, tbsp_id "
   ```

## Liste de l’état et du groupe de stockage d’un tablespace
<a name="db2-state-storage-group-tablespace-sql"></a>

Vous pouvez répertorier l’état et le groupe de stockage d’un tablespace en exécutant une instruction SQL.

Pour répertorier l’état et le groupe de stockage d’un tablespace, exécutez l’instruction SQL suivante :

```
db2 "SELECT varchar(tbsp_name, 30) as tbsp_name,
                  varchar(TBSP_STATE, 30) state,
                  tbsp_type,
                  varchar(storage_group_name,30) storage_group
FROM TABLE(MON_GET_TABLESPACE('',-2)) AS t"
```

## Liste des tablespaces d’une table
<a name="db2-return-tablespaces-sql"></a>

Vous pouvez répertorier les tablespaces d’une table en exécutant une instruction SQL.

Pour répertorier les tablespaces d’une table, exécutez l’instruction SQL suivante. Dans l'exemple suivant, remplacez *SCHEMA\$1NAME* et par *TABLE\$1NAME* les noms de votre schéma et de votre table :

```
db2 "SELECT 
   VARCHAR(SD.TBSPACE,30) AS DATA_SPACE,
   VARCHAR(SL.TBSPACE,30) AS LONG_SPACE,
   VARCHAR(SI.TBSPACE,30) AS INDEX_SPACE
 FROM 
   SYSCAT.DATAPARTITIONS P 
   JOIN SYSCAT.TABLESPACES SD ON SD.TBSPACEID = P.TBSPACEID 
   LEFT JOIN SYSCAT.TABLESPACES SL ON SL.TBSPACEID = P.LONG_TBSPACEID
   LEFT JOIN SYSCAT.TABLESPACES SI ON SI.TBSPACEID = P.INDEX_TBSPACEID
 WHERE
    TABSCHEMA = 'SCHEMA_NAME'
 AND TABNAME   = 'TABLE_NAME'"
```

## Liste des conteneurs de tablespaces
<a name="db2-listing-tablespace-containers"></a>

Vous pouvez répertorier tous les conteneurs de tablespaces ou des conteneurs de tablespaces spécifiques à l’aide de la commande `cast`.

**Création de la liste des conteneurs d’un tablespace**

1. Connectez-vous à votre base de données Db2 à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l'exemple suivant, remplacez *rds\$1database\$1alias**master\$1username*, et *master\$1password* par vos propres informations :

   ```
   db2 connect to rds_database_alias user master_username using master_password
   ```

1. Renvoyez une liste de tous les conteneurs de tablespaces de la base de données ou de conteneurs de tablespaces spécifiques.

   Pour tous les conteneurs de tablespaces :

   ```
   db2 "select cast(member as smallint) as member,
   cast(tbsp_name as varchar(35)) as tbsp_name,
   cast(container_id as smallint) as id,
   cast(container_name as varchar(60)) as container_path, container_type as type from table(mon_get_container(null,-2)) order by member,tbsp_id,container_id"
   ```

   Pour des conteneurs de tablespaces spécifiques :

   ```
   db2 "select cast(member as smallint) as member,
   cast(tbsp_name as varchar(35)) as tbsp_name,
   cast(container_id as smallint) as id,
   cast(container_name as varchar(60)) as container_path, container_type as type from table(mon_get_container('TBSP_1',-2)) order by member, tbsp_id,container_id"
   ```