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
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.
Rubriques
Spécification de l'emplacement des fichiers de base de données dans RDS pour Oracle
Création et dimensionnement de tablespaces dans RDS pour Oracle
Création de tablespaces sur des volumes de stockage supplémentaires dans RDS pour Oracle
Définition du tablespace temporaire par défaut dans RDS pour Oracle
Création d'un espace de table temporaire sur le stockage d'instances
Spécification de l'emplacement des fichiers de base de données dans RDS pour Oracle
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_DESTinitialisation.
La valeur par défaut du paramètre d'DB_CREATE_FILE_DESTinitialisation 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_CREATE_FILE_SET au niveau de l'instance
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 et Modification de paramètres dans un groupe de paramètres de base de données dans Amazon RDS.
Modification de DB_CREATE_FILE_DEST au niveau de la session
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
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_DESTinitialisation 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 TABLESPACEusers1;
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 TABLESPACEusers2DATAFILE SIZE1G;
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 TABLESPACEusers3DATAFILE SIZE1GAUTOEXTEND ON MAXSIZE10G;
L'exemple suivant crée un tablespace temporaire nommé. temp01
CREATE TEMPORARY TABLESPACEtemp01;
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_bf pour qu'il fasse 200 Mo.
ALTER TABLESPACEusers_bfRESIZE200M;
L'exemple suivant ajoute un fichier de données supplémentaire à un tablespace de type smallfile nommé. users_sf
ALTER TABLESPACEusers_sfADD DATAFILE SIZE100000MAUTOEXTEND ON NEXT250mMAXSIZEUNLIMITED;
Création de tablespaces sur des volumes de stockage supplémentaires dans RDS pour Oracle
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
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 |
|---|---|---|---|---|
|
|
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
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 |
|---|---|---|---|---|
|
|
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
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 |
|---|---|---|---|---|
|
|
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.
Pour de plus amples informations, veuillez consulter Stockage de données temporaires dans un stockage d'instances RDS for Oracle.