

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.

# Utilisation des tablespaces dans RDS pour Oracle
<a name="Appendix.Oracle.CommonDBATasks.TablespacesAndDatafiles"></a>

Vous pouvez utiliser des tablespaces avec RDS pour Oracle, qui est une unité de stockage logique qui stocke les données de la base de données.

**Important**  
Si votre instance de base de données possède des répliques, nous vous recommandons d'utiliser des paramètres de groupe de paramètres plutôt que des modifications au niveau de la session pour gérer les emplacements de fichiers par défaut. Les modifications apportées au niveau de la session aux emplacements de fichiers par défaut dans l'instance principale ne sont pas automatiquement reflétées dans les répliques. L'utilisation de paramètres de groupes de paramètres garantit la cohérence de l'emplacement des fichiers entre vos instances principales et répliquées.

**Topics**
+ [Spécification de l'emplacement des fichiers de base de données dans RDS pour Oracle](#Appendix.Oracle.CommonDBATasks.DatabaseFileLocations)
+ [Création et dimensionnement de tablespaces dans RDS pour Oracle](#Appendix.Oracle.CommonDBATasks.CreatingTablespacesAndDatafiles)
+ [Création de tablespaces sur des volumes de stockage supplémentaires dans RDS pour Oracle](#Appendix.Oracle.CommonDBATasks.CreatingTablespacesWithFileLocations)
+ [Définition du tablespace par défaut dans RDS pour Oracle](#Appendix.Oracle.CommonDBATasks.SettingDefaultTablespace)
+ [Définition du tablespace temporaire par défaut dans RDS pour Oracle](#Appendix.Oracle.CommonDBATasks.SettingDefTempTablespace)
+ [Création d'un espace de table temporaire sur le stockage d'instances](#Appendix.Oracle.CommonDBATasks.creating-tts-instance-store)

## Spécification de l'emplacement des fichiers de base de données dans RDS pour Oracle
<a name="Appendix.Oracle.CommonDBATasks.DatabaseFileLocations"></a>

RDS pour Oracle utilise Oracle Managed Files (OMF) pour nommer les fichiers de base de données. Lorsque vous créez des fichiers de base de données, la base de données détermine le paramètre en fonction du réglage actuel du paramètre d'`DB_CREATE_FILE_DEST`initialisation.

La valeur par défaut du paramètre d'`DB_CREATE_FILE_DEST`initialisation est `/rdsdbdata/db` pour les bases de données autonomes et `/rdsdbdata/db/pdb` pour l'architecture conteneurisée (CDB/MT). Si votre instance de base de données possède des volumes de stockage supplémentaires, vous pouvez `DB_CREATE_FILE_DEST` définir l'emplacement de vos volumes. Par exemple, si un volume est monté sur votre instance`/rdsdbdata/db`, vous pouvez `DB_CREATE_FILE_DEST` définir cette valeur.

Vous pouvez modifier le `DB_CREATE_FILE_DEST` paramètre au niveau de la session ou au niveau de l'instance de base de données Oracle.

### Modification de DB\$1CREATE\$1FILE\$1SET au niveau de l'instance
<a name="Appendix.Oracle.CommonDBATasks.InstanceLevelModification"></a>

Pour modifier le paramètre au niveau de l'instance, mettez-le à jour dans le groupe de paramètres attribué à votre instance de base de données et appliquez-le. Pour plus d’informations, consultez [Paramètres d’initialisation RDS for Oracle](Oracle.Concepts.FeatureSupport.Parameters.md) et [Modification de paramètres dans un groupe de paramètres de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

### Modification de DB\$1CREATE\$1FILE\$1DEST au niveau de la session
<a name="Appendix.Oracle.CommonDBATasks.SessionLevelModification"></a>

Vous pouvez modifier le paramètre au niveau de la session en exécutant une `ALTER SESSION` instruction. Cette approche est utile lorsque vous souhaitez créer des fichiers de base de données dans un emplacement spécifique pour une session donnée sans affecter l'ensemble de l'instance.

L'exemple suivant montre comment vérifier la valeur actuelle du paramètre et la modifier pour la session :

```
SHOW PARAMETER db_create_file_dest

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest                  string      /rdsdbdata/db

ALTER SESSION SET db_create_file_dest = '/rdsdbdata2/db';

Session altered.

SHOW PARAMETER db_create_file_dest

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest                  string      /rdsdbdata2/db
```

## Création et dimensionnement de tablespaces dans RDS pour Oracle
<a name="Appendix.Oracle.CommonDBATasks.CreatingTablespacesAndDatafiles"></a>

Lorsque vous créez des tablespaces, la base de données crée les fichiers de données dans le volume de stockage spécifié par le paramètre d'`DB_CREATE_FILE_DEST`initialisation au moment de la création. Par défaut, si vous ne spécifiez pas de taille de fichier de données, les espaces de table sont créés avec `AUTOEXTEND ON` par défaut et sans taille maximum. Dans l'exemple suivant, le tablespace *users1* est autoextensible.

```
CREATE TABLESPACE users1;
```

A cause de ces paramètres par défaut, les espaces de table peuvent se développer pour utiliser l'ensemble du stockage alloué. Nous vous recommandons de spécifier une taille maximum appropriée sur les espaces de table permanents et temporaires, et de surveiller attentivement l'utilisation de l'espace. 

L'exemple suivant crée un tablespace nommé *users2* avec une taille initiale de 1 gigaoctet. Puisque la taille du fichier de données est spécifiée, mais pas `AUTOEXTEND ON`, l'espace de tables n'est pas auto-extensible.

```
CREATE TABLESPACE users2 DATAFILE SIZE 1G;
```

L'exemple suivant crée un tablespace nommé *users3* avec une taille initiale de 1 gigaoctet, l'extension automatique activée et une taille maximale de 10 gigaoctets.

```
CREATE TABLESPACE users3 DATAFILE SIZE 1G AUTOEXTEND ON MAXSIZE 10G;
```

L'exemple suivant crée un tablespace temporaire nommé. *temp01*

```
CREATE TEMPORARY TABLESPACE temp01;
```

Vous pouvez redimensionner un espace de table bigfile en utilisant `ALTER TABLESPACE`. Vous pouvez spécifier la taille en kilo-octets (Ko), mégaoctets (Mo), gigaoctets (Go) ou téraoctets (To). L'exemple suivant redimensionne un espace de table bigfile nommé *users\$1bf* pour qu'il fasse 200 Mo.

```
ALTER TABLESPACE users_bf RESIZE 200M;
```

L'exemple suivant ajoute un fichier de données supplémentaire à un tablespace de type smallfile nommé. *users\$1sf*

```
ALTER TABLESPACE users_sf ADD DATAFILE SIZE 100000M AUTOEXTEND ON NEXT 250m MAXSIZE UNLIMITED;
```

## Création de tablespaces sur des volumes de stockage supplémentaires dans RDS pour Oracle
<a name="Appendix.Oracle.CommonDBATasks.CreatingTablespacesWithFileLocations"></a>

Pour créer un espace disque logique sur un volume de stockage supplémentaire, modifiez le `DB_CREATE_FILE_DEST` paramètre en fonction de l'emplacement du volume. L'exemple suivant définit l'emplacement du fichier sur`/rdsdbdata2/db`.

```
ALTER SESSION SET db_create_file_dest = '/rdsdbdata2/db';

Session altered.
```

Dans l'exemple suivant, vous créez un tablespace sur le volume supplémentaire. `/rdsdbdata2/db`

```
CREATE TABLESPACE new_tablespace DATAFILE SIZE 10G;

Tablespace created.

SELECT tablespace_name,file_id,file_name FROM dba_data_files
WHERE tablespace_name = 'NEW_TABLESPACE';

TABLESPACE_NAME              FILE_ID FILE_NAME
------------------------- ---------- --------------------------------------------------------------------------------
NEW_TABLESPACE                     7 /rdsdbdata2/db/ORCL_A/datafile/o1_mf_newtable_a123b4c5_.dbf
```

Pour créer un espace disque logique de petite taille et répartir ses fichiers de données sur différents volumes de stockage, ajoutez des fichiers de données au tablespace après l'avoir créé. Dans l'exemple suivant, vous créez un tablespace avec les fichiers de données à l'emplacement par défaut de. `/rdsdbdata/db` Vous définissez ensuite la destination par défaut sur`/rdsdbdata/db2`. Lorsque vous ajoutez un fichier de données au tablespace que vous venez de créer, la base de données stocke le fichier dans. `/rdsdbdata/db2`

```
ALTER SESSION SET db_create_file_dest = '/rdsdbdata/db';

Session altered.

CREATE SMALLFILE TABLESPACE smalltbs DATAFILE SIZE 10G;

Tablespace created.

SELECT tablespace_name,file_id,file_name FROM dba_data_files
WHERE tablespace_name = 'SMALLTBS';

TABLESPACE_NAME              FILE_ID FILE_NAME
------------------------- ---------- --------------------------------------------------------------------------------
SMALLTBS                           8 /rdsdbdata/db/ORCL_A/datafile/o1_mf_smalltbs_n563yryk_.dbf

ALTER SESSION SET db_create_file_dest = '/rdsdbdata2/db';

Session altered.

ALTER TABLESPACE smalltbs ADD DATAFILE SIZE 10G;

Tablespace altered.

SELECT tablespace_name,file_id,file_name FROM dba_data_files
WHERE tablespace_name = 'SMALLTBS';

TABLESPACE_NAME              FILE_ID FILE_NAME
------------------------- ---------- --------------------------------------------------------------------------------
SMALLTBS                           8 /rdsdbdata/db/ORCL_A/datafile/o1_mf_smalltbs_n563yryk_.dbf
SMALLTBS                           9 /rdsdbdata2/db/ORCL_A/datafile/o1_mf_smalltbs_n564004g_.dbf
```

## Définition du tablespace par défaut dans RDS pour Oracle
<a name="Appendix.Oracle.CommonDBATasks.SettingDefaultTablespace"></a>

Pour définir l'espace de table par défaut, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.alter_default_tablespace`. La procédure `alter_default_tablespace` possède les paramètres suivants. 


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `tablespace_name`  |  varchar  |  —  |  Oui  |  Nom de l'espace de table par défaut.  | 

L'exemple suivant définit le tablespace par défaut sur : *users2* 

```
EXEC rdsadmin.rdsadmin_util.alter_default_tablespace(tablespace_name => 'users2');
```

## Définition du tablespace temporaire par défaut dans RDS pour Oracle
<a name="Appendix.Oracle.CommonDBATasks.SettingDefTempTablespace"></a>

Pour définir l'espace de table temporaire par défaut, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.alter_default_temp_tablespace`. La procédure `alter_default_temp_tablespace` possède les paramètres suivants. 


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `tablespace_name`  |  varchar  |  —  |  Oui  |  Nom de l'espace de table temporaire par défaut.  | 

L'exemple suivant définit le tablespace temporaire par défaut sur. *temp01* 

```
EXEC rdsadmin.rdsadmin_util.alter_default_temp_tablespace(tablespace_name => 'temp01');
```

## Création d'un espace de table temporaire sur le stockage d'instances
<a name="Appendix.Oracle.CommonDBATasks.creating-tts-instance-store"></a>

Pour créer un espace de table temporaire sur le stockage d'instances, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.create_inst_store_tmp_tblspace`. La procédure `create_inst_store_tmp_tblspace` possède les paramètres suivants. 


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_tablespace_name`  |  varchar  |  —  |  Oui  |  Nom de l'espace de table temporaire.  | 

L'exemple suivant crée le tablespace temporaire *temp01* dans le magasin d'instances. 

```
EXEC rdsadmin.rdsadmin_util.create_inst_store_tmp_tblspace(p_tablespace_name => 'temp01');
```

**Important**  
Lorsque vous exécutez `rdsadmin_util.create_inst_store_tmp_tblspace`, l'espace de table temporaire nouvellement créé n'est pas automatiquement défini comme l'espace de table temporaire par défaut. Pour le définir comme valeur par défaut, consultez [Définition du tablespace temporaire par défaut dans RDS pour Oracle](#Appendix.Oracle.CommonDBATasks.SettingDefTempTablespace).

Pour de plus amples informations, veuillez consulter [Stockage de données temporaires dans un stockage d'instances RDS for Oracle](CHAP_Oracle.advanced-features.instance-store.md).