

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.

# Amazon RDS for Oracle
<a name="CHAP_Oracle"></a>

Amazon RDS prend en charge les instances de base de données qui exécutent les versions et éditions d'Oracle Database suivantes :
+ Oracle Database 21c (21.0.0.0)
+ Oracle Database 19c (19.0.0.0)

**Note**  
Oracle Database 11g, Oracle Database 12c et Oracle Database 18c sont des versions héritées qui ne sont plus prises en charge dans Amazon RDS.

Avant de créer une instance de base de données, suivez la procédure de la section [Configuration de votre environnement Amazon RDS](CHAP_SettingUp.md) du présent guide. Lorsque vous créez une instance de base de données à l'aide de votre compte principal, le compte bénéficie des privilèges DBA, avec certaines limitations. Utilisez ce compte pour des tâches administratives telles que la création de comptes de base de données supplémentaires. Vous ne pouvez pas utiliser SYS, SYSTEM ou d'autres comptes administratifs fournis par Oracle.

Vous pouvez créer ce qui suit :
+ Instances DB
+ Instantanés de base de données
+ Point-in-time restaure
+ Sauvegardes automatiques
+ Sauvegardes manuelles

Vous pouvez utiliser des instances de base de données exécutant Oracle Database dans un VPC. Vous pouvez également ajouter des fonctionnalités à votre instance de base de données en activant diverses options comme Oracle Spatial ou Oracle Statspack. Amazon RDS prend en charge les déploiements Multi-AZ pour Oracle comme solution de basculement haute disponibilité.

**Important**  
Pour offrir une expérience de service géré, Amazon RDS ne fournit pas l'accès shell aux instances de base de données. Il restreint également l'accès à certaines procédures système et tables qui nécessitent des privilèges avancés. Vous pouvez accéder à votre base de données en utilisant des client SQL standard tels qu'Oracle SQL\$1Plus. Toutefois, vous ne pouvez pas accéder directement à l'hôte en utilisant Telnet ou Secure Shell (SSH).

**Topics**
+ [

# Présentation d'Oracle sur Amazon RDS
](Oracle.Concepts.overview.md)
+ [

# Connexion à votre instance de base de données Oracle
](USER_ConnectToOracleInstance.md)
+ [

# Sécurisation des connexions d'instance de base de données Oracle
](Oracle.Concepts.RestrictedDBAPrivileges.md)
+ [

# Utilisation des CDB dans RDS for Oracle
](oracle-multitenant.md)
+ [

# Administration de votre instance de base de données RDS for Oracle
](Appendix.Oracle.CommonDBATasks.md)
+ [

# Utilisation du stockage dans RDS pour Oracle
](User_Oracle_AdditionalStorage.md)
+ [

# Configuration des fonctions avancées RDS for Oracle
](CHAP_Oracle.advanced-features.md)
+ [

# Importation de données dans Oracle sur Amazon RDS
](Oracle.Procedural.Importing.md)
+ [

# Utilisation de réplicas en lecture pour Amazon RDS for Oracle
](oracle-read-replicas.md)
+ [

# Ajout d'options aux instances de base de données Oracle
](Appendix.Oracle.Options.md)
+ [

# Mise à niveau du moteur de base de données RDS for Oracle
](USER_UpgradeDBInstance.Oracle.md)
+ [

# Utilisation d'un logiciel tiers avec votre instance de base de données RDS for Oracle
](Oracle.Resources.md)
+ [

# Notes de mise à jour pour le moteur de base de données Oracle
](USER_Oracle_Releases.md)

# Présentation d'Oracle sur Amazon RDS
<a name="Oracle.Concepts.overview"></a>

Vous pouvez lire les sections suivantes pour obtenir une vue d'ensemble de RDS for Oracle.

**Topics**
+ [

# Fonctions RDS for Oracle
](Oracle.Concepts.FeatureSupport.md)
+ [

# Versions RDS for Oracle
](Oracle.Concepts.database-versions.md)
+ [

# Options de licence RDS for Oracle
](Oracle.Concepts.Licensing.md)
+ [

# Utilisateurs et privilèges RDS for Oracle
](Oracle.Concepts.Privileges.md)
+ [

# Classes d’instance de base de données RDS for Oracle
](Oracle.Concepts.InstanceClasses.md)
+ [

# Architecture de base de données RDS for Oracle
](oracle-multi-architecture.md)
+ [

# Paramètres d’initialisation RDS for Oracle
](Oracle.Concepts.FeatureSupport.Parameters.md)
+ [

# Jeux de caractères RDS for Oracle
](Appendix.OracleCharacterSets.md)
+ [

# Limitations RDS for Oracle
](Oracle.Concepts.limitations.md)

# Fonctions RDS for Oracle
<a name="Oracle.Concepts.FeatureSupport"></a>

Amazon RDS for Oracle prend en charge la plupart des fonctionnalités et des capacités d'Oracle Database. Certaines fonctions peuvent avoir une prise en charge limitée ou des privilèges restreints. Certaines fonctions sont disponibles uniquement dans Enterprise Edition et certaines fonctions nécessitent des licences supplémentaires. Pour plus d'informations sur les fonctions Oracle Database pour des versions d'Oracle Database spécifiques, consultez le document *Oracle Database Licensing Information User Manual* pour la version que vous utilisez.

**Topics**
+ [

## Nouvelles fonctions RDS for Oracle
](#Oracle.Concepts.FeatureSupport.new)
+ [

## Fonctions prises en charge dans RDS for Oracle
](#Oracle.Concepts.FeatureSupport.supported)
+ [

## Fonctions non prises en charge dans RDS for Oracle
](#Oracle.Concepts.FeatureSupport.unsupported)

## Nouvelles fonctions RDS for Oracle
<a name="Oracle.Concepts.FeatureSupport.new"></a>

Pour voir les nouvelles fonctionnalités de RDS for Oracle, recherchez [Historique du document](WhatsNew.md) pour le mot-clé **Oracle**.

## Fonctions prises en charge dans RDS for Oracle
<a name="Oracle.Concepts.FeatureSupport.supported"></a>

Amazon RDS for Oracle prend en charge les fonctions Oracle Database suivantes :

**Note**  
La liste suivante n’est pas exhaustive.
+ Advanced Compression
+ Oracle Application Express (APEX)

  Pour plus d’informations, consultez [Oracle Application Express (APEX)](Appendix.Oracle.Options.APEX.md).
+ Automatic Memory Management
+ Automatic Undo Management
+ Automatic Workload Repository (AWR)

  Pour de plus amples informations, veuillez consulter [Génération de rapports de performance avec AWR (Automatic Workload Repository)](Appendix.Oracle.CommonDBATasks.AWR.md).
+ Protection active des données avec des performances maximales dans la même AWS région ou dans plusieurs AWS régions

  Pour de plus amples informations, veuillez consulter [Utilisation de réplicas en lecture pour Amazon RDS for Oracle](oracle-read-replicas.md).
+ Tables blockchain (Oracle Database 21c et plus)

  Pour plus d'informations, reportez-vous à la section [Managing Blockchain Tables](https://docs.oracle.com/en/database/oracle/oracle-database/21/admin/managing-tables.html#GUID-43470B0C-DE4A-4640-9278-B066901C3926) (Gestion des tables de blockchain) dans la documentation relative à la base de données Oracle.
+ Notification continue des requêtes

  Pour plus d’informations, consultez [Using Continuous Query Notification (CQN)](https://docs.oracle.com/en/database/oracle/oracle-database/19/adfns/cqn.html#GUID-373BAF72-3E63-42FE-8BEA-8A2AEFBF1C35) dans la documentation Oracle.
+ Data Redaction
+ Notification continue des requêtes

  Pour plus d’informations, consultez [ Database Change Notification](https://docs.oracle.com/cd/E11882_01/java.112/e16548/dbchgnf.htm#JJDBC28815) dans la documentation Oracle.
+ Base de données en mémoire
+ Transactions et requêtes distribuées
+ Redéfinition basée sur l'édition

  Pour plus d’informations, consultez [Définition de l'édition par défaut d'une instance de base de données](Appendix.Oracle.CommonDBATasks.DefaultEdition.md).
+ EM Express (version 12c et ultérieures)

  Pour plus d’informations, consultez [Oracle Enterprise Manager](Oracle.Options.OEM.md).
+ Fine-Grained Auditing
+ Flashback Table, Flashback Query, Flashback Transaction Query
+ Renouvellement progressif du mot de passe pour les applications (Oracle Database 21c et ultérieures)

  Pour plus d'informations, reportez-vous à la rubrique [Managing Gradual Database Password Rollover for Applications ](https://docs.oracle.com/en/database/oracle/oracle-database/19/dbseg/configuring-authentication.html#GUID-ACBA8DAE-C5B4-4811-A31D-53B97C50249B) (Gestion du transfert progressif du mot de passe de la base de données pour les applications) dans la documentation relative à la base de données Oracle.
+ HugePages

  Pour de plus amples informations, veuillez consulter [Activation de HugePages pour une instance RDS for Oracle](Oracle.Concepts.HugePages.md).
+ Import/export (existant et Data Pump) et SQL\$1Loader

  Pour plus d'informations, consultez [Importation de données dans Oracle sur Amazon RDS](Oracle.Procedural.Importing.md).
+ Java Virtual Machine (JVM)

  Pour de plus amples informations, veuillez consulter [Oracle Java Virtual Machine](oracle-options-java.md).
+ JavaScript (Oracle Database 21c et versions ultérieures)

  Pour plus d'informations, consultez [DBMS\$1MLE](https://docs.oracle.com/en/database/oracle/oracle-database/21/arpls/dbms_mle.html#GUID-3F5B47A5-2C73-4317-ACD7-E93AE8B8E301) dans la documentation de la base de données Oracle.
+ Label Security

  Pour plus d’informations, consultez [Oracle Label Security](Oracle.Options.OLS.md).
+ Locator

  Pour plus d'informations, consultez [Oracle Locator](Oracle.Options.Locator.md).
+ Vues matérialisées
+ Locataires multiples

  L’architecture multilocataire Oracle est prise en charge pour toutes les versions 19c et ultérieures d’Oracle Database. Pour plus d’informations, consultez [Utilisation des CDB dans RDS for Oracle](oracle-multitenant.md).
+ Chiffrement de réseau

  Pour plus d’informations, consultez [Oracle NNE (Native Network Encryption)](Appendix.Oracle.Options.NetworkEncryption.md) et [Oracle Secure Sockets Layer (SSL)](Appendix.Oracle.Options.SSL.md).
+ Partitioning
+ Real Application Testing

  Pour utiliser toutes les fonctionnalités de capture et de rediffusion, vous devez utiliser Amazon Elastic File System (Amazon EFS) pour accéder aux fichiers générés par Oracle Real Application Testing. Pour plus d’informations, consultez [Intégration Amazon EFS](oracle-efs-integration.md) et le billet de blog [Utilisation des fonctionnalités d’Oracle Real Application Testing avec Amazon RDS for Oracle](https://aws.amazon.com/blogs/database/use-oracle-real-application-testing-features-with-amazon-rds-for-oracle/).
+ Partitionnement au niveau de l’application (mais pas la fonctionnalité Oracle Sharding)
+ Spatial et Graph

  Pour plus d'informations, consultez [Oracle Spatial](Oracle.Options.Spatial.md).
+ Star Query Optimization
+ Streams et Advanced Queuing
+ Summary Management – Materialized View Query Rewrite
+ Text (les magasins de données de type fichier et URL ne sont pas pris en charge)
+ Total Recall
+ Transparent Data Encryption (TDE) (Chiffrement transparent des données)

  Pour plus d’informations, consultez [Oracle Transparent Data Encryption](Appendix.Oracle.Options.AdvSecurity.md).
+ Audit unifié, mode mixte

  Pour plus d'informations, consultez [Mixed Mode Auditing](https://docs.oracle.com/en/database/oracle/oracle-database/19/dbseg/introduction-to-auditing.html#GUID-4A3AEFC3-5422-4320-A048-8219EC96EAC1) dans la documentation Oracle.
+ XML DB (sans XML DB Protocol Server)

  Pour plus d'informations, consultez [Oracle XML DB](Appendix.Oracle.Options.XMLDB.md).
+ Virtual Private Database

## Fonctions non prises en charge dans RDS for Oracle
<a name="Oracle.Concepts.FeatureSupport.unsupported"></a>

Amazon RDS for Oracle ne prend pas en charge les fonctions Oracle Database suivantes :

**Note**  
La liste suivante n’est pas exhaustive.
+ Automatic Storage Management (ASM)
+ Database Vault
+ Flashback Database
**Note**  
Pour des solutions alternatives, consultez l'article du blog AWS de base de données [Alternatives à la fonctionnalité de base de données Oracle Flashback dans Amazon RDS](https://aws.amazon.com/blogs/database/alternatives-to-the-oracle-flashback-database-feature-in-amazon-rds-for-oracle/) for Oracle.
+ FTP et SFTP
+ Tables partitionnées hybrides
+ Passerelle de messagerie
+ Oracle Enterprise Manager Cloud Control Management Repository
+ Real Application Clusters (Oracle RAC)
+ Real Application Security (RAS)
+ Audit unifié, Pure Mode
+ Schéma Workspace Manager (WMSYS)

**Avertissement**  
En général, Amazon RDS ne vous empêche pas de créer des schémas pour des fonctions non prises en charge. Toutefois, si vous créez des schémas pour des fonctions et des composants Oracle nécessitant des privilèges SYSDBA, vous pouvez endommager le dictionnaire de données et affecter la disponibilité de votre instance de base de données. Utilisez uniquement les fonctions et schémas pris en charge et disponibles dans [Ajout d'options aux instances de base de données Oracle](Appendix.Oracle.Options.md).

# Versions RDS for Oracle
<a name="Oracle.Concepts.database-versions"></a>

RDS for Oracle prend en charge plusieurs versions d’Oracle Database.

**Note**  
Pour plus d'informations sur la mise à jour de vos versions, consultez [Mise à niveau du moteur de base de données RDS for Oracle](USER_UpgradeDBInstance.Oracle.md).

**Topics**
+ [

## Oracle Database 21c avec Amazon RDS
](#Oracle.Concepts.FeatureSupport.21c)
+ [

## Oracle Database 19c avec Amazon RDS
](#Oracle.Concepts.FeatureSupport.19c)

## Oracle Database 21c avec Amazon RDS
<a name="Oracle.Concepts.FeatureSupport.21c"></a>

Amazon RDS prend en charge Oracle Database 21c, qui inclut Oracle Enterprise Edition et Oracle Standard Edition 2. Oracle Database 21c (21.0.0.0) inclut beaucoup de nouvelles fonctions et mises à jour à partir de la version précédente. L'un des principaux changements est que Oracle Database 21c ne prend en charge que l'architecture multilocation : vous ne pouvez plus créer de base de données en tant que base non CDB traditionnelle. Pour en savoir plus sur les différences entre CDBs et nonCDBs, voir[Limites de RDS pour Oracle CDBs](Oracle.Concepts.CDBs.md#Oracle.Concepts.single-tenant-limitations).

Cette section couvre les fonctions et modifications importantes liées à l'utilisation d'Oracle Database 21c (21.0.0.0) sur Amazon RDS. Pour obtenir la liste complète des évolutions, consultez la documentation [Oracle Database 21c](https://docs.oracle.com/en/database/oracle/oracle-database/21/index.html). Pour obtenir la liste complète des fonctionnalités prises en charge par chaque édition d’Oracle Database 21c, consultez [Permitted Features, Options, and Management Packs by Oracle Database Offering](https://docs.oracle.com/en/database/oracle/oracle-database/21/dblic/Licensing-Information.html) dans la documentation Oracle.

### Modifications des paramètres Amazon RDS for Oracle Database 21c (21.0.0.0)
<a name="Oracle.Concepts.FeatureSupport.21c.parameters"></a>

Oracle Database 21c (21.0.0.0) comporte plusieurs nouveaux paramètres ainsi que des paramètres présentant de nouvelles plages et de nouvelles valeurs par défaut.

**Topics**
+ [

#### Nouveaux paramètres
](#Oracle.Concepts.FeatureSupport.21c.parameters.new)
+ [

#### Modifications apportées au paramètre compatible
](#Oracle.Concepts.FeatureSupport.21c.parameters.compatible)
+ [

#### Paramètres supprimés
](#Oracle.Concepts.FeatureSupport.21c.parameters.removed)

#### Nouveaux paramètres
<a name="Oracle.Concepts.FeatureSupport.21c.parameters.new"></a>

Le tableau suivant indique les nouveaux paramètres Amazon RDS for Oracle Database 21c (21.0.0.0).


****  

|  Nom  |  Plage de valeurs  | Valeur par défaut |  Adaptabilité  |  Description  | 
| --- | --- | --- | --- | --- | 
|    [blockchain\$1table\$1max\$1no\$1drop](https://docs.oracle.com/en/database/oracle/oracle-database/21/refrn/BLOCKCHAIN_TABLE_MAX_NO_DROP.html#GUID-26AF15B2-5621-4602-AA6E-D92842E4285C)    |  `NONE \| 0`  |  `NONE`  |  Y  |  Vous permet de contrôler la durée maximale d'inactivité pouvant être spécifiée lors de la création d'une table blockchain.  | 
|  [dbnest\$1enable](https://docs.oracle.com/en/database/oracle/oracle-database/21/refrn/DBNEST_ENABLE.html#GUID-2F30C9D3-808E-42CD-ADA6-595FAE518A60)  |  `NONE \| CDB_RESOURCE_PDB_ALL`  |  `NONE`  |  N  |  Permet d'activer ou de désactiver DBNest. DbNest assure l'isolation et la gestion des ressources du système d'exploitation, l'isolation du système de fichiers et la sécurité informatique pour PDBs.   | 
|  [dbnest\$1pdb\$1fs\$1conf](https://docs.oracle.com/en/database/oracle/oracle-database/21/refrn/DBNEST_PDB_FS_CONF.html)  |  `NONE \| pathname`  |  `NONE`  |  N  |  Spécifie le fichier de configuration du système de fichiers dbNest pour une PDB.   | 
|  [diagnostics\$1control](https://docs.oracle.com/en/database/oracle/oracle-database/21/refrn/DIAGNOSTICS_CONTROL.html)  |  `ERROR \| WARNING \| IGNORE`  | IGNORE |  Y  |  Vous permet de contrôler et de surveiller les utilisateurs qui effectuent des opérations de diagnostic de la base de données potentiellement dangereuses.  | 
|  [drcp\$1dedicated\$1opt](https://docs.oracle.com/en/database/oracle/oracle-database/21/refrn/DRCP_DEDICATED_OPT.html)  |  `YES \| NO`  | YES |  Y  |  Active ou désactive l’utilisation de l’optimisation dédiée avec le Database Resident Connection Pooling (Regroupement des connexions résidant dans la base de données) (DRCP).  | 
|  [enable\$1per\$1pdb\$1drcp](https://docs.oracle.com/en/database/oracle/oracle-database/21/refrn/ENABLE_PER_PDB_DRCP.html)  |  `true \| false`  |  `true`  |  N  |  Contrôle si le Database Resident Connection Pooling (Regroupement des connexions résidant dans la base de données) (DRCP) configure un regroupement de connexion pour l’ensemble de la CDB ou un regroupement de connexion isolé pour chaque PDB.  | 
|  [inmemory\$1deep\$1vectorization](https://docs.oracle.com/en/database/oracle/oracle-database/21/refrn/INMEMORY_DEEP_VECTORIZATION.html#GUID-59E87FDC-1DB4-4ACD-A807-D0C1AE44210D)  |  `true \| false`  |  `true`  |  Y  |  Active ou désactive le cadre de vectorisation profonde.  | 
|  [mandatory\$1user\$1profile](https://docs.oracle.com/en/database/oracle/oracle-database/21/refrn/MANDATORY_USER_PROFILE.html)  |  *profile\$1name*  |  N/A  |  N  |  Spécifie le profil utilisateur obligatoire pour une CDB ou une PDB.  | 
|  [optimizer\$1capture\$1sql\$1quarantine](https://docs.oracle.com/en/database/oracle/oracle-database/21/refrn/OPTIMIZER_CAPTURE_SQL_QUARANTINE.html)  |  `true \| false`  |  `false`  |  Y  |  Active ou désactive le cadre de vectorisation profonde.  | 
|  [optimizer\$1use\$1sql\$1quarantine](https://docs.oracle.com/en/database/oracle/oracle-database/21/refrn/OPTIMIZER_CAPTURE_SQL_QUARANTINE.html#GUID-9DBBDBD3-2AA3-4627-9D3A-5330F447BEBB)  |  `true \| false`  |  `false`  |  Y  |  Active ou désactive la création automatique des configurations de la quarantaine SQL.   | 
|  [result\$1cache\$1execution\$1threshold](https://docs.oracle.com/en/database/oracle/oracle-database/21/refrn/RESULT_CACHE_EXECUTION_THRESHOLD.html)  |  `0` sur `68719476736`  |  `2`  |  Y  |  Spécifie le nombre maximal de fois qu'une PL/SQL fonction peut être exécutée avant que son résultat ne soit stocké dans le cache des résultats.   | 
|  [result\$1cache\$1max\$1temp\$1result](https://docs.oracle.com/en/database/oracle/oracle-database/21/refrn/RESULT_CACHE_MAX_TEMP_RESULT.html)  |  `0` sur `100`  |  `5`  |  Y  |  Spécifie le pourcentage de `RESULT_CACHE_MAX_TEMP_SIZE` qu'un seul résultat de requête mis en cache peut consommer.   | 
|  [result\$1cache\$1max\$1temp\$1size](https://docs.oracle.com/en/database/oracle/oracle-database/21/refrn/RESULT_CACHE_MAX_TEMP_SIZE.html)  |  `0` sur `2199023255552`  |  `RESULT_CACHE_SIZE * 10`  |  Y  |  Spécifie la quantité maximale d'espace disque logique temporaire (en octets) qui peut être consommée par la mise en cache des résultats.   | 
|  [sga\$1min\$1size](https://docs.oracle.com/en/database/oracle/oracle-database/21/refrn/SGA_MIN_SIZE.html)  |  `0` à `2199023255552` (la valeur maximale est de 50 % de `sga_target`)  |  `0`  |  Y  |  Indique une valeur minimale possible pour l'utilisation de la SGA d'une base de données enfichable (PDB).  | 
|  [tablespace\$1encryption\$1default\$1algorithm](https://docs.oracle.com/en/database/oracle/oracle-database/21/refrn/TABLESPACE_ENCRYPTION_DEFAULT_ALGORITHM.html)  |  `GOST256 \| SEED128 \| ARIA256 \| ARIA192 \| ARIA128 \| 3DES168 \| AES256 \| AES192 \| AES128`  | AES128 |  Y  |  Spécifie l'algorithme par défaut que la base de données utilise lors du chiffrement d'un espace disque logique.   | 

#### Modifications apportées au paramètre compatible
<a name="Oracle.Concepts.FeatureSupport.21c.parameters.compatible"></a>

Le paramètre `compatible` a une nouvelle valeur maximale pour Oracle Database 21c (21.0.0.0) sur Amazon RDS. Le tableau suivant présente la nouvelle valeur par défaut.


****  

|  Nom du paramètre  |  Valeur maximale pour Oracle Database 21c (21.0.0.0)  | 
| --- | --- | 
|  [ compatible](https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/COMPATIBLE.html#GUID-6C57EE11-BD06-4BB8-A0F7-D6CDDD086FA9)  |  21,0,0  | 

#### Paramètres supprimés
<a name="Oracle.Concepts.FeatureSupport.21c.parameters.removed"></a>

Les paramètres suivants ont été supprimés dans Oracle Database 21c (21.0.0.0) :
+ `remote_os_authent`
+ `sec_case_sensitive_logon`
+ `unified_audit_sga_queue_size`

## Oracle Database 19c avec Amazon RDS
<a name="Oracle.Concepts.FeatureSupport.19c"></a>

Amazon RDS prend en charge Oracle Database 19c, qui inclut Oracle Enterprise Edition et Oracle Standard Edition Two.

Oracle Database 19c (19.0.0.0) inclut beaucoup de nouvelles fonctions et mises à jour à partir de la version précédente. Cette section couvre les fonctions et modifications importantes liées à l'utilisation d'Oracle Database 19c (19.0.0.0) sur Amazon RDS. Pour obtenir la liste complète des évolutions, consultez la documentation [Oracle Database 19c](https://docs.oracle.com/en/database/oracle/oracle-database/19/index.html). Pour obtenir la liste complète des fonctionnalités prises en charge par chaque édition d’Oracle Database 19c, consultez [Permitted Features, Options, and Management Packs by Oracle Database Offering](https://docs.oracle.com/en/database/oracle/oracle-database/19/dblic/Licensing-Information.html#GUID-0F9EB85D-4610-4EDF-89C2-4916A0E7AC87) dans la documentation Oracle. 

### Modifications des paramètres Amazon RDS for Oracle Database 19c (19.0.0.0)
<a name="Oracle.Concepts.FeatureSupport.19c.Parameters"></a>

Oracle Database 19c (19.0.0.0) comporte plusieurs nouveaux paramètres ainsi que des paramètres présentant de nouvelles plages et de nouvelles valeurs par défaut.

**Topics**
+ [

#### Nouveaux paramètres
](#Oracle.Concepts.FeatureSupport.19c.Parameters.new)
+ [

#### Modifications apportées au paramètre compatible
](#Oracle.Concepts.FeatureSupport.19c.Parameters.compatible)
+ [

#### Paramètres supprimés
](#Oracle.Concepts.FeatureSupport.19c.Parameters.compatible.removed-parameters)

#### Nouveaux paramètres
<a name="Oracle.Concepts.FeatureSupport.19c.Parameters.new"></a>

Le tableau suivant indique les nouveaux paramètres Amazon RDS for Oracle Database 19c (19.0.0.0).


****  

|  Nom  |  Valeurs  |  Adaptabilité  |  Description  | 
| --- | --- | --- | --- | 
|   [lob\$1signature\$1enable](https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/lob_signature_enable.html#GUID-62997AB5-1084-4C9A-8258-8CB695C7A1D6)   |  TRUE, FALSE (par défaut)  |  O  |  Active ou désactive la fonction de signature de localisateur LOB.  | 
|   [max\$1datapump\$1parallel\$1per\$1job](https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/MAX_DATAPUMP_PARALLEL_PER_JOB.html#GUID-33B1F962-B8C3-4DCE-BE68-66FC5D34ECA3)   |  1 à 1 024 ou AUTO  |  O  |  Indique le nombre maximal de processus parallèles autorisés pour chaque tâche Oracle Data Pump.  | 

#### Modifications apportées au paramètre compatible
<a name="Oracle.Concepts.FeatureSupport.19c.Parameters.compatible"></a>

Le paramètre `compatible` a une nouvelle valeur maximale pour Oracle Database 19c (19.0.0.0) sur Amazon RDS. Le tableau suivant présente la nouvelle valeur par défaut. 


****  

|  Nom du paramètre  |  Valeur maximale pour Oracle Database 19c (19.0.0.0)  | 
| --- | --- | 
|  [ compatible](https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/COMPATIBLE.html#GUID-6C57EE11-BD06-4BB8-A0F7-D6CDDD086FA9)  |  19.0.0  | 

#### Paramètres supprimés
<a name="Oracle.Concepts.FeatureSupport.19c.Parameters.compatible.removed-parameters"></a>

Les paramètres suivants ont été supprimés dans Oracle Database 19c (19.0.0.0) :
+ `exafusion_enabled`
+ `max_connections`
+ `o7_dictionary_access`

# Options de licence RDS for Oracle
<a name="Oracle.Concepts.Licensing"></a>

Amazon RDS for Oracle dispose de deux options de licence : Licence incluse (LI) et Apportez votre propre licence (BYOL). Après avoir créé une instance de base de données Oracle sur Amazon RDS, vous pouvez modifier le modèle de licence en modifiant l'instance de base de données. Pour plus d’informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md).

**Important**  
Assurez-vous que vous disposez de la licence Oracle Database appropriée, avec la licence de mise à jour du logiciel et le support, pour la classe d’instance de base de données et l’édition d’Oracle Database que vous souhaitez exécuter. Assurez-vous également que vous disposez de licences pour toutes les fonctionnalités d’Oracle Database sous licence distincte.

**Topics**
+ [

## Modèle inclus dans la licence pour SE2
](#Oracle.Concepts.Licensing.LicenseIncluded)
+ [

## Bring Your Own License (BYOL) pour EE et SE2
](#Oracle.Concepts.Licensing.BYOL)
+ [

## Licences des déploiements multi-AZ Oracle
](#Oracle.Concepts.Licensing.MAZ)

## Modèle inclus dans la licence pour SE2
<a name="Oracle.Concepts.Licensing.LicenseIncluded"></a>

Dans le modèle Licence incluse, il n'est pas nécessaire d'acheter des licences Oracle Database séparément. AWS détient la licence du logiciel de base de données Oracle. Le modèle License Included est uniquement pris en charge sur Amazon RDS pour Oracle Database Standard Edition 2 SE2 ().

Dans ce modèle, si vous avez un AWS Support compte avec support de dossier, contactez Amazon RDS et Oracle Database Support pour les demandes de service. Votre utilisation de l’option LI de RDS for Oracle est soumise à la section 10.3.1 des [Conditions de service AWS](https://aws.amazon.com/service-terms/).

## Bring Your Own License (BYOL) pour EE et SE2
<a name="Oracle.Concepts.Licensing.BYOL"></a>

Dans le modèle BYOL, vous pouvez utiliser vos licences Oracle Database existantes pour déployer des bases de données sur Amazon RDS. Amazon RDS prend en charge le modèle BYOL uniquement pour Oracle Database Enterprise Edition (EE) et Oracle Database Standard Edition 2 (SE2).

Assurez-vous que vous disposez de la licence Oracle Database appropriée (avec la licence de mise à jour du logiciel et le support) pour la classe d'instance de base de données et l'édition d'Oracle Database que vous souhaitez exécuter. Vous devez aussi suivre les stratégies d'Oracle pour obtenir la licence du logiciel de base de données Oracle dans l'environnement de cloud computing. Pour plus d'informations sur la politique de gestion des licences Oracle pour Amazon EC2, consultez [ Licensing Oracle Software in the Cloud Computing Environment (Gestion des licences de logiciels Oracle dans l'environnement d'informatique sur le cloud)](http://www.oracle.com/us/corporate/pricing/cloud-licensing-070579.pdf).

Dans ce modèle, vous continuez d'utiliser votre compte de support Oracle actif et vous contactez Oracle directement pour les demandes de service propres à Oracle Database. Si vous avez un AWS Support compte avec support de dossier, vous pouvez le contacter Support pour les problèmes liés à Amazon RDS.

### Intégration avec AWS License Manager
<a name="oracle-lms-integration"></a>

Pour faciliter la surveillance de l'utilisation des licences Oracle dans le modèle BYOL, l'[AWS License Manager](https://aws.amazon.com/license-manager/) s'intègre avec Amazon RDS for Oracle. License Manager prend en charge le suivi des éditions du moteur RDS pour Oracle et des packs de licences basés sur des cœurs virtuels (vCPUs). Vous pouvez également utiliser License Manager AWS Organizations pour gérer tous les comptes de votre organisation de manière centralisée.

Le tableau suivant présente les filtres d'informations sur le produit RDS for Oracle.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/Oracle.Concepts.Licensing.html)

Pour suivre l'utilisation des licences de vos instances de base de données Oracle, vous pouvez créer une licence autogérée à l'aide AWS License Manager de. Dans ce cas, les ressources RDS for Oracle qui correspondent au filtre d’informations produit sont automatiquement associées à la licence autogérée. La détection des instances de base de données Oracle peut prendre jusqu'à 24 heures. Vous pouvez également suivre une licence sur plusieurs comptes en utilisant AWS Resource Access Manager.

#### Console
<a name="oracle-lms-integration.console"></a>

**Pour créer une licence autogérée AWS License Manager afin de suivre l'utilisation des licences de votre RDS pour les instances de base de données Oracle**

1. Accédez à [https://console.aws.amazon.com/license-manager/](https://console.aws.amazon.com/license-manager/).

1. Choisissez **Créer une licence autogérée**.

   Pour obtenir des instructions, consultez [Créer une licence autogérée](https://docs.aws.amazon.com/license-manager/latest/userguide/create-license-configuration.html) dans le *Guide de l’utilisateur AWS License Manager *.

   Ajoutez une règle pour un **RDS Product Information Filter (Filtre d’informations produit RDS)** dans le panneau **Product Information (Informations produit)** .

   Pour plus d’informations, consultez [ProductInformation](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ProductInformation.html) dans la *Référence d’API AWS License Manager *.

1. (Suivi entre comptes uniquement) AWS Resource Access Manager À utiliser pour partager vos licences autogérées avec n'importe quel AWS compte ou via. AWS Organizations Pour plus d'informations, consultez la section [Partage de vos AWS ressources](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html).

#### AWS CLI
<a name="oracle-lms-integration.cli"></a>

Pour créer une licence autogérée à l'aide de AWS CLI, appelez la [create-license-configuration](https://docs.aws.amazon.com/cli/latest/reference/license-manager/create-license-configuration.html)commande. Vous pouvez utiliser les paramètres `--cli-input-json` ou `--cli-input-yaml` pour transmettre les paramètres à la commande.

**Example**  
L’exemple suivant crée une licence autogérée pour Oracle Enterprise Edition.   

```
aws license-manager create-license-configuration --cli-input-json file://rds-oracle-ee.json
```
Voici l'exemple de fichier `rds-oracle-ee.json` utilisé dans l'exemple.  

```
{
    "Name": "rds-oracle-ee",
    "Description": "RDS Oracle Enterprise Edition",
    "LicenseCountingType": "vCPU",
    "LicenseCountHardLimit": false,
    "ProductInformationList": [
        {
            "ResourceType": "RDS",
            "ProductInformationFilterList": [
                {
                    "ProductInformationFilterName": "Engine Edition",
                    "ProductInformationFilterValue": ["oracle-ee"],
                    "ProductInformationFilterComparator": "EQUALS"
                }
            ]
        }
    ]
}
```

Pour plus d’informations sur les informations produit, consultez [Détection automatique de l’inventaire des ressources](https://docs.aws.amazon.com/license-manager/latest/userguide/automated-discovery.html) dans le *Guide de l’utilisateur AWS License Manager *.

Pour plus d'informations sur le `--cli-input` paramètre, consultez la section [Génération de AWS CLI squelettes et de paramètres d'entrée à partir d'un fichier d'entrée JSON ou YAML](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-skeleton.html) dans le *Guide de AWS CLI l'utilisateur*.

### Migration d’une édition Oracle Database à une autre
<a name="Oracle.Concepts.EditionsMigrating"></a>

Si vous disposez d'une licence de base de données Oracle BYOL non utilisée adaptée à l'édition et à la classe d'instance de base de données que vous prévoyez d'exécuter, vous pouvez migrer de l'édition Standard 2 (SE2) vers l'édition Enterprise (EE). En revanche, il n’est pas possible de migrer d’une édition EE vers d’autres éditions.

**Pour changer d’édition Oracle Database et retenir vos données**

1. Créez un snapshot de l'instance DB.

   Pour plus d'informations, consultez [Création d’un instantané de base de données pour une instance de base de données mono-AZ pour Amazon RDS](USER_CreateSnapshot.md).

1. Restaurez l'instantané dans une nouvelle instance de base de données et sélectionnez l'édition de base de données Oracle que vous souhaitez utiliser.

   Pour plus d'informations, consultez [Restauration d’une instance de base de données](USER_RestoreFromSnapshot.md).

1. (Facultatif) Supprimez l'ancienne instance de base de données, sauf si vous souhaitez continuer de l'exécuter et que vous disposez des licences Oracle Database appropriées.

   Pour plus d'informations, consultez [Suppression d'une instance DB](USER_DeleteInstance.md).

## Licences des déploiements multi-AZ Oracle
<a name="Oracle.Concepts.Licensing.MAZ"></a>

Amazon RDS prend en charge les déploiements Multi-AZ pour Oracle comme solution de basculement haute disponibilité. Le déploiement multi-AZ est conseillé pour les charges de travail de production. Pour plus d'informations, consultez [Configuration et gestion d’un déploiement multi-AZ pour Amazon RDS](Concepts.MultiAZ.md). 

Si vous utilisez le modèle Réutilisez vos licences, vous devez disposer d'une licence à la fois pour l'instance de base de données principale et l'instance de base de données de secours dans un déploiement multi-AZ. 

# Utilisateurs et privilèges RDS for Oracle
<a name="Oracle.Concepts.Privileges"></a>

Lorsque vous créez une instance de base de données Amazon RDS for Oracle, l'utilisateur principal par défaut dispose de la plupart des autorisations utilisateur maximales sur l'instance de base de données. Utilisez ce compte d'utilisateur principal pour toutes les tâches administratives, telles que la création de comptes d'utilisateur supplémentaires dans votre base de données. RDS étant un service géré, vous n'êtes pas autorisé à vous connecter en tant que `SYS` et`SYSTEM`, par conséquent, vous ne disposez pas de `SYSDBA` privilèges.

**Topics**
+ [

## Limitations des privilèges Oracle DBA
](#Oracle.Concepts.dba-limitations)
+ [

## Gestion des privilèges sur les objets SYS
](#Oracle.Concepts.Privileges.SYS-objects)

## Limitations des privilèges Oracle DBA
<a name="Oracle.Concepts.dba-limitations"></a>

Dans la base de données, un rôle est un ensemble de privilèges que vous pouvez accorder ou révoquer à un utilisateur. Une base de données Oracle utilise des rôles pour assurer la sécurité. Pour plus d'informations, consultez [Configuration de l'autorisation des privilèges et des rôles](https://docs.oracle.com/en/database/oracle/oracle-database/19/dbseg/configuring-privilege-and-role-authorization.html#GUID-89CE989D-C97F-4CFD-941F-18203090A1AC) (langue française non garantie) dans la documentation sur Oracle Database.

Le rôle prédéfini `DBA` autorise normalement tous les privilèges d’administration sur une base de données Oracle. Lorsque vous créez une instance de base de données, votre compte utilisateur principal obtient des privilèges d'administrateur de base de données (avec certaines restrictions). Pour offrir une expérience gérée, une base de données RDS for Oracle ne fournit pas les privilèges suivants au rôle `DBA` : 
+ `ALTER DATABASE`
+ `ALTER SYSTEM`
+ `CREATE ANY DIRECTORY`
+ `DROP ANY DIRECTORY`
+ `GRANT ANY PRIVILEGE`
+ `GRANT ANY ROLE`

Pour plus d'informations sur les privilèges et les rôles du système RDS for Oracle, consultez [Privilèges du compte utilisateur principal](UsingWithRDS.MasterAccounts.md).

## Gestion des privilèges sur les objets SYS
<a name="Oracle.Concepts.Privileges.SYS-objects"></a>

Vous pouvez gérer les privilèges sur les objets `SYS` à l'aide du package `rdsadmin.rdsadmin_util`. Par exemple, si vous créez l'utilisateur de base de données`myuser`, vous pouvez utiliser la `rdsadmin.rdsadmin_util.grant_sys_object` procédure pour accorder `SELECT` des privilèges `V_$SQLAREA` à`myuser`. Pour plus d’informations, consultez les rubriques suivantes :
+ [Octroi des privilèges SELECT ou EXECUTE aux objets SYS](Appendix.Oracle.CommonDBATasks.TransferPrivileges.md)
+ [Retrait des privilèges SELECT ou EXECUTE sur les objets SYS](Appendix.Oracle.CommonDBATasks.RevokePrivileges.md)
+ [Attribution de privilèges à des utilisateurs non-maîtres](Appendix.Oracle.CommonDBATasks.PermissionsNonMasters.md)

# Classes d’instance de base de données RDS for Oracle
<a name="Oracle.Concepts.InstanceClasses"></a>

Les capacités de calcul et de mémoire d’une instance de base de données RDS for Oracle sont déterminées par sa classe d’instance. La classe d’instance de bases de données dont vous avez besoin varie selon vos exigences en mémoire et en puissance de traitement.



## Classes d’instance de base de données RDS for Oracle prises en charge
<a name="Oracle.Concepts.InstanceClasses.Supported"></a>

Les classes d'instance RDS for Oracle prises en charge sont un sous-ensemble des classes d'instance de base de données RDS. Pour obtenir la liste complète des classes d'instances RDS, consultez [Classes d'instances de base de données ](Concepts.DBInstanceClass.md).



### Classes d’instance de base de données RDS for Oracle préconfigurées
<a name="Oracle.Concepts.InstanceClasses.Supported.tpc"></a>

RDS pour Oracle propose également des classes d'instances préconfigurées pour les charges de travail nécessitant de la mémoire, du stockage et par I/O vCPU supplémentaires. Ces classes d'instance utilisent la convention de dénomination suivante.

```
db.r5b.instance_size.tpcthreads_per_core.memratio
db.r5.instance_size.tpcthreads_per_core.memratio
```

Voici un exemple de classe d’instance préconfigurée pour plus de mémoire :

```
db.r5b.4xlarge.tpc2.mem2x
```

Les composants du nom de classe d'instance précédent sont les suivants :
+ `db.r5b.4xlarge` – Nom de la classe d'instance.
+ `tpc2` – Threads par cœur. La valeur 2 signifie que le multithread est activé. La valeur 1 signifie que le multithread est désactivé. 
+ `mem2x` – Rapport de la mémoire supplémentaire à la mémoire standard pour la classe d'instance. Dans cet exemple, l’optimisation fournit deux fois plus de mémoire qu’une instance de base de données db.r5.4xlarge standard. 

**Note**  
Pour les facteurs de normalisation du RDS préconfiguré pour les classes d'instance de base de données Oracle, consultez. [Spécifications matérielles pour les classes d'instances de base de données ](Concepts.DBInstanceClass.Summary.md)

### Édition prise en charge, classe d’instance et combinaisons de licences dans RDS for Oracle
<a name="Oracle.Concepts.InstanceClasses.Supported.combo"></a>

Si vous utilisez la console RDS, vous pouvez savoir si une combinaison d’édition, de classe d’instance et de licence spécifique est prise en charge en choisissant **Créer une base de données** et en spécifiant une autre option. Dans le AWS CLI, vous pouvez exécuter la commande suivante :

```
aws rds describe-orderable-db-instance-options --engine engine-type --license-model license-type
```

Le tableau suivant répertorie tous les types de licences, éditions et classes d’instance pris en charge pour RDS for Oracle. Pour plus d'informations sur les attributs de mémoire de chaque type, consultez la section [RDS for Oracle instance types](https://aws.amazon.com//rds/oracle/instance-types) (Types d'instances RDS for Oracle). Pour plus d’informations sur la tarification, consultez [Modèles de tarification Amazon RDS for Oracle](https://aws.amazon.com/rds/oracle/pricing/#Pricing_models).


****  
<a name="rds-oracle-instance-class-reference"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/Oracle.Concepts.InstanceClasses.html)

## Classes d’instance de base de données RDS for Oracle obsolètes
<a name="Oracle.Concepts.InstanceClasses.Deprecated"></a>

Les classes d'instances de base de données obsolètes pour RDS for Oracle sont les suivantes :
+ db.m1, db.m2, db.m3, db.m4
+ db.t1, db.t2
+ db.r1, db.r2, db.r3, db.r4
+ db.x1, db.x1e

Les classes d'instances de base de données précédentes ont été remplacées par des classes d'instances de base de données plus performantes qui sont généralement disponibles à moindre coût. Si vous possédez des instances de base de données qui utilisent des classes d'instance de base de données obsolètes, vous disposez des options suivantes :
+ Autorisez Amazon RDS à modifier automatiquement chaque instance de base de données afin d'utiliser une classe d'instance de base de données non obsolète comparable. Pour connaître les délais d'obsolescence, consultez [Types de classes d’instance de base de données](Concepts.DBInstanceClass.Types.md).
+ Changez la classe d'instance de base de données vous-même en modifiant l'instance de base de données. Pour plus d’informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

**Note**  
Si vous disposez d'instantanés de bases de données d'instances de base de données qui utilisaient des classes d'instance de base de données obsolètes, vous pouvez choisir une classe d'instance de base de données non obsolète lorsque vous restituez les instantanés de bases de données. Pour plus d’informations, consultez [Restauration d’une instance de base de données](USER_RestoreFromSnapshot.md).

# Architecture de base de données RDS for Oracle
<a name="oracle-multi-architecture"></a>

L'architecture multilocataire Oracle, également appelée architecture CDB, permet à une base de données Oracle de fonctionner comme une base de données de conteneur (CDB) multilocataire. Une base de données de conteneur (CDB) peut inclure des bases de données enfichables (PDB) créées par le client. Une base de données non-CDB est une base de données Oracle qui utilise l'architecture traditionnelle, qui ne peut pas contenir de bases de données enfichables (PDB). Pour plus d'informations sur l'architecture multi-locataires, reportez-vous au [https://docs.oracle.com/en/database/oracle/oracle-database/19/multi/introduction-to-the-multitenant-architecture.html#GUID-267F7D12-D33F-4AC9-AA45-E9CD671B6F22](https://docs.oracle.com/en/database/oracle/oracle-database/19/multi/introduction-to-the-multitenant-architecture.html#GUID-267F7D12-D33F-4AC9-AA45-E9CD671B6F22).

Pour Oracle Database 19c et versions ultérieures, vous pouvez créer une instance de base de données RDS for Oracle qui utilise l'architecture CDB. Dans RDS for Oracle, les PDB sont appelés bases de données locataire. Vos applications clientes se connectent au niveau de la base de données locataire (PDB) plutôt qu’au niveau de la CDB. RDS for Oracle prend en charge les configurations suivantes de l'architecture CDB :

**Configuration à locataires multiples**  
Amazon RDS permet à une instance CDB de contenir entre 1 et 30 bases de données locataires, en fonction de l’édition de la base de données et des licences d’option requises. Vous pouvez utiliser les API RDS pour ajouter, modifier et supprimer des bases de données locataire. La configuration à locataire multiple de RDS for Oracle ne prend pas en charge les PDB d’application ni les PDB de proxy, qui sont des types de PDB spéciaux. Pour plus d’informations sur les PDB d’application et les PDB de proxy, consultez [Types de PDB](https://docs.oracle.com/en/database/oracle/oracle-database/19/multi/overview-of-the-multitenant-architecture.html#GUID-D0F40745-FC70-4BE0-85D3-3745DE3312AC) dans la documentation d’Oracle Database.  
La fonctionnalité Amazon RDS est appelée « à locataires multiples » plutôt que « multilocataire », car il s’agit d’une fonctionnalité Amazon RDS, et pas seulement du moteur de base de données Oracle. De même, le terme RDS « locataire » fait référence à tout locataire d’une configuration RDS, et pas seulement aux PDB Oracle. Dans la documentation RDS, le terme sans trait d’union « multilocataire Oracle » fait exclusivement référence à l’architecture CDB de base de données Oracle, qui est compatible à la fois avec les déploiements sur site et RDS.

**Configuration à locataire unique**  
Amazon RDS limite une instance CDB RDS for Oracle à une base de données locataire (PDB). Vous ne pouvez pas ajouter d'autres PDB à l'aide des API RDS. La configuration à locataire unique utilise les mêmes API RDS que l'architecture non CDB. Ainsi, l'expérience de travail avec une CDB dans une configuration à locataire unique est essentiellement la même que celle consistant à travailler avec une architecture non CDB.  
Vous pouvez convertir une CDB qui utilise la configuration à locataire unique en configuration à locataire multiple, ce qui vous permet d’ajouter des PDB à votre CDB. Ce changement d'architecture est définitif et irréversible. Pour plus d’informations, consultez [Conversion de la configuration à locataire unique en configuration à locataires multiples](oracle-single-tenant-converting.md).

**Note**  
Vous ne pouvez pas accéder à la base de données de conteneur (CDB) elle-même.

Dans Oracle Database 21c et versions ultérieures, toutes les bases de données sont des CDB. En revanche, vous pouvez créer une instance de base de données Oracle Database 19c en tant que base de données CDB ou non-CDB. Vous ne pouvez pas mettre à niveau une base de données non-CDB en CDB, mais vous pouvez convertir une base de données non-CDB Oracle Database 19c en CDB, puis la mettre à niveau. Vous ne pouvez pas convertir une CDB en base de données non-CDB.

Pour plus d’informations, consultez les ressources suivantes :
+ [Utilisation des CDB dans RDS for Oracle](oracle-multitenant.md)
+ [Limites de RDS pour Oracle CDBs](Oracle.Concepts.CDBs.md#Oracle.Concepts.single-tenant-limitations)
+ [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md)

# Paramètres d’initialisation RDS for Oracle
<a name="Oracle.Concepts.FeatureSupport.Parameters"></a>

Dans Amazon RDS, vous gérez les paramètres à l’aide d’un groupe de paramètres de base de données. Ce groupe vous permet de personnaliser les paramètres d’initialisation. Par exemple, vous pouvez configurer la taille de la zone de tri avec `sort_area_size`. Toutes les instances de base de données RDS for Oracle associées à un groupe de paramètres de base de données spécifique utilisent les mêmes paramètres. Pour plus d’informations, consultez [Groupes de paramètres pour Amazon RDS](USER_WorkingWithParamGroups.md). 

## Paramètres d’initialisation dans RDS for Oracle pris en charge
<a name="Oracle.Concepts.FeatureSupport.Parameters.individual"></a>

Les paramètres pris en charge pour votre instance de base de données dépendent de l’édition et de la version d’Oracle Database. Pour afficher les paramètres d'initialisation pris en charge pour une édition et une version spécifiques d'Oracle Database, exécutez la AWS CLI commande [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-engine-default-parameters.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-engine-default-parameters.html). Par exemple, pour répertorier les noms des paramètres d’initialisation pris en charge pour l’Enterprise Edition d’Oracle Database 19c, exécutez la commande suivante (exemple de sortie inclus).

```
aws rds describe-engine-default-parameters \
    --db-parameter-group-family oracle-ee-19 \
    --output json | jq -r '.EngineDefaults.Parameters[].ParameterName'

_add_col_optim_enabled
_adg_parselock_timeout
_allow_insert_with_update_check
_allow_level_without_connect_by
_always_semi_join
_autotask_max_window
_awr_disabled_flush_tables
_awr_mmon_cpuusage
_awr_mmon_deep_purge_all_expired
_b_tree_bitmap_plans
_bct_bitmaps_per_file
_bloom_filter_enabled
_buffered_publisher_flow_control_threshold
_bug29394014_allow_triggers_on_vpd_table
_cleanup_rollback_entries
_client_enable_auto_unregister
_clusterwide_global_transactions
_complex_view_merging
_connect_by_use_union_all
_cost_equality_semi_join
_cursor_features_enabled
_cursor_obsolete_threshold
_datafile_write_errors_crash_instance
_db_block_buffers
...
```

Pour décrire un seul paramètre d’initialisation, utilisez la commande suivante, en remplaçant `sga_max_size` par le nom de votre paramètre (exemple de sortie inclus).

```
aws rds describe-engine-default-parameters \
    --db-parameter-group-family oracle-ee-19 \
    --query 'EngineDefaults.Parameters[?ParameterName==`sga_max_size`]' \
    --output json

[
    {
        "ParameterName": "sga_max_size",
        "Description": "max total SGA size",
        "Source": "engine-default",
        "ApplyType": "static",
        "DataType": "integer",
        "AllowedValues": "0-2199023255552",
        "IsModifiable": true
    }
]
```

Pour trouver la documentation générale sur les paramètres d’initialisation d’Oracle Database, consultez [Paramètres d’initialisation](https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/initialization-parameters.html#GUID-6F1C3203-0AA0-4AF1-921C-A027DD7CB6A9) dans la documentation d’Oracle Database. Notez que le paramètre `ARCHIVE_LAG_TARGET` fait l’objet de considérations particulières dans RDS for Oracle. Ce paramètre force le changement du journal de rétablissement en ligne une fois le délai spécifié écoulé. Dans RDS for Oracle, `ARCHIVE_LAG_TARGET` est défini sur `300` parce que l’objectif de point de reprise (RPO) est de 5 minutes. Pour atteindre cet objectif, RDS for Oracle change le journal de rétablissement en ligne toutes les 5 minutes et le stocke dans un compartiment Amazon S3. 

Si la fréquence du changement de journal de rétablissement en ligne dégrade les performances de votre base de données RDS for Oracle, vous pouvez mettre à l’échelle votre instance de base de données et votre stockage pour utiliser des IOPS et un débit plus élevés. Sinon, si vous utilisez RDS Custom for Oracle ou si vous déployez une base de données Oracle sur Amazon EC2, vous pouvez ajuster le réglage du paramètre d’initialisation `ARCHIVE_LAG_TARGET`.

## Valeurs de paramètres valides dans RDS for Oracle
<a name="oracle-valid-parameter-values"></a>

Dans RDS for Oracle, seuls les caractères suivants sont valables pour les valeurs des paramètres :
+ Lettres (`A-Z` et `a-z`)
+ Chiffres (`0-9`)
+ Espaces blancs (espaces, tabulations et sauts de ligne)
+ Les caractères spéciaux suivants : `_ / . : + = ( ) ' * , % $ -` (tiret)

# Jeux de caractères RDS for Oracle
<a name="Appendix.OracleCharacterSets"></a>

RDS for Oracle prend en charge deux types de jeux de caractères : le jeu de caractères de base de données et le jeu de caractères national.

## Jeu de caractères de base de données
<a name="Appendix.OracleCharacterSets.db-character-set"></a>

Le jeu de caractères de base de données Oracle est utilisé dans les types de données `CHAR`, `VARCHAR2` et `CLOB`. La base de données utilise également ce jeu de caractères pour les métadonnées telles que les noms de table, les noms de colonne et les instructions SQL. Le jeu de caractères de base de données Oracle est généralement appelé jeu de caractères de base de données. 

Vous définissez le jeu de caractères lorsque vous créez une instance de base de données. Vous ne pouvez pas modifier le jeu de caractères de base de données après avoir créé la base de données.

### Jeux de caractères de base de données pris en charge
<a name="Appendix.OracleCharacterSets.db-character-set.supported"></a>

La table suivante répertorie les jeux de caractères de base de données Oracle qui sont pris en charge dans Amazon RDS. Vous pouvez utiliser une valeur de cette table avec le `--character-set-name` paramètre de la AWS CLI [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)commande ou avec le `CharacterSetName` paramètre de l'DBInstanceopération Amazon RDS API [Create](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html).

**Note**  
Le jeu de caractères d'un CDB est toujours AL32UTF8. Vous pouvez définir un jeu de caractères différent uniquement pour la base de données enfichable uniquement (PDB).


****  

| Valeur | Description | 
| --- | --- | 
|  AL32UTF8  |  Jeu de caractères universel UTF-8 Unicode 5.0 (par défaut)  | 
|  AR8ISO8859P6  |  ISO 8859-6 Latis.o.rabe  | 
|  AR8MSWIN1256  |  Page de codes Microsoft Windows 1256 8 bits Latis.o.rabe  | 
|  BLT8ISO8859P13  |  ISO 8859-13 Baltique  | 
|  BLT8MSWIN1257  |  Page de codes Microsoft Windows 1257 8 bits Baltique  | 
|  CL8ISO8859P5  |  ISO 88559-5 Latin/Cyrillique  | 
|  CL8MSWIN1251  |  Page de codes Microsoft Windows 1251 8 bits Latin/Cyrillique  | 
|  EE8ISO8859P2  |  ISO 8859-2 Europe de l'Est  | 
|  EL8ISO8859P7  |  ISO 8859-7 Latin/Grec  | 
|  EE8MSWIN1250  |  Page de codes Microsoft Windows 1250 8 bits Europe de l'Est  | 
|  EL8MSWIN1253  |  Page de codes Microsoft Windows 1253 8 bits Latin/Grec  | 
|  IW8ISO8859P8  |  ISO 8859-8 Latin/Hébreu  | 
|  IW8MSWIN1255  |  Page de codes Microsoft Windows 1255 8 bits Latin/Hébreu  | 
|  JA16EUC  |  EUC 24 bits Japonais  | 
|  JA16EUCTILDE  |  Identique à JA16 EUC, sauf pour le mappage du wave, du tiret et du tilde vers et depuis Unicode  | 
|  JA16SJIS  |  Shift-JIS 16 bits Japonais  | 
|  JA16SISTILDE  |  Identique au JA16 SJIS, sauf pour le mappage du wave, du tiret et du tilde vers et depuis Unicode  | 
|  KO16MSWIN949  |  Page de codes Microsoft Windows 949 Coréen  | 
|  NE8ISO8859P10  |  ISO 8859-10 Europe du Nord  | 
|  NEE8ISO8859P4  |  ISO 8859-4 Europe du Nord et du Nord-Est  | 
|  TH8TISASCII  |  Thai Industrial Standard 620-2533-ASCII 8 bits  | 
|  TR8MSWIN1254  |  Page de codes Microsoft Windows 1254 8 bits Turc  | 
|  US7ASCII  |  ASCII 7 bits Américain  | 
|  UTF8  |  Jeu de caractères universel UTF-8 Unicode 3.0, compatible CESU-8  | 
|  VN8MSWIN1258  |  Page de codes Microsoft Windows 1258 8 bits Vietnamien  | 
|  WE8ISO8859P1  |  ISO 8859 Partie 1 Europe de l'Ouest 8 bits  | 
|  WE8ISO8859P15  |  ISO 8859-15 Europe de l'Ouest  | 
|  WE8ISO8859P9  |  ISO 8859-9 Europe de l'Ouest et Turc  | 
|  WE8MSWIN1252  |  Page de codes Microsoft Windows 1252 8 bits Europe de l'Ouest  | 
|  ZHS16GBK  |  GBK 16 bits Chinois simplifié  | 
|  ZHT16HKSC  |  Page de codes Microsoft Windows 950 avec jeu de caractères supplémentaire Hong Kong HKSCS-2001. La conversion de jeu de caractères est basée sur Unicode 3.0.  | 
|  ZHT16MSWIN950  |  Page de codes Microsoft Windows 950 Chinois traditionnel  | 
|  ZHT32EUC  |  EUC 32 bits Chinois traditionnel  | 

### Variable d'environnement NLS\$1LANG
<a name="Appendix.OracleCharacterSets.db-character-set.nls_lang"></a>

Un paramètre régional est un ensemble d'informations répondant aux exigences linguistiques et culturelles qui correspondent à une langue et à un pays donnés. La définition de la variable d'environnement NLS\$1LANG dans l'environnement de votre client est la manière la plus simple de spécifier le comportement local du logiciel Oracle. Cette variable définit la langue et le territoire utilisés par l'application cliente et le serveur de base de données. Ils indiquent également le jeu de caractères client qui correspond au jeu de caractères pour les données entrées ou affichées par une application cliente. Pour de plus amples informations sur NLS\$1LANG et les jeux de caractères, veuillez consulter [What is a Character set or Code Page? (Qu'est-ce qu'un jeu de caractères ou une page de code ?) dans la documentation Oracle.](http://www.oracle.com/technetwork/database/database-technologies/globalization/nls-lang-099431.html#_Toc110410570)

### Paramètres d'initialisation NLS
<a name="Appendix.OracleCharacterSets.db-character-set.nls_parameters"></a>

Vous pouvez également définir les paramètres d'initialisation NLS (National Language Support) suivants au niveau de l'instance pour une instance de base de données Oracle dans Amazon RDS :
+ NLS\$1COMP
+ NLS\$1DATE\$1FORMAT
+ NLS\$1LENGTH\$1SEMANTICS
+ NLS\$1NCHAR\$1CONV\$1EXCP
+ NLS\$1SORT
+ NLS\$1TIME\$1FORMAT
+ NLS\$1TIME\$1TZ\$1FORMAT
+ NLS\$1TIMESTAMP\$1FORMAT
+ NLS\$1TIMESTAMP\$1TZ\$1FORMAT

Pour plus d'informations sur la modification des paramètres d'instance, consultez [Groupes de paramètres pour Amazon RDS](USER_WorkingWithParamGroups.md).

Vous pouvez définir d'autres paramètres d'initialisation NLS dans votre client SQL. Par exemple, l'instruction suivante définit le paramètre d'initialisation NLS LANGUAGE à GERMAN dans un client SQL connecté à une instance de base de données Oracle :

```
ALTER SESSION SET NLS_LANGUAGE=GERMAN;
```

Pour plus d'informations sur la connexion à une instance de base de données Oracle avec un client SQL, consultez [Connexion à votre instance de base de données Oracle](USER_ConnectToOracleInstance.md).

## Jeu de caractères national
<a name="Appendix.OracleCharacterSets.nchar-character-set"></a>

Le jeu de caractères national est utilisé dans les types de données `NCHAR`, `NVARCHAR2` et `NCLOB`. Le jeu de caractères national est généralement appelé jeu de caractères NCHAR. Contrairement au jeu de caractères de base de données, le jeu de caractères NCHAR n'affecte pas les métadonnées de base de données.

Le jeu de caractères NCHAR prend en charge les jeux de caractères suivants :
+ AL16UTF16 (par défaut)
+ UTF8

Vous pouvez spécifier l'une ou l'autre valeur avec le `--nchar-character-set-name` paramètre de la [create-db-instance](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/create-db-instance.html)commande (AWS CLI version 2 uniquement). Si vous utilisez l'API Amazon RDS, spécifiez le `NcharCharacterSetName` paramètre de l'DBInstanceopération [Create](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Vous ne pouvez pas modifier le jeu de caractères national après avoir créé la base de données.

Pour de plus amples informations sur Unicode dans les bases de données Oracle, veuillez consulter [Prise en charge des bases de données multilingues avec unicode](https://docs.oracle.com/en/database/oracle/oracle-database/19/nlspg/supporting-multilingual-databases-with-unicode.html) dans la documentation Oracle.

# Limitations RDS for Oracle
<a name="Oracle.Concepts.limitations"></a>

Dans les sections suivantes, vous trouverez les limites importantes de l'utilisation de RDS for Oracle. Pour les limitations spécifiques à CDBs, voir[Limites de RDS pour Oracle CDBs](Oracle.Concepts.CDBs.md#Oracle.Concepts.single-tenant-limitations).

**Note**  
Cette liste n'est pas exhaustive.

**Topics**
+ [

## Limites de taille des fichiers Oracle dans Amazon RDS
](#Oracle.Concepts.file-size-limits)
+ [

## Limites de taille de bloc dans RDS for Oracle
](#Oracle.Concepts.block-size-limits)
+ [

## Synonymes publics des schémas fournis par Oracle
](#Oracle.Concepts.PublicSynonyms)
+ [

## Schémas des fonctionnalités non prises en charge dans RDS for Oracle
](#Oracle.Concepts.unsupported-features)
+ [

## Limitations pour les privilèges d’administrateur de base de données dans RDS for Oracle
](#Oracle.Concepts.dba-limitations)
+ [

## Obsolescence de la sécurité de la couche de transport TLS 1.0 et 1.1 dans RDS for Oracle
](#Oracle.Concepts.tls)

## Limites de taille des fichiers Oracle dans Amazon RDS
<a name="Oracle.Concepts.file-size-limits"></a>

La taille maximale d'un seul fichier sur les instances de bases de données RDS for Oracle est de 16 Tio (tébioctets). Cette limite est imposée par le système de fichiers ext4 utilisé par l'instance. Ainsi, les fichiers de données Oracle bigfile sont limités à 16 Tio. Si vous essayez de redimensionner un fichier de données dans un tablespace bigfile vers une valeur supérieure à la limite, une erreur comme la suivante se produit.

```
ORA-01237: cannot extend datafile 6
ORA-01110: data file 6: '/rdsdbdata/db/mydir/datafile/myfile.dbf'
ORA-27059: could not reduce file size
Linux-x86_64 Error: 27: File too large
Additional information: 2
```

## Limites de taille de bloc dans RDS for Oracle
<a name="Oracle.Concepts.block-size-limits"></a>

Les instances de base de données RDS pour Oracle sont créées avec une taille de bloc de base de données par défaut (`DB_BLOCK_SIZE`) de 8 Ko. La taille de bloc de base de données par défaut est définie lors de la création de la base de données et ne peut pas être modifiée. Les tablespaces `SYSTEM` et temporaires utilisent toujours la taille de bloc de base de données par défaut. Vous pouvez créer des espaces disque logiques supplémentaires avec des tailles de bloc autres que celles par défaut en configurant le `DB_nK_CACHE_SIZE` paramètre correspondant (par exemple,`DB_16K_CACHE_SIZE`) pour allouer un cache tampon pour cette taille de bloc, puis en spécifiant la `BLOCKSIZE` clause dans votre instruction. `CREATE TABLESPACE`

## Synonymes publics des schémas fournis par Oracle
<a name="Oracle.Concepts.PublicSynonyms"></a>

Ne créez pas de synonymes publics ou ne modifiez pas les synonymes publics des schémas gérés par Oracle, notamment `SYS`, `SYSTEM` et `RDSADMIN`. De telles actions peuvent entraîner l'invalidation des composants de base de données de base et affecter la disponibilité de votre instance de base de données.

Vous pouvez créer des synonymes publics référençant des objets dans vos propres schémas.

## Schémas des fonctionnalités non prises en charge dans RDS for Oracle
<a name="Oracle.Concepts.unsupported-features"></a>

En général, Amazon RDS ne vous empêche pas de créer des schémas pour des fonctions non prises en charge. Toutefois, si vous créez des schémas pour des fonctions et des composants Oracle nécessitant des privilèges SYS, vous pouvez endommager le dictionnaire de données et affecter la disponibilité de votre instance. Utilisez uniquement les fonctions et schémas pris en charge et disponibles dans [Ajout d'options aux instances de base de données Oracle](Appendix.Oracle.Options.md).

## Limitations pour les privilèges d’administrateur de base de données dans RDS for Oracle
<a name="Oracle.Concepts.dba-limitations"></a>

Dans la base de données, un rôle est un ensemble de privilèges que vous pouvez accorder ou révoquer à un utilisateur. Une base de données Oracle utilise des rôles pour assurer la sécurité.

Le rôle prédéfini `DBA` autorise normalement tous les privilèges d'administration sur une base de données Oracle. Lorsque vous créez une instance de base de données, votre compte utilisateur principal obtient des privilèges d'administrateur de base de données (avec certaines restrictions). Pour offrir une expérience gérée, une base de données RDS for Oracle ne fournit pas les privilèges suivants au rôle `DBA` : 
+ `ALTER DATABASE`
+ `ALTER SYSTEM`
+ `CREATE ANY DIRECTORY`
+ `DROP ANY DIRECTORY`
+ `GRANT ANY PRIVILEGE`
+ `GRANT ANY ROLE`

Utilisez ce compte utilisateur principal pour des tâches administratives comme la création de comptes utilisateurs supplémentaires dans la base de données. Vous ne pouvez pas utiliser `SYS`, `SYSTEM` et d'autres comptes administratifs fournis par Oracle. 

## Obsolescence de la sécurité de la couche de transport TLS 1.0 et 1.1 dans RDS for Oracle
<a name="Oracle.Concepts.tls"></a>

Les versions 1.0 et 1.1 du protocole de sécurité de la couche de transport (TLS 1.0 et TLS 1.1) sont rendues obsolètes. Conformément aux bonnes pratiques de sécurité, Oracle a rendu obsolète l'utilisation de TLS 1.0 et TLS 1.1. Pour répondre à vos exigences de sécurité, nous vous recommandons fortement d’utiliser TLS 1.2 à la place.

# Connexion à votre instance de base de données Oracle
<a name="USER_ConnectToOracleInstance"></a>

Une fois qu'Amazon RDS a provisionné votre instance de base de données Oracle, vous pouvez utiliser n'importe quelle application cliente SQL standard pour vous connecter à votre instance de base de données. RDS étant un service géré, vous ne pouvez pas vous connecter en tant que SYS ni SYSTEM. Pour de plus amples informations, consultez [Utilisateurs et privilèges RDS for Oracle](Oracle.Concepts.Privileges.md).

Dans cette rubrique, vous allez apprendre à utiliser Oracle SQL Developer ou SQL\$1Plus pour vous connecter à une instance de base de données RDS for Oracle. Pour obtenir un exemple qui vous explique le processus de création et de connexion à un exemple d'instance de base de données, consultez [Création et connexion à une instance de base de données Oracle](CHAP_GettingStarted.CreatingConnecting.Oracle.md). 

**Topics**
+ [

# Recherche du point de terminaison de votre instance de base de données RDS for Oracle
](USER_Endpoint.md)
+ [

# Connexion à votre instance de base de données à l'aide d'Oracle SQL Developer
](USER_ConnectToOracleInstance.SQLDeveloper.md)
+ [

# Connexion à votre instance de base de données à l'aide de SQL\$1Plus
](USER_ConnectToOracleInstance.SQLPlus.md)
+ [

# Considérations relatives aux groupes de sécurité
](USER_ConnectToOracleInstance.Security.md)
+ [

# Considérations relatives à l'architecture des processus
](USER_ConnectToOracleInstance.SharedServer.md)
+ [

# Résolution des problèmes de connexion à votre instance de base de données Oracle
](USER_ConnectToOracleInstance.Troubleshooting.md)
+ [

# Modification des propriétés de connexion à l'aide des paramètres sqlnet.ora
](USER_ModifyInstance.Oracle.sqlnet.md)

# Recherche du point de terminaison de votre instance de base de données RDS for Oracle
<a name="USER_Endpoint"></a>

Chaque instance de base de données Amazon RDS possède un point de terminaison. Chaque point de terminaison possède le nom DNS et le numéro de port de l'instance de base de données. Pour connecter votre instance de base de données à l'aide d'une application cliente SQL, vous avez besoin du nom DNS et du numéro de port de votre instance de base de données. 

Vous pouvez trouver le point de terminaison d'une instance de base de données à l'aide de la console Amazon RDS ou de l'AWS CLI.

**Note**  
Si vous utilisez l'authentification Kerberos, veuillez consulter [Connexion à Oracle avec l'authentification Kerberos](oracle-kerberos-connecting.md).

## console
<a name="USER_Endpoint.Console"></a>

**Pour rechercher le point de terminaison à l'aide de la console**

1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Dans le coin supérieur droit de la console, choisissez la région AWS de votre instance de base de données. 

1. Trouvez le numéro de port et le nom DNS pour votre instance de base de données. 

   1. Choisissez **Bases de données** pour afficher une liste de vos instances de bases de données. 

   1. Choisissez le nom de l'instance de base de données Oracle pour afficher les détails de l'instance. 

   1. Dans l'onglet **Connectivity & security (Connectivité et sécurité)**, copiez le point de terminaison. Notez également le numéro du port. Vous avez besoin du point de terminaison et du numéro de port pour vous connecter à l'instance de base de données.  
![\[Localisez le port et le point de terminaison de l'instance de base de données\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/OracleConnect1.png)

## AWS CLI
<a name="USER_Endpoint.CLI"></a>

Pour trouver le point de terminaison d'une instance de base de données Oracle à l'aide de l'AWS CLI, appelez la commande [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html). 

**Example Pour rechercher le point de terminaison à l'aide de l AWS CLI**  

```
1. aws rds describe-db-instances
```
Recherchez `Endpoint` dans la sortie pour trouver le nom DNS et le numéro de port de votre instance de base de données. La ligne `Address` de la sortie contient le nom DNS. Voici un exemple de sortie de point de terminaison JSON.  

```
"Endpoint": {
    "HostedZoneId": "Z1PVIF0B656C1W",
    "Port": 3306,
    "Address": "myinstance.123456789012.us-west-2.rds.amazonaws.com"
},
```

**Note**  
La sortie peut contenir des informations pour plusieurs instances de bases de données.

# Connexion à votre instance de base de données à l'aide d'Oracle SQL Developer
<a name="USER_ConnectToOracleInstance.SQLDeveloper"></a>

Dans cette procédure, vous vous connectez à votre instance de base de données à l'aide d'Oracle SQL Developer. Pour télécharger une version autonome de cet utilitaire, consultez la [page des téléchargements pour les développeur Oracle SQL](https://www.oracle.com/tools/downloads/sqldev-downloads.html).

Pour vous connecter à votre instance de base de données, vous avez besoin de son nom DNS et de son numéro de port. Pour plus d'informations sur la recherche du nom DNS et du numéro de port d'une instance de base de données, consultez [Recherche du point de terminaison de votre instance de base de données RDS for Oracle](USER_Endpoint.md).

**Pour vous connecter à une instance de base de données à l'aide de SQL Developer**

1. Démarrez Oracle SQL Developer.

1. Sous l'onglet **Connexions**, sélectionnez l'icône **ajouter (\$1)**.  
![\[Oracle SQL Developer avec l'icône ajouter surligné\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/oracle-sqldev-plus.png)

1. Dans la boîte de dialogue **Nouvelle connexion de base de données/Sélectionner une connexion de base de données**, entrez les informations relatives à votre instance de base de données :
   + Pour **Nom de connexion**, saisissez un nom qui décrit la connexion, tel que `Oracle-RDS`.
   + Pour **Nom d'utilisateur**, saisissez le nom de l'administrateur de base de données pour l'instance de base de données.
   + Pour **Mot de passe**, saisissez le mot de passe de l'administrateur de base de données.
   + Pour **Nom d'hôte**, saisissez le nom DNS de l'instance de base de données.
   + Pour **Port**, saisissez le numéro de port.
   + Pour **SID**, saisissez le nom de la base de données. Le nom de la base de données se trouve dans l'onglet **Configuration** de la page de détails de votre base de données.

   La boîte de dialogue dûment remplie doit se présenter comme suit :  
![\[Création d'une nouvelle connexion dans Oracle SQL Developer\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/oracle-sqldev-newcon.png)

1. Choisissez **Connexion**.

1. Vous pouvez maintenant commencer à créer vos propres bases de données et à exécuter des requêtes sur votre instance de base de données et vos bases de données comme d'habitude. Pour exécuter une requête de test sur votre instance de base de données, procédez comme suit :

   1. Dans l'onglet **Feuille de calcul** de votre connexion, saisissez la requête SQL suivante.

      ```
      SELECT NAME FROM V$DATABASE;
      ```

   1. Choisissez l'icône **exécuter** pour exécuter la requête.  
![\[Exécution d'une requête dans Oracle SQL Developer à l'aide de l'icône exécuter\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/oracle-sqldev-run.png)

      SQL Developer renvoie le nom de la base de données.  
![\[Résultats de la requête dans Oracle SQL Developer\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/oracle-sqldev-results.png)

# Connexion à votre instance de base de données à l'aide de SQL\$1Plus
<a name="USER_ConnectToOracleInstance.SQLPlus"></a>

Vous pouvez utiliser un utilitaire comme SQL\$1Plus pour vous connecter à une instance de base de données Amazon RDS exécutant Oracle. Pour télécharger Oracle Instant Client, qui inclut une version autonome de SQL\$1Plus, consultez la page [ des téléchargements d'Oracle Instant Client](https://www.oracle.com/database/technologies/instant-client/downloads.html). 

Pour vous connecter à votre instance de base de données, vous avez besoin de son nom DNS et de son numéro de port. Pour plus d'informations sur la recherche du nom DNS et du numéro de port d'une instance de base de données, consultez [Recherche du point de terminaison de votre instance de base de données RDS for Oracle](USER_Endpoint.md).

**Example Pour se connecter à une instance de base de données Oracle à l'aide de SQL\$1Plus**  
Dans les exemples suivants, remplacez le nom d'utilisateur de l'administrateur de votre instance de base de données. Remplacez également le nom DNS de votre instance de base de données, puis incluez le numéro de port et le SID Oracle. La valeur SID est le nom de la base de données de l'instance de base de données que vous avez spécifié lors de la création de l'instance de base de données, pas le nom de l'instance de base de données.   
Pour Linux, macOS ou Unix :  

```
1. sqlplus 'user_name@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dns_name)(PORT=port))(CONNECT_DATA=(SID=database_name)))'
```
Pour Windows :  

```
1. sqlplus user_name@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dns_name)(PORT=port))(CONNECT_DATA=(SID=database_name)))
```
Vous devez visualiser des résultats similaires à ce qui suit.  

```
SQL*Plus: Release 12.1.0.2.0 Production on Mon Aug 21 09:42:20 2017
```
Une fois que vous avez saisi le mot de passe de l’utilisateur, l’invite SQL apparaît.  

```
SQL>
```

**Note**  
La chaîne de connexion de format court (EZ Connect), comme `sqlplus USER/PASSWORD@longer-than-63-chars-rds-endpoint-here:1521/database-identifier`, peut comporter une limite de caractères maximale. Nous vous recommandons de ne pas l'utiliser pour vous connecter.

# Considérations relatives aux groupes de sécurité
<a name="USER_ConnectToOracleInstance.Security"></a>

Pour vous connecter à votre instance de base de données, celle-ci doit être associée à un groupe de sécurité contenant les adresses IP et la configuration réseau nécessaires. Votre instance de base de données peut utiliser le groupe de sécurité par défaut. Si vous assignez un groupe de sécurité non configuré par défaut lors de la création de l'instance de base de données, le pare-feu empêche les connexions. Pour obtenir des informations sur la création d'un groupe de sécurité, consultez [Contrôle d’accès par groupe de sécurité](Overview.RDSSecurityGroups.md). 

Une fois le groupe de sécurité créé, vous devez modifier votre instance de base de données pour l'associer au groupe de sécurité. Pour plus d'informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

Vous pouvez améliorer la sécurité en utilisant SSL pour chiffrer les connexions à votre instance de base de données. Pour de plus amples informations, consultez [Oracle Secure Sockets Layer (SSL)](Appendix.Oracle.Options.SSL.md). 

# Considérations relatives à l'architecture des processus
<a name="USER_ConnectToOracleInstance.SharedServer"></a>

Le serveur traite les connexions utilisateur à une instance de base de données Oracle. Par défaut, l'instance de base de données Oracle utilise des processus serveur dédiés. Avec des processus serveur dédiés, chaque processus serveur ne traite qu'un seul processus utilisateur. Le cas échéant, vous pouvez configurer des processus serveur partagés. Avec des processus serveur partagés, chaque processus serveur peut traiter plusieurs processus utilisateur.

Vous pouvez envisager d'utiliser des processus serveur partagés quand un nombre élevé de sessions utilisateur consomment trop de mémoire sur le serveur. Vous pouvez également envisager d'utiliser des processus serveur partagés quand les sessions se connectent et déconnectent très souvent, ce qui entraîne un problème de performance. L'utilisation de processus serveur partagés présente également des inconvénients. Par exemple, elles peuvent peser sur les ressources d'UC et elles sont plus compliquées à configurer et administrer.

Pour plus d'informations sur les processus serveur dédiés et partagés, consultez [About Dedicated and Shared Server Processes (Informations relatives aux processus de serveur dédiés et partagés)](https://docs.oracle.com/database/121/ADMIN/manproc.htm#ADMIN11166) dans la documentation Oracle. Pour plus d'informations sur la configuration des processus serveur partagés sur une instance de base de données RDS for Oracle, veuillez consulter [Comment dois-je configurer des instances de base de données Amazon RDS for Oracle Database afin qu'elles fonctionnent avec des serveurs partagés ?](https://aws.amazon.com/premiumsupport/knowledge-center/oracle-db-shared/) dans le Centre de connaissances.

# Résolution des problèmes de connexion à votre instance de base de données Oracle
<a name="USER_ConnectToOracleInstance.Troubleshooting"></a>

Les problèmes suivants peuvent survenir lors d'une tentative de connexion à votre instance de base de données Oracle. 


****  

| Problème | Suggestions de dépannage | 
| --- | --- | 
|  Impossible de se connecter à votre instance de base de données.   |  Pour une instance de base de données récemment créée, l'état de l'instance de base de données est **creating (création)** jusqu'à ce qu'elle soit prête à l'emploi. Lorsque l'état devient **available (disponible)**, vous pouvez vous connecter à l'instance de base de données. En fonction de la classe d'instance de base de données et de la quantité de stockage, la mise à disposition de la nouvelle instance de base de données peut prendre jusqu'à 20 minutes.   | 
|  Impossible de se connecter à votre instance de base de données.   |  Si vous ne pouvez pas envoyer ou recevoir de communications sur le port que vous avez spécifié lors de la création de l'instance de base de données, vous ne pourrez pas vous connecter à l'instance de base de données. Vérifiez auprès de votre administrateur réseau si l'utilisation du port que vous avez spécifié pour votre instance de base de données autorise les communications entrantes et sortantes.   | 
|  Impossible de se connecter à votre instance de base de données.   |  Les règles d'accès appliquées par votre pare-feu local et les adresses IP que vous avez autorisées à accéder à votre instance de base de données dans le groupe de sécurité de l'instance de base de données peuvent ne pas correspondre. Le problème est probablement lié aux règles de sortie ou d'entrée sur votre pare-feu. Vous pouvez ajouter ou modifier une règle entrante dans le groupe de sécurité. Pour **Source**, choisissez **Mon IP**. Cela autorise à accéder à l'instance de base de données à partir de l'adresse IP détectée dans votre navigateur. Pour plus d'informations, consultez [Amazon VPC et Amazon RDS](USER_VPC.md). Pour plus d'informations sur les groupes de sécurité, consultez [Contrôle d’accès par groupe de sécurité](Overview.RDSSecurityGroups.md).  Pour passer en revue le processus de configuration de règles de votre groupe de sécurité, consultez [Tutoriel : Création d'un VPC à utiliser avec un ) IPv4](CHAP_Tutorials.WebServerDB.CreateVPC.md).   | 
|  **Connexion échouée, car l'hôte ou l'objet cible n'existe pas – Oracle, Erreur : ORA-12545 **   |  Vérifiez que vous avez spécifié le nom du serveur et le numéro de port correctement. Pour **Nom du serveur**, saisissez le nom DNS de la console.  Pour plus d'informations sur la recherche du nom DNS et du numéro de port d'une instance de base de données, consultez [Recherche du point de terminaison de votre instance de base de données RDS for Oracle](USER_Endpoint.md).  | 
|  **Invalid username/password; logon denied – Oracle, Error: ORA-01017**   |  Vous avez pu atteindre l'instance de base de données, mais la connexion a été refusée. Cela est souvent dû au fait que le nom d'utilisateur ou le mot de passe fournis sont incorrects. Vérifiez le nom d'utilisateur et le mot de passe, puis réessayez.   | 
|  **TNS:listener does not currently know of SID given in connect descriptor - Oracle, ERROR: ORA-12505** (Actuellement, TNS:listener ne connaît pas le SID attribué dans le descripteur de connexion - Oracle, ERREUR: ORA-12505)   |  Assurez-vous que le SID correct est saisi. Le SID est le même que le nom de votre base de données. Recherchez le nom de la base de données dans l'onglet **Configuration** de la page **Databases** (Bases de données) de votre instance. Vous pouvez également trouver le nom de la base de données à l'aide de l' AWS CLI :  <pre>aws rds describe-db-instances --query 'DBInstances[*].[DBInstanceIdentifier,DBName]' --output text</pre>  | 

Pour plus d’informations sur les problèmes de connexion, consultez [Impossible de se connecter à l’instance de base de données Amazon RDS](CHAP_Troubleshooting.md#CHAP_Troubleshooting.Connecting).

# Modification des propriétés de connexion à l'aide des paramètres sqlnet.ora
<a name="USER_ModifyInstance.Oracle.sqlnet"></a>

Le fichier sqlnet.ora inclut des paramètres qui configurent les fonctions Oracle Net sur les serveurs et les clients de bases de données Oracle. L'utilisation de ces paramètres dans le fichier sqlnet.ora vous permet de modifier les propriétés des connexions à l'intérieur et à l'extérieur de la base de données. 

Pour plus d'informations sur les raisons pouvant justifier la définition des paramètres sqlnet.ora, consultez [Configuring Profile Parameters (Configurations de paramètres de profil)](https://docs.oracle.com/database/121/NETAG/profile.htm#NETAG009) dans la documentation Oracle.

## Définition des paramètres sqlnet.ora
<a name="USER_ModifyInstance.Oracle.sqlnet.Setting"></a>

Les groupes de paramètres Amazon RDS for Oracle incluent un sous-ensemble de paramètres sqlnet.ora. Vous les définissez de la même manière que les autres paramètres Oracle. C'est le préfixe `sqlnetora.` qui identifie les paramètres sqlnet.ora. Par exemple, dans un groupe de paramètres Oracle dans Amazon RDS, le paramètre sqlnet.ora `default_sdu_size` est `sqlnetora.default_sdu_size`.

Pour plus d'informations sur la gestion des groupes de paramètres et la définition des valeurs de paramètres, consultez [Groupes de paramètres pour Amazon RDS](USER_WorkingWithParamGroups.md).

## Paramètres sqlnet.ora pris en charge
<a name="USER_ModifyInstance.Oracle.sqlnet.Supported"></a>

Amazon RDS prend en charge les paramètres sqlnet.ora ci-après. Les modifications apportées aux paramètres sqlnet.ora dynamiques sont appliquées immédiatement.


****  

| Paramètre | Valeurs valides | Statique/Dynamique | Description | 
| --- | --- | --- | --- | 
|  `sqlnetora.default_sdu_size`  |  `512` sur `2097152`   |  Répartition dynamique  |  Taille, en octets, de l'unité de données de session (SDU).  L'unité de données de session (SDU) est la quantité de données placées dans une mémoire tampon et envoyées dans le réseau en une seule fois.  | 
|  `sqlnetora.diag_adr_enabled`  |  `ON`, `OFF`   |  Répartition dynamique  |  Valeur qui active ou désactive le traçage Automatic Diagnostic Repository (ADR).  `ON` indique que le traçage de fichier ADR est utilisé. `OFF` indique que le traçage de fichier non-ADR est utilisé.  | 
|  `sqlnetora.recv_buf_size`  |  `8192` sur `268435456`   |  Répartition dynamique  |  Limite d'espace tampon pour les opérations de réception des sessions, prise en charge TCP/IP, TCP/IP par les protocoles SSL et SDP.   | 
|  `sqlnetora.send_buf_size`  |  `8192` sur `268435456`   |  Répartition dynamique  |  Limite d'espace tampon pour les opérations d'envoi de sessions, prise en charge TCP/IP, TCP/IP par les protocoles SSL et SDP.   | 
|  `sqlnetora.sqlnet.allowed_logon_version_client`  |  `8`, `10`, `11`, `12`   |  Répartition dynamique  |  Version de protocole d'authentification minimum autorisée pour les clients, et les serveurs agissant en tant que clients, pour établir une connexion aux instances de bases de données Oracle.  | 
|  `sqlnetora.sqlnet.allowed_logon_version_server`  |  `8`, `9`, `10`, `11`, `12`, `12a`   |  Répartition dynamique  |  Version de protocole d'authentification minimum autorisée pour établir une connexion aux instances de bases de données Oracle.  | 
|  `sqlnetora.sqlnet.expire_time`  |  `0` sur `1440`   |  Répartition dynamique  |  Intervalle, en minutes, pour envoyer une instruction visant à vérifier que les connexions client-serveur sont actives.   | 
|  `sqlnetora.sqlnet.inbound_connect_timeout`  |  `0` ou `10` à `7200`   |  Répartition dynamique  |  Délai, en secondes, imparti à un client pour se connecter au serveur de bases de données et pour fournir les informations d'authentification nécessaires.   | 
|  `sqlnetora.sqlnet.outbound_connect_timeout`  |  `0` ou `10` à `7200`   |  Répartition dynamique  |  Délai, en secondes, imparti à un client pour établir une connexion Oracle Net avec une instance de base de données.   | 
|  `sqlnetora.sqlnet.recv_timeout`  |  `0` ou `10` à `7200`   |  Répartition dynamique  |  Délai, en secondes, imparti à un serveur de bases de données pour attendre les données client après l'établissement d'une connexion.   | 
|  `sqlnetora.sqlnet.send_timeout`  |  `0` ou `10` à `7200`   |  Répartition dynamique  |  Délai, en secondes, imparti à un serveur de bases de données pour terminer une opération d'envoi aux clients après l'établissement d'une connexion.   | 
|  `sqlnetora.tcp.connect_timeout`  |  `0` ou `10` à `7200`   |  Répartition dynamique  |  Délai, en secondes, imparti à un client pour établir une connexion TCP avec un serveur de bases de données.   | 
|  `sqlnetora.trace_level_server`  |  `0`, `4`, `10`, `16`, `OFF`, `USER`, `ADMIN`, `SUPPORT`  |  Répartition dynamique  | Pour le traçage non-ADR, active le traçage du serveur à un niveau défini ou le désactive. | 

La valeur par défaut pour chaque paramètre sqlnet.ora pris en charge est la valeur par défaut Oracle Database correspondant à la version.

## Affichage des paramètres sqlnet.ora
<a name="USER_ModifyInstance.Oracle.sqlnet.Viewing"></a>

Vous pouvez consulter les paramètres de sqlnet.ora et leurs paramètres à l'aide du AWS Management Console AWS CLI, du ou d'un client SQL.

### Affichage des paramètres sqlnet.ora à l'aide de la console
<a name="USER_ModifyInstance.Oracle.sqlnet.Viewing.Console"></a>

Pour plus d'informations sur l'affichage des paramètres d'un groupe de paramètres, consultez [Groupes de paramètres pour Amazon RDS](USER_WorkingWithParamGroups.md).

Dans les groupes de paramètres Oracle, c'est le préfixe `sqlnetora.` qui identifie les paramètres sqlnet.ora.

### Affichage des paramètres de sqlnet.ora à l'aide du AWS CLI
<a name="USER_ModifyInstance.Oracle.sqlnet.Viewing.CLI"></a>

Pour afficher les paramètres sqlnet.ora qui ont été configurés dans un groupe de paramètres Oracle, utilisez la commande. AWS CLI [describe-db-parameters](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-parameters.html)

[Pour afficher tous les paramètres sqlnet.ora d'une instance de base de données Oracle, appelez la commande -portion. AWS CLI download-db-log-file](https://docs.aws.amazon.com/cli/latest/reference/rds/download-db-log-file-portion.html) Spécifiez l'identifiant de l'instance de base de données, le nom du fichier journal et le type de sortie. 

**Example**  
Le code suivant répertorie tous les paramètres sqlnet.ora pour `mydbinstance`.   
Pour Linux, macOS ou Unix :  

```
aws rds download-db-log-file-portion \
    --db-instance-identifier mydbinstance \
    --log-file-name trace/sqlnet-parameters \
    --output text
```
Pour Windows :  

```
aws rds download-db-log-file-portion ^
    --db-instance-identifier mydbinstance ^
    --log-file-name trace/sqlnet-parameters ^
    --output text
```

### Affichage des paramètres sqlnet.ora à l'aide d'un client SQL
<a name="USER_ModifyInstance.Oracle.sqlnet.Viewing.SQL"></a>

Une fois que vous vous êtes connecté à l'instance de base de données Oracle dans un client SQL, la requête suivante répertorie les paramètres sqlnet.ora.

```
1. SELECT * FROM TABLE
2.    (rdsadmin.rds_file_util.read_text_file(
3.         p_directory => 'BDUMP',
4.         p_filename  => 'sqlnet-parameters'));
```

Pour plus d'informations sur la connexion à une instance de base de données Oracle dans un client SQL, consultez [Connexion à votre instance de base de données Oracle](USER_ConnectToOracleInstance.md).

# Sécurisation des connexions d'instance de base de données Oracle
<a name="Oracle.Concepts.RestrictedDBAPrivileges"></a>

Amazon RDS for Oracle prend en charge les connexions chiffrées SSL/TLS ainsi que l'option Oracle Native Network Encryption (NNE) pour chiffrer les connexions entre votre application et votre instance de base de données Oracle. Pour plus d'informations sur l'option Oracle Native Network Encryption, consultez [Oracle NNE (Native Network Encryption)](Appendix.Oracle.Options.NetworkEncryption.md). 

**Topics**
+ [

# Utilisation de SSL avec une instance de base de données RDS for Oracle
](Oracle.Concepts.SSL.md)
+ [

# Mise à jour des applications pour se connecter aux instances de base de données Oracle à l'aide de nouveaux SSL/TLS certificats
](ssl-certificate-rotation-oracle.md)
+ [

# Utilisation d'un chiffrement NNE (Native Network Encryption) avec une instance de base de données RDS for Oracle
](Oracle.Concepts.NNE.md)
+ [

# Configuration de l'authentification Kerberos pour Amazon RDS for Oracle
](oracle-kerberos.md)
+ [

# Configuration de l'accès UTL\$1HTTP à l'aide de certificats et d'un portefeuille Oracle
](Oracle.Concepts.ONA.md)

# Utilisation de SSL avec une instance de base de données RDS for Oracle
<a name="Oracle.Concepts.SSL"></a>

Secure Sockets Layer (SSL) est un protocole de norme industrielle utilisé pour sécuriser les connexions réseau entre client et serveur. Après la version 3.0 de SSL, le nom du protocole est devenu Transport Layer Security (TLS), mais nous y faisons souvent référence en tant que SSL. Amazon RDS prend en charge le chiffrement SSL pour les instances de base de données Oracle. En utilisant SSL, vous pouvez chiffrer une connexion entre votre application client et votre instance de base de données Oracle. Le support SSL est disponible dans toutes les Régions AWS pour Oracle.

Pour activer le chiffrement SSL (Secure Sockets Layer) pour une instance de base de données Oracle, ajoutez l'option Oracle SSL au groupe d'options associé avec l'instance de base de données. Amazon RDS utilise un deuxième port, comme l'exige Oracle, pour les connexions SSL. Cette approche permet aussi bien aux communications en texte clair que celles à chiffrement SSL de se produire simultanément entre une instance de base de données et un client Oracle. Par exemple, vous pouvez utiliser le port avec une communication en texte clair pour communiquer avec d'autres ressources à l'intérieur d'un VPC, tout en utilisant le port avec une communication à chiffrement SSL pour communiquer avec des ressources extérieures au VPC. 

Pour plus d'informations, consultez [Oracle Secure Sockets Layer (SSL)](Appendix.Oracle.Options.SSL.md). 

**Note**  
Vous ne pouvez pas utiliser le chiffrement SSL et le chiffrement Oracle NNE sur la même instance de base de données. Avant d'utiliser le chiffrement SSL, vous devez désactiver tout autre chiffrement de connexion. 

# Mise à jour des applications pour se connecter aux instances de base de données Oracle à l'aide de nouveaux SSL/TLS certificats
<a name="ssl-certificate-rotation-oracle"></a>

Le 13 janvier 2023, Amazon RDS a publié de nouveaux certificats d'autorité de certification (CA) pour la connexion à vos instances de base de données RDS à l'aide du protocole Secure Socket Layer ou Transport Layer Security (SSL/TLS). Vous trouverez ci-après des informations sur la mise à jour de vos applications afin d’utiliser les nouveaux certificats.

Cette rubrique peut vous aider à déterminer si des applications clientes sont utilisées SSL/TLS pour se connecter à vos instances de base de données. 

**Important**  
Lorsque vous modifiez le certificat d'une instance de base de données Amazon RDS for Oracle, seul le processus d'écoute de base de données est redémarré. L'instance de base de données n'est pas redémarrée. Les connexions de base de données existantes ne sont pas affectées, mais les nouvelles connexions rencontrent des erreurs pendant une brève période au cours du redémarrage du processus d'écoute.  
Nous vous recommandons de redémarrer votre base de données Oracle pour éviter toute erreur de connexion.

**Note**  
Pour les applications clientes qui se connectent SSL/TLS à vos instances de base de données, vous devez mettre à jour les magasins de confiance de vos applications clientes pour inclure les nouveaux certificats CA. 

Une fois que vous avez mis à jour les certificats de l'autorité de certification dans les magasins d'approbations des applications clientes, vous pouvez soumettre les certificats de vos instances de bases de données à une rotation. Nous vous recommandons vivement de tester ces procédures dans un environnement de développement ou intermédiaire avant de les implémenter dans vos environnements de production.

Pour plus d’informations sur la rotation de certificats, consultez [Rotation de votre SSL/TLS certificat](UsingWithRDS.SSL-certificate-rotation.md). Pour en savoir plus sur le téléchargement de certificats, consultez [](UsingWithRDS.SSL.md). Pour plus d'informations sur l'utilisation SSL/TLS avec les instances de base de données Oracle, consultez[Oracle Secure Sockets Layer (SSL)](Appendix.Oracle.Options.SSL.md).

**Topics**
+ [

## Déterminer si les applications se connectent via SSL
](#ssl-certificate-rotation-oracle.determining)
+ [

## Mise à jour du magasin d’approbations de votre application
](#ssl-certificate-rotation-oracle.updating-trust-store)
+ [

## Exemple de code Java pour l'établissement de connexions SSL
](#ssl-certificate-rotation-oracle.java-example)

## Déterminer si les applications se connectent via SSL
<a name="ssl-certificate-rotation-oracle.determining"></a>

Si votre instance de base de données Oracle utilise un groupe d'options avec l'option `SSL` ajoutée, vous pouvez utiliser SSL. Procédez à la vérification en suivant les instructions dans [Liste des options et des paramètres d’options pour un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.ListOption). Pour plus d’informations sur l’option `SSL`, consultez [Oracle Secure Sockets Layer (SSL)](Appendix.Oracle.Options.SSL.md).

Vérifiez le journal d'écouteur afin de déterminer s'il existe des connexions SSL. Voici un exemple de sortie dans un journal d'écouteur.

```
date time * (CONNECT_DATA=(CID=(PROGRAM=program)
(HOST=host)(USER=user))(SID=sid)) * 
(ADDRESS=(PROTOCOL=tcps)(HOST=host)(PORT=port)) * establish * ORCL * 0
```

Lorsque `PROTOCOL` possède la valeur `tcps` pour une entrée, il affiche une connexion SSL. Cependant, quand `HOST` est `127.0.0.1`, vous pouvez ignorer l'entrée. Les connexions provenant de `127.0.0.1` sont un agent de gestion locale sur l'instance de base de données. Il ne s'agit pas de connexions SSL externes. Par conséquent, vous avez des applications se connectant à l'aide d'un protocole SSL si vous voyez des entrées de journal d'écouteur pour lesquelles `PROTOCOL` est `tcps` et `HOST` n'est *pas* `127.0.0.1`.

Pour consulter le journal de l'écouteur, vous pouvez le publier sur Amazon CloudWatch Logs. Pour de plus amples informations, veuillez consulter [Publication de journaux Oracle sur Amazon CloudWatch Logs](USER_LogAccess.Concepts.Oracle.md#USER_LogAccess.Oracle.PublishtoCloudWatchLogs).

## Mise à jour du magasin d’approbations de votre application
<a name="ssl-certificate-rotation-oracle.updating-trust-store"></a>

Vous pouvez mettre à jour le trust store pour les applications qui utilisent SQL\$1Plus ou JDBC pour les connexions. SSL/TLS 

### Mise à jour du magasin d'approbations des applications pour SQL\$1Plus
<a name="ssl-certificate-rotation-oracle.updating-trust-store.sqlplus"></a>

Vous pouvez mettre à jour le trust store pour les applications qui utilisent SQL\$1Plus pour les connexions. SSL/TLS 

**Note**  
Lors de la mise à jour du magasin d’approbations, vous pouvez conserver les certificats plus anciens en complément de l’ajout des nouveaux certificats.

**Pour mettre à jour le magasin d'approbations pour les applications SQL\$1Plus**

1. Téléchargez le nouveau certificat racine qui fonctionne pour toutes les AWS régions et placez le fichier dans le `ssl_wallet` répertoire.

   Pour plus d'informations sur le téléchargement du certificat racine, consultez [](UsingWithRDS.SSL.md).

1. Exécutez la commande suivante afin de mettre à jour le portefeuille Oracle.

   ```
   prompt>orapki wallet add -wallet $ORACLE_HOME/ssl_wallet -trusted_cert -cert
         $ORACLE_HOME/ssl_wallet/ssl-cert.pem -auto_login_only
   ```

   Remplacez le nom du fichier par celui du fichier téléchargé.

1. Exécutez la commande suivante pour vérifier que le portefeuille a été installé avec succès.

   ```
   prompt>orapki wallet display -wallet $ORACLE_HOME/ssl_wallet                     
   ```

   La sortie doit contenir les lignes suivantes :

   ```
   Trusted Certificates: 
   Subject: CN=Amazon RDS Root 2019 CA,OU=Amazon RDS,O=Amazon Web Services\, Inc.,L=Seattle,ST=Washington,C=US
   ```

### Mise à jour du magasin d'approbations de votre application pour JDBC
<a name="ssl-certificate-rotation-oracle.updating-trust-store.jdbc"></a>

Vous pouvez mettre à jour le trust store pour les applications qui utilisent JDBC pour les SSL/TLS connexions.

Pour plus d’informations sur le téléchargement du certificat racine, consultez [](UsingWithRDS.SSL.md).

Pour obtenir des exemples de scripts qui importent des certificats, consultez [Exemple de script pour importer les certificats dans votre magasin d’approbations](UsingWithRDS.SSL-certificate-rotation.md#UsingWithRDS.SSL-certificate-rotation-sample-script).

## Exemple de code Java pour l'établissement de connexions SSL
<a name="ssl-certificate-rotation-oracle.java-example"></a>

L’exemple de code suivant montre comment configurer la connexion SSL à l’aide de JDBC.

```
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
 
public class OracleSslConnectionTest {
    private static final String DB_SERVER_NAME = "<dns-name-provided-by-amazon-rds>";
    private static final Integer SSL_PORT = "<ssl-option-port-configured-in-option-group>";
    private static final String DB_SID = "<oracle-sid>";
    private static final String DB_USER = "<user name>";
    private static final String DB_PASSWORD = "<password>";
    // This key store has only the prod root ca.
    private static final String KEY_STORE_FILE_PATH = "<file-path-to-keystore>";
    private static final String KEY_STORE_PASS = "<keystore-password>";
 
    public static void main(String[] args) throws SQLException {
        final Properties properties = new Properties();
        final String connectionString = String.format(
                "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=%s)(PORT=%d))(CONNECT_DATA=(SID=%s)))",
                DB_SERVER_NAME, SSL_PORT, DB_SID);
        properties.put("user", DB_USER);
        properties.put("password", DB_PASSWORD);
        properties.put("oracle.jdbc.J2EE13Compliant", "true");
        properties.put("javax.net.ssl.trustStore", KEY_STORE_FILE_PATH);
        properties.put("javax.net.ssl.trustStoreType", "JKS");
        properties.put("javax.net.ssl.trustStorePassword", KEY_STORE_PASS);
        final Connection connection = DriverManager.getConnection(connectionString, properties);
        // If no exception, that means handshake has passed, and an SSL connection can be opened
    }
}
```

**Important**  
Une fois que vous avez déterminé que vos connexions à la base de données utilisent SSL/TLS et que vous avez mis à jour votre magasin de confiance d'applications, vous pouvez mettre à jour votre base de données pour utiliser les certificats rds-ca-rsa 2048-g1. Pour obtenir des instructions, consultez l’étape 3 dans [Mise à jour de votre certificat CA en modifiant votre instance de base de données ou votre cluster](UsingWithRDS.SSL-certificate-rotation.md#UsingWithRDS.SSL-certificate-rotation-updating).

# Utilisation d'un chiffrement NNE (Native Network Encryption) avec une instance de base de données RDS for Oracle
<a name="Oracle.Concepts.NNE"></a>

Oracle Database propose deux méthodes de chiffrement des données sur le réseau : le chiffrement NNE (Native Network Encryption) et le protocole TLS (Transport Layer Security). NNE est une fonctionnalité de sécurité exclusive d'Oracle, tandis que le protocole TLS est une norme industrielle. RDS for Oracle prend en charge NNE pour toutes les éditions d'Oracle Database.

Le chiffrement NNE présente les avantages suivants par rapport au protocole TLS :
+ Vous pouvez contrôler NNE sur le client et le serveur à l'aide des paramètres de l'option NNE :
  + `SQLNET.ALLOW_WEAK_CRYPTO_CLIENTS` et `SQLNET.ALLOW_WEAK_CRYPTO`
  + `SQLNET.CRYPTO_CHECKSUM_CLIENT` et `SQLNET.CRYPTO_CHECKSUM_SERVER`
  + `SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT` et `SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER`
  + `SQLNET.ENCRYPTION_CLIENT` et `SQLNET.ENCRYPTION_SERVER`
  + `SQLNET.ENCRYPTION_TYPES_CLIENT` et `SQLNET.ENCRYPTION_TYPES_SERVER`
+ Dans la plupart des cas, vous n'avez pas besoin de configurer votre client ou votre serveur. En revanche, TLS vous oblige à configurer à la fois le client et le serveur.
+ Aucun certificat n'est requis. Dans le protocole TLS, le serveur nécessite un certificat (qui finit par expirer) et le client nécessite un certificat racine approuvé pour l'autorité de certification qui a émis le certificat du serveur.

Pour activer le chiffrement NNE pour une instance de base de données Oracle, ajoutez l'option Oracle NNE au groupe d'options associé à l'instance de base de données. Pour plus d’informations, consultez [Oracle NNE (Native Network Encryption)](Appendix.Oracle.Options.NetworkEncryption.md). 

**Note**  
Vous ne pouvez pas utiliser à la fois NNE et TLS sur la même instance de base de données.

# Configuration de l'authentification Kerberos pour Amazon RDS for Oracle
<a name="oracle-kerberos"></a>

Vous pouvez désormais utiliser l'authentification Kerberos pour authentifier les utilisateurs lorsqu'ils se connectent à votre instance de base de données Amazon RDS for Oracle. Dans cette configuration, votre instance de base de données fonctionne avec AWS Directory Service for Microsoft Active Directory, également appelé AWS Managed Microsoft AD. Lorsque les utilisateurs s'authentifient auprès d'une instance de base de données RDS for Oracle jointe au domaine d'approbation, les demandes d'authentification sont transmises à l'annuaire de domaine que vous créez avec Directory Service.

Vous pouvez gagner du temps et de l'argent en conservant toutes les informations d'identification dans le même annuaire. Vous avez un endroit centralisé de stockage et de gestion des informations d'identification pour plusieurs instances de base de données. Un annuaire peut également améliorer votre profil de sécurité global.

# Disponibilité des régions et des versions
<a name="oracle-kerberos-setting-up.RegionVersionAvailability"></a>

La disponibilité et la prise en charge des fonctionnalités varient selon les versions spécifiques de chaque moteur de base de données, et selon les Régions AWS. Pour obtenir plus d'informations sur la disponibilité des versions et des régions de RDS for Oracle avec authentification Kerberos, consultez [Régions et moteurs de base de données pris en charge pour l’authentification Kerberos dans Amazon RDS](Concepts.RDS_Fea_Regions_DB-eng.Feature.KerberosAuthentication.md).

**Note**  
L'authentification Kerberos n'est pas prise en charge pour les classes d'instances de base de données qui sont obsolètes pour les instances de base de données RDS for Oracle. Pour de plus amples informations, veuillez consulter [Classes d’instance de base de données RDS for Oracle](Oracle.Concepts.InstanceClasses.md).

**Topics**
+ [

# Disponibilité des régions et des versions
](oracle-kerberos-setting-up.RegionVersionAvailability.md)
+ [

# Configuration des instances de base de données Kerberos pour Oracle
](oracle-kerberos-setting-up.md)
+ [

# Gestion d'une instance de base de données dans un domaine
](oracle-kerberos-managing.md)
+ [

# Connexion à Oracle avec l'authentification Kerberos
](oracle-kerberos-connecting.md)

# Configuration des instances de base de données Kerberos pour Oracle
<a name="oracle-kerberos-setting-up"></a>

Utilisé AWS Directory Service for Microsoft Active Directory, également appelé AWS Managed Microsoft AD, pour configurer l'authentification Kerberos pour une instance de base de données Oracle. Pour configurer l'authentification Kerberos, procédez comme suit :
+ [Étape 1 : créer un répertoire à l'aide du AWS Managed Microsoft AD](#oracle-kerberos.setting-up.create-directory)
+ [Étape 2 : Créer une approbation](#oracle-kerberos.setting-up.create-forest-trust)
+ [Étape 3 : configurer les autorisations IAM pour Amazon RDS](#oracle-kerberos.setting-up.CreateIAMRole)
+ [Étape 4 : Créer et configurer des utilisateurs](#oracle-kerberos.setting-up.create-users)
+ [Étape 5 : Activer le trafic entre VPC entre le répertoire et l'instance de base de données](#oracle-kerberos.setting-up.vpc-peering)
+ [Étape 6 : Créer ou modifier une instance de base de données Oracle](#oracle-kerberos.setting-up.create-modify)
+ [Étape 7 : Créer les connexions Oracle d'authentification Kerberos](#oracle-kerberos.setting-up.create-logins)
+ [Étape 8 : Configurer un client Oracle](#oracle-kerberos.setting-up.configure-oracle-client)

**Note**  
Au cours de la configuration, RDS crée un utilisateur de base de données Oracle nommé *managed\$1service\$1user* @ *example.com* avec le `CREATE SESSION` privilège « Où *example.com* est votre nom de domaine ». Cet utilisateur correspond à l'utilisateur créé par Directory Service dans votre annuaire Active Directory géré. Régulièrement, RDS utilise les informations d'identification fournies par Directory Service pour se connecter à votre base de données Oracle. Par la suite, RDS détruit immédiatement les tickets mis en cache.

## Étape 1 : créer un répertoire à l'aide du AWS Managed Microsoft AD
<a name="oracle-kerberos.setting-up.create-directory"></a>

Directory Service crée un Active Directory entièrement géré dans le AWS cloud. Lorsque vous créez un AWS Managed Microsoft AD annuaire, il Directory Service crée deux contrôleurs de domaine et des serveurs DNS (Domain Name System) en votre nom. Les serveurs de répertoire sont créés dans des sous-réseaux différents d’un VPC. Cette redondance permet de s’assurer que votre annuaire reste accessible, y compris en cas de défaillance. 

Lorsque vous créez un AWS Managed Microsoft AD répertoire, il Directory Service exécute les tâches suivantes en votre nom : 
+ Configuration d'un annuaire Active Directory dans le VPC. 
+ Création d'un compte d'administrateur d'annuaire avec le nom d'utilisateur Admin et le mot de passe spécifié. Ce compte est utilisé pour gérer votre annuaire. 
**Note**  
N'oubliez pas de sauvegarder ce mot de passe. Directory Service ne le stocke pas. Vous pouvez le réinitialiser, mais vous ne pouvez pas le récupérer. 
+ Création d’un groupe de sécurité pour les contrôleurs de l’annuaire. 

Lorsque vous lancez un AWS Managed Microsoft AD, AWS crée une unité organisationnelle (UO) qui contient tous les objets de votre répertoire. Cette unité organisationnelle, qui porte le nom NetBIOS que vous avez saisi lorsque vous avez créé votre annuaire, est située dans la racine du domaine. La racine du domaine est détenue et gérée par AWS. 

Le compte administrateur créé avec votre AWS Managed Microsoft AD annuaire dispose d'autorisations pour les activités administratives les plus courantes de votre unité d'organisation : 
+ Création, mise à jour et suppression des utilisateurs 
+ Ajouter des ressources à votre domaine, comme des serveurs de fichiers ou d’impression, puis attribuer des autorisations pour ces ressources aux utilisateurs dans votre unité organisationnelle 
+ Créez des conteneurs OUs et des conteneurs supplémentaires 
+ Déléguer des autorités 
+ Restaurer des objets supprimés de la corbeille Active Directory 
+ Exécuter les PowerShell modules Windows AD et DNS sur le service Web Active Directory 

Le compte Admin dispose également de droits pour exécuter les activités suivantes au niveau du domaine : 
+ Gérer les configurations DNS (ajouter, supprimer ou mettre à jour des enregistrements, des zones et des redirecteurs) 
+ Afficher les journaux d’événements DNS 
+ Afficher les journaux d’événements de sécurité 

Pour créer le répertoire, utilisez l'API AWS Management Console AWS CLI, le ou l' Directory Service API. Veillez à ouvrir les ports sortants appropriés sur le groupe de sécurité afin que l'annuaire puisse communiquer avec l'instance de base de données Oracle.

**Pour créer un répertoire avec AWS Managed Microsoft AD**

1. Connectez-vous à la Directory Service console AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/directoryservicev2/](https://console.aws.amazon.com/directoryservicev2/).

1. Dans le panneau de navigation, choisissez **Directories** (Répertoires), puis **Set up Directory** (Configurer un répertoire). 

1. Choisissez **AWS Managed Microsoft AD**. AWS Managed Microsoft AD est la seule option que vous pouvez actuellement utiliser avec Amazon RDS. 

1.  Entrez les informations suivantes :   
**Nom de DNS de l’annuaire**  
Nom complet de l’annuaire, par exemple **corp.example.com**.   
**Nom NetBIOS de l’annuaire**  
Nom court de l’annuaire, par exemple **CORP**.   
**Description de l’annuaire**  
(Facultatif) Une description de l’annuaire.   
**Mot de passe administrateur**  
Mot de passe de l'administrateur de l'annuaire. Le processus de création d’un annuaire crée un compte d’administrateur avec le nom d’utilisateur Admin et ce mot de passe.   
Le mot de passe de l'administrateur de l'annuaire ne peut pas contenir le terme « admin ». Le mot de passe est sensible à la casse et doit comporter entre 8 et 64 caractères. Il doit également contenir au moins un caractère de trois des quatre catégories suivantes :   
   + Lettres minuscules (a–z) 
   + Lettres majuscules (A–Z) 
   + Chiffres (0–9) 
   + Caractères non alphanumériques (\$1\$1@\$1\$1%^&\$1\$1-\$1=`\$1\$1()\$1\$1[]:;"’<>,.?/)   
**Confirmer le mot de passe**  
Saisissez à nouveau le mot de passe de l'administrateur. 

1. Choisissez **Suivant**.

1.  Entrez les informations suivantes dans la section **Networking** (Réseaux), puis choisissez **Suivant** (Next) :   
**VPC**  
VPC de l'annuaire. Créez l'instance de base de données Oracle dans ce même VPC.   
**Sous-réseaux**  
Sous-réseaux pour les serveurs d’annuaires. Les deux sous-réseaux doivent être dans des zones de disponibilité différentes. 

1.  Vérifiez les informations concernant l’annuaire et effectuez les modifications nécessaires. Lorsque les informations sont correctes, choisissez **Create directory (Créer l’annuaire)**.   
![\[Page de détails de l'annuaire lors de la création\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/WinAuth2.png)

La création de l'annuaire prend plusieurs minutes. Lorsqu’il est créé, la valeur du champ **Statut** devient **Actif**. 

Pour consulter les informations relatives à votre annuaire, choisissez le nom de l'annuaire dans la liste. Notez la valeur **ID de l'annuaire**, car vous avez besoin de cette valeur lorsque vous créez ou modifiez votre instance de base de données Oracle. 

![\[Page de détails de l'annuaire\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/WinAuth3.png)


## Étape 2 : Créer une approbation
<a name="oracle-kerberos.setting-up.create-forest-trust"></a>

Si vous prévoyez d'utiliser AWS Managed Microsoft AD uniquement, passez à[Étape 3 : configurer les autorisations IAM pour Amazon RDS](#oracle-kerberos.setting-up.CreateIAMRole).

Pour activer l'authentification Kerberos à l'aide de votre Active Directory autogéré, vous devez créer une relation d'approbation forestière entre votre Active Directory autogéré et celui AWS Managed Microsoft AD créé à l'étape précédente. La confiance peut être unidirectionnelle, c'est-à-dire qu'elle AWS Managed Microsoft AD fait confiance à Active Directory autogéré. L’approbation peut également être bidirectionnelle. Dans ce cas, les deux Active Directory s’approuvent mutuellement. Pour plus d'informations sur la configuration des approbations forestières [à l'aide Directory Service de la section Quand créer une relation de confiance](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_setup_trust.html) dans le *Guide d'Directory Service administration*.

## Étape 3 : configurer les autorisations IAM pour Amazon RDS
<a name="oracle-kerberos.setting-up.CreateIAMRole"></a>

Pour appeler Directory Service pour vous, Amazon RDS a besoin d'un rôle IAM qui utilise la politique IAM gérée. `AmazonRDSDirectoryServiceAccess` Ce rôle permet à Amazon RDS d’appeler l’ Directory Service.

**Note**  
Pour que le rôle autorise l'accès, le point de terminaison AWS Security Token Service (AWS STS) doit être activé correctement Région AWS pour votre Compte AWS. AWS STS les points de terminaison sont actifs par défaut dans tous les cas Régions AWS, et vous pouvez les utiliser sans autre action. Pour plus d'informations, consultez la section [Activation et désactivation AWS STS dans](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html#sts-regions-activate-deactivate) et Région AWS dans le guide de l'*utilisateur IAM*.

### Création d’un rôle IAM
<a name="oracle-kerberos.setting-up.CreateIAMRole.create-role"></a>

Lorsque vous créez une instance de base de données à l'aide de AWS Management Console, et que l'utilisateur de la console a l'`iam:CreateRole`autorisation, la console `rds-directoryservice-kerberos-access-role` se crée automatiquement. Sinon, vous devez créer le rôle IAM manuellement. Lorsque vous créez un rôle IAM manuellement`Directory Service`, choisissez et associez la politique AWS gérée `AmazonRDSDirectoryServiceAccess` à celui-ci. 

Pour plus d'informations sur la création de rôles IAM pour un service, consultez la section [Création d'un rôle pour déléguer des autorisations à un AWS service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) dans le Guide de l'*utilisateur IAM*.

**Note**  
Le rôle IAM utilisé pour l'authentification Windows pour RDS for Microsoft SQL Server ne peut pas être utilisé pour RDS for Oracle.

### Création manuelle d'une politique de confiance IAM
<a name="oracle-kerberos.setting-up.CreateIAMRole.trust-policy"></a>

Vous pouvez également créer des politiques de ressources avec les autorisations obligatoires au lieu d'utiliser la politique IAM gérée `AmazonRDSDirectoryServiceAccess`. Spécifiez `directoryservice.rds.amazonaws.com` et `rds.amazonaws.com` comme principaux.

Afin de limiter les autorisations octroyées par Amazon RDS à un autre service pour une ressource spécifique, nous vous recommandons d'utiliser les clés de contexte de condition globale [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) et [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) dans les politiques de ressources. Le moyen le plus efficace de se protéger contre le problème de député confus consiste à utiliser la clé de contexte de condition globale `aws:SourceArn` avec l'ARN complet d'une ressource Amazon RDS. Pour plus d’informations, consultez [Prévention des problèmes d'adjoint confus entre services](cross-service-confused-deputy-prevention.md).

L'exemple suivant montre comment utiliser les clés de contexte de condition globale `aws:SourceArn` et `aws:SourceAccount` pour dans Amazon RDS afin d'éviter le problème de l'adjoint confus.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "directoryservice.rds.amazonaws.com",
          "rds.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "ArnLike": {
          "aws:SourceArn": "arn:aws:rds:us-east-1:123456789012:db:mydbinstance"
        },
        "StringEquals": {
          "aws:SourceAccount": "123456789012"
        }
      }
    }
  ]
}
```

------

Pour les régions d’adhésion, vous devez également inclure un principal de service pour cette région dans le formulaire de `directoryservice.rds.region_name.amazonaws.com`. Dans la région Afrique (Le Cap), par exemple, utilisez la politique de confiance suivante :

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "directoryservice.rds.amazonaws.com",
          "directoryservice.rds.af-south-1.amazonaws.com",
          "rds.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "ArnLike": {
          "aws:SourceArn": "arn:aws:rds:af-south-1:123456789012:db:mydbinstance"
        },
        "StringEquals": {
          "aws:SourceAccount": "123456789012"
        }
      }
    }
  ]
}
```

------

Le rôle doit également avoir la politique IAM suivante.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "ds:DescribeDirectories",
        "ds:AuthorizeApplication",
        "ds:UnauthorizeApplication",
        "ds:GetAuthorizedApplicationDetails"
      ],
    "Effect": "Allow",
    "Resource": "*"
    }
  ]
}
```

------

## Étape 4 : Créer et configurer des utilisateurs
<a name="oracle-kerberos.setting-up.create-users"></a>

 Vous pouvez créer des utilisateurs à l’aide de l’outil Active Directory Users and Computers, qui fait partie des outils Active Directory Domain Services et Active Directory Lightweight Directory Services. Dans ce cas, les *utilisateurs* sont des personnes ou des entités qui ont accès à votre annuaire. 

Pour créer des utilisateurs dans un Directory Service annuaire, vous devez être connecté à une instance Amazon EC2 basée sur Windows qui est membre de l' Directory Service annuaire. Parallèlement, vous devez être connecté en tant qu'utilisateur disposant de privilèges pour créer des utilisateurs. Pour plus d’informations sur la création d’utilisateurs dans votre annuaire Microsoft Active Directory, consultez [Gérer les utilisateurs et les groupes dans AWS Managed Microsoft AD](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_manage_users_groups.html) dans le *Guide d’administration Directory Service *.

## Étape 5 : Activer le trafic entre VPC entre le répertoire et l'instance de base de données
<a name="oracle-kerberos.setting-up.vpc-peering"></a>

Si vous avez l'intention de rechercher l'annuaire et l'instance de base de données dans le même VPC, ignorez cette étape et passez à [Étape 6 : Créer ou modifier une instance de base de données Oracle](#oracle-kerberos.setting-up.create-modify).

[Si vous prévoyez de localiser le répertoire et l'instance de base de données dans différents AWS comptes ou VPCs de configurer le trafic inter-VPC à l'aide du peering VPC ou de Transit Gateway.AWS](https://docs.aws.amazon.com/vpc/latest/tgw/what-is-transit-gateway.html) La procédure suivante active le trafic entre les utilisateurs de VPCs l'appairage VPC. Suivez les instructions de [Qu’est-ce que l’appairage de VPC ?](https://docs.aws.amazon.com/vpc/latest/peering/Welcome.html) dans le *Guide de l’appairage Amazon Virtual Private Cloud*.

**Pour activer le trafic entre VPC à l’aide de l’appairage de VPC**

1. Configurez les règles de routage de VPC appropriées afin de veiller à ce que le trafic réseau puisse être acheminé dans les deux sens.

1. Assurez-vous que le groupe de sécurité de l'instance de base de données puisse recevoir le trafic entrant depuis le groupe de sécurité de cet annuaire. Pour plus d'informations, consultez [ Meilleures pratiques pour AWS Managed Microsoft AD](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_best_practices.html) dans le *Guide d'administration Directory Service *.

1. Assurez-vous qu'il n'existe aucune règle de liste de contrôle d'accès (ACL) pour bloquer le trafic.

Si le répertoire appartient à un autre AWS compte, vous devez le partager.

**Pour partager le répertoire entre AWS comptes**

1. *Commencez à partager le répertoire avec le AWS compte dans lequel l'instance de base de données sera créée en suivant les instructions du [Tutoriel : Partage de votre AWS Managed Microsoft AD répertoire pour une connexion fluide à un domaine EC2 dans le Directory Service guide](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_tutorial_directory_sharing.html) d'administration.*

1. Connectez-vous à la Directory Service console à l'aide du compte de l'instance de base de données et assurez-vous que le domaine possède le `SHARED` statut requis avant de continuer.

1. Lorsque vous êtes connecté à la Directory Service console à l'aide du compte de l'instance de base de données, notez la valeur de l'**ID du répertoire**. Vous utilisez cet ID d’annuaire pour joindre l’instance de base de données au domaine.

## Étape 6 : Créer ou modifier une instance de base de données Oracle
<a name="oracle-kerberos.setting-up.create-modify"></a>

Créez ou modifiez une instance de base de données Oracle en vue de son utilisation avec votre annuaire. Vous pouvez utiliser la console, la CLI ou l'API RDS pour associer une instance de base de données à un annuaire. Vous pouvez effectuer cette opération de différentes manières :
+ Créez une nouvelle instance de base de données Oracle à l'aide de la console, de la commande [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)CLI ou de l'opération [Create DBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) RDS API.

  Pour obtenir des instructions, veuillez consulter [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md).
+ Modifiez une instance de base de données Oracle existante à l'aide de la console, de la commande [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html)CLI ou de l'opération [DBInstanceModify](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) RDS API.

  Pour obtenir des instructions, veuillez consulter [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md).
+ Restaurez une instance de base de données Oracle à partir d'un instantané de base de données à l'aide de la console, de la commande CLI [ restore-db-instance-from-db-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html) ou de [l'opération DBInstance Restore DBSnapshot From](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html) RDS API.

  Pour obtenir des instructions, veuillez consulter [Restauration d’une instance de base de données](USER_RestoreFromSnapshot.md).
+ Restaurez une instance de base de données Oracle à point-in-time l'aide de la console, de la commande [ restore-db-instance-to- point-in-time](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html) CLI ou de l'opération [Restore DBInstance ToPointInTime](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html) RDS API.

  Pour obtenir des instructions, veuillez consulter [Restauration d’une instance de base de données à un instant précis pour Amazon RDS](USER_PIT.md).

L'authentification Kerberos est uniquement prise en charge pour les instances de base de données Oracle dans un VPC. L'instance de base de données peut être dans le même VPC que l'annuaire ou dans un VPC différent. Lors de la création ou de la modification de l'instance de base de données, procédez comme suit :
+ Fournissez l'identifiant du domaine (identifiant `d-*`) qui a été généré lors de la création de votre annuaire.
+ Fournissez le nom du rôle IAM que vous avez créé.
+ Veillez à ce que le groupe de sécurité de l'instance de base de données puisse recevoir le trafic entrant depuis le groupe de sécurité de l'annuaire et envoyer le trafic sortant vers l'annuaire.

Lorsque vous utilisez la console pour créer une instance de base de données, choisissez **Mot de passe et authentification Kerberos** dans la section **Authentification de base de données**. Choisissez **Browse Directory** (Parcourir les répertoires), puis sélectionnez le répertoire, ou choisissez **Create a new directory** (Créer un nouveau répertoire).

![\[Paramètre d'authentification Kerberos lors de la création d'une instance de base de données\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/kerberos-authentication.png)


Lorsque vous utilisez la console pour modifier ou restaurer une instance de base de données, choisissez le répertoire dans la section **Kerberos authentication** (Authentification Kerberos) ou choisissez **Create a new directory** (Créer un nouveau répertoire).

![\[Paramètre d'authentification Kerberos lors de la modification ou de la restauration d'une instance de base de données\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/kerberos-auth-modify-restore.png)


Lorsque vous utilisez le AWS CLI, les paramètres suivants sont requis pour que l'instance de base de données puisse utiliser le répertoire que vous avez créé :
+ Pour le paramètre `--domain`, vous devez indiquer l’identifiant du domaine (identifiant « d-\$1 ») généré lors de la création de l’annuaire.
+ Pour le paramètre `--domain-iam-role-name`, utilisez le rôle que vous avez créé qui utilise la politique IAM gérée `AmazonRDSDirectoryServiceAccess`.

Par exemple, la commande de CLI suivante modifie une instance de base de données de façon à utiliser un annuaire.

Pour Linux, macOS ou Unix :

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --domain d-ID \
    --domain-iam-role-name role-name
```

Pour Windows :

```
aws rds modify-db-instance ^
    --db-instance-identifier mydbinstance ^
    --domain d-ID ^
    --domain-iam-role-name role-name
```

**Important**  
Si vous modifiez une instance de base de données de façon à activer l’authentification Kerberos, redémarrez l’instance de base de données après avoir effectué la modification.

**Note**  
*MANAGED\$1SERVICE\$1USER*est un compte de service dont le nom est généré de manière aléatoire par Directory Service for RDS. Lors de la configuration de l’authentification Kerberos, RDS for Oracle crée un utilisateur portant le même nom et lui attribue le privilège `CREATE SESSION`. L'utilisateur de la base de données Oracle est identifié de manière externe comme *MANAGED\$1SERVICE\$1USER@EXAMPLE.COM* suit : où se *EXAMPLE.COM* trouve le nom de votre domaine. Régulièrement, RDS utilise les informations d'identification fournies par Directory Service pour se connecter à votre base de données Oracle. Par la suite, RDS détruit immédiatement les tickets mis en cache.

## Étape 7 : Créer les connexions Oracle d'authentification Kerberos
<a name="oracle-kerberos.setting-up.create-logins"></a>

Utilisez les informations d'identification de l'utilisateur principal Amazon RDS for vous connecter à l'instance de base de données Oracle comme vous le faites pour n'importe quelle instance de base de données. L'instance de base de données est jointe au AWS Managed Microsoft AD domaine. Vous pouvez ainsi mettre en service les connexions et utilisateurs Oracle depuis les utilisateurs Microsoft Active Directory de votre domaine. Pour gérer les autorisations de base de données, vous pouvez octroyer et annuler les autorisations Oracle standard pour ces connexions.

**Pour autoriser un utilisateur Microsoft Active Directory à s'authentifier avec Oracle**

1. Connectez l'instance de base de données Oracle à l'aide de vos informations d'identification de l'utilisateur principal Amazon RDS.

1. Créez un utilisateur authentifié en externe dans la base de données Oracle.

   Dans l'exemple suivant, remplacez `KRBUSER@CORP.EXAMPLE.COM` par le nom d'utilisateur et le nom de domaine.

   ```
   CREATE USER "KRBUSER@CORP.EXAMPLE.COM" IDENTIFIED EXTERNALLY; 
   GRANT CREATE SESSION TO "KRBUSER@CORP.EXAMPLE.COM";
   ```

   Les utilisateurs (personnes et applications) de votre domaine peuvent désormais se connecter à l'instance de base de données Oracle à partir d'un ordinateur client joint au domaine à l'aide de l'authentification Kerberos. 

## Étape 8 : Configurer un client Oracle
<a name="oracle-kerberos.setting-up.configure-oracle-client"></a>

Pour configurer un client Oracle, vous devez vous conformer aux exigences suivantes :
+ Créez un fichier de configuration nommé krb5.conf (Linux) ou krb5.ini (Windows) pour pointer vers le domaine. Configurez le client Oracle pour qu'il utilise ce fichier de configuration.
+ Vérifiez que le trafic peut circuler entre l'hôte du client et Directory Service via le port DNS 53 via TCP/UDP, les ports Kerberos (88 et 464 pour les ports gérés Directory Service) via TCP et le port LDAP 389 sur TCP.
+ Vérifiez que le trafic peut circuler entre l’hôte du client et l’instance de base de données via le port de la base de données.

Vous trouverez ci-dessous un exemple de contenu pour AWS Managed Microsoft AD.

```
[libdefaults]
 default_realm = EXAMPLE.COM
[realms]
 EXAMPLE.COM = {
  kdc = example.com
  admin_server = example.com
 }
[domain_realm]
 .example.com = CORP.EXAMPLE.COM
 example.com = CORP.EXAMPLE.COM
```

Vous trouverez ci-dessous un exemple de contenu pour Microsoft AD sur site. Dans votre fichier krb5.conf ou krb5.ini, remplacez par *on-prem-ad-server-name* le nom de votre serveur AD local.

```
[libdefaults]
 default_realm = ONPREM.COM
[realms]
 AWSAD.COM = {
  kdc = awsad.com
  admin_server = awsad.com
 }
 ONPREM.COM = {
  kdc = on-prem-ad-server-name
  admin_server = on-prem-ad-server-name
 }
[domain_realm]
 .awsad.com = AWSAD.COM
 awsad.com= AWSAD.COM
 .onprem.com = ONPREM.COM
 onprem.com= ONPREM.COM
```

**Note**  
Après avoir configuré votre fichier krb5.ini ou krb5.conf, nous vous recommandons de redémarrer le serveur.

Vous trouverez ci-après un exemple de contenu sqlnet.ora pour une configuration SQL\$1Plus :

```
SQLNET.AUTHENTICATION_SERVICES=(KERBEROS5PRE,KERBEROS5)
SQLNET.KERBEROS5_CONF=path_to_krb5.conf_file
```

Pour obtenir un exemple de configuration SQL Developer, consultez [Document 1609359.1](https://support.oracle.com/epmos/faces/DocumentDisplay?id=1609359.1) sur le support Oracle.

# Gestion d'une instance de base de données dans un domaine
<a name="oracle-kerberos-managing"></a>

Vous pouvez utiliser la console, la CLI ou l'API RDS pour gérer votre instance de base de données et sa relation avec votre Microsoft Active Directory. Par exemple, vous pouvez associer un Microsoft Active Directory de façon à activer l'authentification Kerberos. Vous pouvez également annuler l'association d'un Microsoft Active Directory pour désactiver l'authentification Kerberos. Vous pouvez également transférer une instance de base de données vers une autre afin qu'elle soit authentifiée en externe par un Microsoft Active Directory.

Par exemple, la CLI vous permet d'effectuer les actions suivantes : 
+ Pour retenter l'activation de l'authentification Kerberos en cas d'échec d'appartenance, utilisez la commande de CLI [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) et spécifiez l'ID d'annuaire d'appartenance actuelle pour l'option `--domain`.
+ Pour désactiver l'authentification Kerberos sur une instance de base de données, utilisez la commande de CLI [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) et spécifiez `none` pour l'option `--domain`.
+ Pour transférer une instance de base de données d'un domaine vers un autre, utilisez la commande de CLI [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) et spécifiez l'identifiant du nouveau domaine pour l'option `--domain`.

## Affichage du statut de l'appartenance au domaine
<a name="oracle-kerberos-managing.understanding"></a>

Après la création ou la modification de votre instance de base de données, cette dernière devient un membre du domaine. Vous pouvez consulter le statut de l'appartenance au domaine pour l'instance de base de données dans la console ou en exécutant la commande de CLI [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html). Le statut de l'instance de base de données peut avoir les valeurs suivantes : 
+ `kerberos-enabled` – L'instance de base de données a l'authentification Kerberos activée.
+ `enabling-kerberos` – AWS est le processus d'activation de l'authentification Kerberos sur cette instance de base de données.
+ `pending-enable-kerberos` – L'activation de l'authentification Kerberos est en attente sur cette instance de base de données.
+ `pending-maintenance-enable-kerberos` – AWS tentera d'activer l'authentification Kerberos sur cette instance de base de données lors de la prochaine fenêtre de maintenance planifiée.
+ `pending-disable-kerberos` – La désactivation de l'authentification Kerberos est en attente sur cette instance de base de données.
+ `pending-maintenance-disable-kerberos` – AWS tentera de désactiver l'authentification Kerberos sur cette instance de base de données lors de la prochaine fenêtre de maintenance planifiée.
+ `enable-kerberos-failed` – Un problème de configuration a empêché AWS d'activer l'authentification Kerberos sur l'instance de base de données. Corrigez le problème de configuration avant de réémettre la commande de modification de l'instance de base de données.
+ `disabling-kerberos` – AWS est en train de désactiver l'authentification Kerberos sur cette instance de base de données.

Une demande d'activation de l'authentification Kerberos peut échouer à cause d'un problème de connectivité réseau ou d'un rôle IAM incorrect. Si la tentative d'activation de l'authentification Kerberos échoue lorsque vous créez ou modifiez une instance de base de données, vérifiez d'abord que vous utilisez le rôle IAM correct. Ensuite, modifiez l'instance de base de données pour rejoindre le domaine.

**Note**  
Seule l'authentification Kerberos avec Amazon RDS for Oracle envoie le trafic aux serveurs DNS du domaine. Toutes les autres demandes DNS sont traitées comme un accès réseau sortant sur vos instances de bases de données exécutant Oracle. Pour de plus amples informations sur l'accès réseau sortant avec Amazon RDS for Oracle, veuillez consulter [Configuration d'un serveur DNS personnalisé](Appendix.Oracle.CommonDBATasks.System.md#Appendix.Oracle.CommonDBATasks.CustomDNS).

## Clés Kerberos à rotation forcée
<a name="oracle-kerberos-managing.rotation"></a>

Une clé secrète est partagée entre AWS Managed Microsoft AD et une instance de base de données Amazon RDS for Oracle. Cette clé subit une rotation automatique tous les 45 jours. Vous pouvez utiliser la procédure Amazon RDS suivante pour forcer la rotation de cette clé.

```
SELECT rdsadmin.rdsadmin_kerberos_auth_tasks.rotate_kerberos_keytab AS TASK_ID FROM DUAL;
```

**Note**  
Dans une configuration de réplica en lecture, cette procédure est uniquement disponible sur l'instance de base de données source et non sur le réplica en lecture.

L'instruction `SELECT` renvoie l'ID de la tâche dans un type de données `VARCHAR2`. Vous pouvez consulter le statut d'une tâche en cours dans un fichier bdump. Les fichiers bdump se trouvent dans le répertoire `/rdsdbdata/log/trace`. Chaque nom de fichier bdump a le format suivant.

```
dbtask-task-id.log
```

Vous pouvez afficher le résultat en affichant le fichier de sortie de la tâche.

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-task-id.log'));
```

Remplacez *`task-id`* par l'ID de tâche renvoyé par la procédure.

**Note**  
Les tâches sont exécutées de manière asynchrone.

# Connexion à Oracle avec l'authentification Kerberos
<a name="oracle-kerberos-connecting"></a>

Cette section suppose que vous avez configuré votre client Oracle de la façon décrite dans [Étape 8 : Configurer un client Oracle](oracle-kerberos-setting-up.md#oracle-kerberos.setting-up.configure-oracle-client). Pour vous connecter à la base de données Oracle avec l'authentification Kerberos, connectez-vous à l'aide du type d'authentification Kerberos. Par exemple, après avoir lancé Oracle SQL Developer, choisissez **Authentification Kerberos** comme type d’authentification, comme indiqué dans l’exemple ci-dessous. 

![\[Affiche la boîte de dialogue Nouvelle connexion à la base de données/Sélection dans Oracle SQL Developer. La case Authentification Kerberos est cochée.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/ora-kerberos-auth.png)


Pour vous connecter à Oracle avec l'authentification Kerberos avec SQL\$1Plus :

1. A partir d'une invite de commande, exécutez la commande suivante :

   ```
   kinit username
   ```

   Remplacez *`username`* par le nom d'utilisateur puis, à l'invite, entrez le mot de passe stocké dans le Microsoft Active Directory pour l'utilisateur.

1. Ouvrez SQL\$1Plus et connectez-vous à l'aide du nom et du numéro de port DNS pour l'instance de base de données Oracle.

   Pour plus d’informations sur la connexion à l’instance de base de données Oracle dans SQL\$1Plus, consultez [Connexion à votre instance de base de données à l'aide de SQL\$1Plus](USER_ConnectToOracleInstance.SQLPlus.md).

**Astuce**  
Si vous utilisez un cache Windows natif, vous pouvez également définir le paramètre `SQLNET.KERBEROS5_CC_NAME` sur `OSMSFT://` ou `MSLSA` dans le fichier sqlnet.ora pour utiliser les informations d’identification stockées dans Microsoft Active Directory.

# Configuration de l'accès UTL\$1HTTP à l'aide de certificats et d'un portefeuille Oracle
<a name="Oracle.Concepts.ONA"></a>

Amazon RDS prend en charge l’accès réseau sortant sur vos instances de base de données RDS for Oracle. Pour connecter votre instance de base de données au réseau, vous pouvez utiliser les PL/SQL packages suivants :

`UTL_HTTP`  
Ce package effectue des appels HTTP depuis SQL et PL/SQL. Vous pouvez l'utiliser pour accéder à des données sur Internet via HTTP. Pour plus d'informations, consultez [UTL\$1HTTP](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/UTL_HTTP.html#GUID-A85D2D1F-90FC-45F1-967F-34368A23C9BB) dans la documentation Oracle.

`UTL_TCP`  
Ce package fournit des fonctionnalités d'accès TCP/IP côté client dans les PL/SQL. This package is useful to PL/SQL applications qui utilisent les protocoles Internet et le courrier électronique. Pour plus d'informations, consultez [UTL\$1TCP](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/UTL_TCP.html#GUID-348AFFE8-78B2-4217-AE73-384F46A1D292) dans la documentation Oracle.

`UTL_SMTP`  
Ce package fournit des interfaces aux commandes SMTP qui permettent à un client d'envoyer des e-mails à un serveur SMTP. Pour plus d'informations, consultez [UTL\$1SMTP](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/UTL_SMTP.html#GUID-F0065C52-D618-4F8A-A361-7B742D44C520) dans la documentation Oracle.

En effectuant les tâches suivantes, vous pouvez configurer `UTL_HTTP.REQUEST` pour qu'il fonctionne avec des sites web nécessitant des certificats d'authentification client pendant la liaison SSL. Vous pouvez également configurer l'authentification par mot de passe pour permettre à `UTL_HTTP` d'accéder aux sites web en modifiant les commandes de génération de portefeuilles Oracle et la procédure `DBMS_NETWORK_ACL_ADMIN.APPEND_WALLET_ACE`. Pour plus d’informations, consultez [DBMS\$1NETWORK\$1ACL\$1ADMIN](https://docs.oracle.com/en/database/oracle/oracle-database/21/arpls/DBMS_NETWORK_ACL_ADMIN.html) dans la documentation de la base de données Oracle.

**Note**  
Vous pouvez adapter les tâches suivantes pour `UTL_SMTP` afin d'envoyer des e-mails via SSL/TLS (y compris [Amazon Simple Email Service](https://aws.amazon.com/ses/)).

**Topics**
+ [

## Considérations relatives à la configuration de l’accès UTL\$1HTTP
](#utl_http-considerations)
+ [

## Étape 1 : Obtenir le certificat racine d'un site web
](#website-root-certificate)
+ [

## Étape 2 : Créer un portefeuille Oracle
](#create-oracle-wallet)
+ [

## Étape 3 : Télécharger votre portefeuille Oracle sur votre instance RDS for Oracle
](#upload-wallet-to-instance)
+ [

## Étape 4 : Accorder des autorisations utilisateur pour le portefeuille Oracle
](#config-oracle-wallet-user)
+ [

## Étape 5 : Configurer l'accès à un site web à partir de votre instance de base de données
](#config-website-access)
+ [

## Étape 6 : Tester les connexions de votre instance de base de données à un site web
](#test_utl_http)

## Considérations relatives à la configuration de l’accès UTL\$1HTTP
<a name="utl_http-considerations"></a>

Avant de configurer l’accès, considérez les points suivants :
+ Vous pouvez utiliser SMTP avec l’option UTL\$1MAIL. Pour plus d’informations, consultez [Oracle UTL\$1MAIL](Oracle.Options.UTLMAIL.md).
+ Le nom DNS (Domain Name Server) de l'hôte distant doit avoir l'une des caractéristiques suivantes : 
  + être publiquement résolu ;
  + être le point de terminaison d'une instance de base de données Amazon RDS ;
  + pouvant être résolu via un serveur DNS personnalisé. Pour plus d'informations, consultez [Configuration d'un serveur DNS personnalisé](Appendix.Oracle.CommonDBATasks.System.md#Appendix.Oracle.CommonDBATasks.CustomDNS). 
  + être le nom DNS privé d'une instance Amazon EC2 dans le même VPC ou un VPC appairé. Dans ce cas, assurez-vous que le nom peut être résolu via un serveur DNS personnalisé. De même, pour utiliser le DNS fourni par Amazon, vous pouvez activer l'attribut `enableDnsSupport` dans les paramètres VPC et activer la prise en charge de la résolution DNS pour la connexion d'appairage de VPC. Pour plus d'informations, consultez [Prise en charge du DNS dans votre VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support) et [Modification de votre connexion d'appairage de VPC](https://docs.aws.amazon.com/vpc/latest/peering/working-with-vpc-peering.html#modify-peering-connections). 
  + Pour vous connecter en toute sécurité à SSL/TLS des ressources distantes, nous vous recommandons de créer et de télécharger des portefeuilles Oracle personnalisés. En utilisant l'intégration de Amazon S3 à la fonction Amazon RDS for Oracle, vous pouvez télécharger un portefeuille depuis Amazon S3 vers des instances de base de données Oracle. Pour plus d'informations sur l'intégration de Amazon S3 pour Oracle, consultez [Intégration Amazon S3](oracle-s3-integration.md).
+ Vous pouvez établir des liens de base de données entre des instances de base de données Oracle via un point de terminaison SSL/TLS si l'option Oracle SSL est configurée pour chaque instance. Aucune autre configuration n'est requise. Pour plus d’informations, consultez [Oracle Secure Sockets Layer (SSL)](Appendix.Oracle.Options.SSL.md).

## Étape 1 : Obtenir le certificat racine d'un site web
<a name="website-root-certificate"></a>

Pour que l’instance de base de données RDS for Oracle établisse des connexions sécurisées à un site web, ajoutez le certificat CA racine. Amazon RDS utilise le certificat racine pour signer le certificat de site web au portefeuille Oracle.

Vous pouvez obtenir le certificat racine de différentes manières. Par exemple, vous pouvez effectuer les opérations suivantes :

1. Utilisez un serveur web pour visiter le site web sécurisé par le certificat.

1. Téléchargez le certificat racine utilisé pour la signature.

Pour les AWS services, les certificats racine se trouvent généralement dans le [référentiel Amazon Trust Services](https://www.amazontrust.com/repository/).

## Étape 2 : Créer un portefeuille Oracle
<a name="create-oracle-wallet"></a>

Créez un portefeuille Oracle contenant à la fois les certificats du serveur web et les certificats d'authentification client. L'instance Oracle RDS utilise le certificat du serveur web pour établir une connexion sécurisée au site web. Le site web a besoin du certificat client pour authentifier l'utilisateur de la base de données Oracle.

Vous pouvez configurer des connexions sécurisées sans utiliser de certificats clients pour l'authentification. Dans ce cas, vous pouvez ignorer les étapes du keystore Java dans la procédure suivante.

**Pour créer un portefeuille Oracle**

1. Placez les certificats racine et client dans un seul répertoire, puis passez dans ce répertoire.

1. Convertissez le certificat client .p12 en keystore Java.
**Note**  
Si vous n'utilisez pas de certificats client pour l'authentification, vous pouvez ignorer cette étape.

   L'exemple suivant convertit le certificat client nommé *client\$1certificate.p12* en keystore Java nommé*client\$1keystore.jks*. Le keystore est alors inclus dans le portefeuille Oracle. Le mot de passe du keystore est*P12PASSWORD*.

   ```
   orapki wallet pkcs12_to_jks -wallet ./client_certificate.p12 -jksKeyStoreLoc ./client_keystore.jks -jksKeyStorepwd P12PASSWORD
   ```

1. Créez un répertoire pour votre portefeuille Oracle qui est différent du répertoire de certificat.

   L'exemple suivant crée le répertoire `/tmp/wallet`.

   ```
   mkdir -p /tmp/wallet
   ```

1. Créez un portefeuille Oracle dans votre répertoire de portefeuille.

   L'exemple suivant définit le mot de passe du portefeuille Oracle sur*P12PASSWORD*, qui est le même que celui utilisé par le keystore Java à l'étape précédente. L'utilisation du même mot de passe est pratique, mais pas nécessaire. Le paramètre `-auto_login` active la fonction de connexion automatique, de sorte que vous n'avez pas besoin de spécifier un mot de passe chaque fois que vous souhaitez y accéder.
**Note**  
Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.

   ```
   orapki wallet create -wallet /tmp/wallet -pwd P12PASSWORD -auto_login
   ```

1. Ajoutez le keystore Java à votre portefeuille Oracle.
**Note**  
Si vous n'utilisez pas de certificats client pour l'authentification, vous pouvez ignorer cette étape.

   L'exemple suivant ajoute le keystore *client\$1keystore.jks* au portefeuille Oracle nommé*/tmp/wallet*. Dans cet exemple, vous spécifiez le même mot de passe pour le keystore Java et pour le portefeuille Oracle.

   ```
   orapki wallet jks_to_pkcs12 -wallet /tmp/wallet -pwd P12PASSWORD -keystore ./client_keystore.jks -jkspwd P12PASSWORD
   ```

1. Ajoutez le certificat racine de votre site web cible au portefeuille Oracle.

   L'exemple suivant ajoute un certificat nommé*Root\$1CA.cer*.

   ```
   orapki wallet add -wallet /tmp/wallet -trusted_cert -cert ./Root_CA.cer -pwd P12PASSWORD
   ```

1. Ajoutez les certificats intermédiaires.

   L'exemple suivant ajoute un certificat nommé*Intermediate.cer*. Répétez cette étape autant de fois que nécessaire pour charger tous les certificats intermédiaires.

   ```
   orapki wallet add -wallet /tmp/wallet -trusted_cert -cert ./Intermediate.cer -pwd P12PASSWORD
   ```

1. Vérifiez que votre nouveau portefeuille Oracle possède les certificats requis.

   ```
   orapki wallet display -wallet /tmp/wallet -pwd P12PASSWORD
   ```

## Étape 3 : Télécharger votre portefeuille Oracle sur votre instance RDS for Oracle
<a name="upload-wallet-to-instance"></a>

Au cours de cette étape, vous chargez votre portefeuille Oracle sur Amazon S3, puis vous téléchargez le portefeuille depuis Amazon S3 vers votre instance RDS for Oracle.

**Pour télécharger votre portefeuille Oracle sur votre instance de base de données RDS for Oracle**

1. Respectez les conditions préalables de l'intégration de Amazon S3 à Oracle et ajoutez l'option `S3_INTEGRATION` à votre instance de base de données Oracle. Assurez-vous que le rôle IAM pour l'option a accès au compartiment Amazon S3 que vous utilisez.

   Pour plus d’informations, consultez [Intégration Amazon S3](oracle-s3-integration.md).

1. Connectez-vous à votre instance de base de données en tant qu'utilisateur principal, puis créez un répertoire Oracle qui contiendra le portefeuille Oracle.

   L'exemple suivant crée un répertoire Oracle nommé*WALLET\$1DIR*.

   ```
   EXEC rdsadmin.rdsadmin_util.create_directory('WALLET_DIR');
   ```

   Pour de plus amples informations, veuillez consulter [Création et suppression de répertoires dans l'espace de stockage de données principal](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.NewDirectories).

1. Chargez le portefeuille Oracle dans votre compartiment Amazon S3.

   Vous pouvez utiliser n'importe quelle technique de téléchargement prise en charge.

1. Si vous téléchargez à nouveau un portefeuille Oracle, supprimez le portefeuille existant. Sinon, passez à l’étape suivante.

   L'exemple suivant supprime le portefeuille existant, qui est nommé*cwallet.sso*.

   ```
   EXEC UTL_FILE.FREMOVE ('WALLET_DIR','cwallet.sso');
   ```

1. Téléchargez le portefeuille depuis votre compartiment Amazon S3 vers l'instance de base de données Oracle.

   L'exemple suivant télécharge le portefeuille nommé *cwallet.sso* depuis le compartiment Amazon S3 nommé dans le répertoire *my\$1s3\$1bucket* d'instance de base de données nommé*WALLET\$1DIR*.

   ```
   SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3(
         p_bucket_name    =>  'my_s3_bucket', 
         p_s3_prefix      =>  'cwallet.sso', 
         p_directory_name =>  'WALLET_DIR') 
      AS TASK_ID FROM DUAL;
   ```

1. (Facultatif) Téléchargez un portefeuille Oracle protégé par un mot de passe.

   Téléchargez ce portefeuille uniquement si vous souhaitez demander un mot de passe pour chaque utilisation du portefeuille. L'exemple suivant télécharge un portefeuille protégé par mot de passe. *ewallet.p12*

   ```
   SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3(
         p_bucket_name    =>  'my_s3_bucket', 
         p_s3_prefix      =>  'ewallet.p12', 
         p_directory_name =>  'WALLET_DIR') 
      AS TASK_ID FROM DUAL;
   ```

1. Vérifiez l'état de votre tâche de base de données.

   Remplacez l'ID de tâche renvoyé lors des étapes précédentes par celui *dbtask-1234567890123-4567.log* de l'exemple suivant.

   ```
   SELECT TEXT FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-1234567890123-4567.log'));
   ```

1. Vérifiez le contenu du répertoire que vous utilisez pour stocker le portefeuille Oracle.

   ```
   SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => 'WALLET_DIR'));
   ```

   Pour plus d’informations, consultez [Établissement de la liste des fichiers situés dans un répertoire d'instance de base de données](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ListDirectories).

## Étape 4 : Accorder des autorisations utilisateur pour le portefeuille Oracle
<a name="config-oracle-wallet-user"></a>

Vous pouvez créer un nouvel utilisateur de base de données ou configurer un utilisateur existant. Dans les deux cas, vous devez configurer l'utilisateur pour qu'il accède au portefeuille Oracle pour des connexions sécurisées et une authentification client à l'aide de certificats.

**Pour accorder des autorisations utilisateur pour le portefeuille Oracle**

1. Connectez-vous à votre instance de base de données RDS for Oracle en tant qu'utilisateur principal.

1. Si vous ne souhaitez pas configurer un utilisateur de base de données existant, créez un nouvel utilisateur. Sinon, passez à l’étape suivante.

   L'exemple suivant crée un utilisateur de base de données nommé*my-user*.

   ```
   CREATE USER my-user IDENTIFIED BY my-user-pwd;
   GRANT CONNECT TO my-user;
   ```

1. Accordez l'autorisation à l'utilisateur de votre base de données pour le répertoire contenant votre portefeuille Oracle.

   L'exemple suivant accorde un accès en lecture à l'utilisateur *my-user* sur le répertoire*WALLET\$1DIR*.

   ```
   GRANT READ ON DIRECTORY WALLET_DIR TO my-user;
   ```

1. Accordez l'autorisation à votre utilisateur de base de données d'utiliser le package `UTL_HTTP`.

   Le PL/SQL programme suivant accorde `UTL_HTTP` l'accès à l'utilisateur*my-user*.

   ```
   BEGIN 
     rdsadmin.rdsadmin_util.grant_sys_object('UTL_HTTP', UPPER('my-user')); 
     END;
   /
   ```

1. Accordez l'autorisation à votre utilisateur de base de données d'utiliser le package `UTL_FILE`.

   Le PL/SQL programme suivant accorde `UTL_FILE` l'accès à l'utilisateur*my-user*.

   ```
   BEGIN 
     rdsadmin.rdsadmin_util.grant_sys_object('UTL_FILE', UPPER('my-user')); 
     END;
   /
   ```

## Étape 5 : Configurer l'accès à un site web à partir de votre instance de base de données
<a name="config-website-access"></a>

Dans cette étape, vous configurez votre utilisateur de base de données Oracle afin qu'il puisse se connecter à votre site web cible à l'aide de `UTL_HTTP`, de votre portefeuille Oracle chargé et du certificat client. Pour plus d’informations, consultez [Configuring Access Control to an Oracle Wallet](https://docs.oracle.com/en/database/oracle/oracle-database/19/dbseg/managing-fine-grained-access-in-pl-sql-packages-and-types.html#GUID-0BCB5925-A40F-4507-95F9-5DA4A1919EBD) dans la documentation de la base de données Oracle.

**Pour configurer l'accès à un site web depuis votre instance de base de données RDS for Oracle**

1. Connectez-vous à votre instance de base de données RDS for Oracle en tant qu'utilisateur principal.

1. Créez une entrée Host Access Control Entry (ACE) pour votre utilisateur et le site web cible sur un port sécurisé.

   L'exemple suivant configure l'*my-user*accès *secret.encrypted-website.com* sur le port sécurisé 443.

   ```
   BEGIN
     DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
       host       => 'secret.encrypted-website.com', 
       lower_port => 443,
       upper_port => 443,
       ace        => xs$ace_type(privilege_list => xs$name_list('http'),
                                 principal_name => 'my-user',
                                 principal_type => xs_acl.ptype_db)); 
                              -- If the program unit results in PLS-00201, set
                              -- the principal_type parameter to 2 as follows:
                              -- principal_type => 2));
   END;
   /
   ```
**Important**  
L’unité de programme précédente peut entraîner l’erreur suivante : `PLS-00201: identifier 'XS_ACL' must be declared`. Si cette erreur est renvoyée, remplacez la ligne qui affecte une valeur à `principal_type` par la ligne suivante, puis réexécutez l’unité de programme :  

   ```
   principal_type => 2));
   ```
Pour plus d'informations sur les constantes du PL/SQL package`XS_ACL`, consultez le [https://docs.oracle.com/en/database/oracle/oracle-database/19/dbfsg/XS_ACL-package.html#GUID-A157FB28-FE23-4D30-AAEB-8224230517E7](https://docs.oracle.com/en/database/oracle/oracle-database/19/dbfsg/XS_ACL-package.html#GUID-A157FB28-FE23-4D30-AAEB-8224230517E7) la base de données Oracle.

   Pour plus d’informations, consultez [Configuring Access Control for External Network Services ](https://docs.oracle.com/en/database/oracle/oracle-database/19/dbseg/managing-fine-grained-access-in-pl-sql-packages-and-types.html#GUID-3D5B66BC-0277-4887-9CD1-97DB44EB5213) dans la documentation de la base de données Oracle.

1. (Facultatif) Créez une ACE pour votre utilisateur et votre site web cible sur le port standard. 

   Vous devrez peut-être utiliser le port standard si certaines pages web sont diffusées à partir du port du serveur web standard (80) au lieu du port sécurisé (443).

   ```
   BEGIN
     DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
       host       => 'secret.encrypted-website.com', 
       lower_port => 80,
       upper_port => 80,
       ace        => xs$ace_type(privilege_list => xs$name_list('http'),
                                 principal_name => 'my-user',
                                 principal_type => xs_acl.ptype_db)); 
                              -- If the program unit results in PLS-00201, set
                              -- the principal_type parameter to 2 as follows:
                              -- principal_type => 2));
   END;
   /
   ```

1. Vérifiez que les entrées de contrôle d'accès existent.

   ```
   SET LINESIZE 150
   COLUMN HOST FORMAT A40
   COLUMN ACL FORMAT A50
   
   SELECT HOST, LOWER_PORT, UPPER_PORT, ACL
     FROM DBA_NETWORK_ACLS
   ORDER BY HOST;
   ```

1. Accordez l'autorisation à votre utilisateur de base de données d'utiliser le package `UTL_HTTP`.

   Le PL/SQL programme suivant accorde `UTL_HTTP` l'accès à l'utilisateur*my-user*.

   ```
   BEGIN 
     rdsadmin.rdsadmin_util.grant_sys_object('UTL_HTTP', UPPER('my-user')); 
     END;
   /
   ```

1. Vérifiez que les listes de contrôle d'accès associées existent.

   ```
   SET LINESIZE 150
   COLUMN ACL FORMAT A50
   COLUMN PRINCIPAL FORMAT A20
   COLUMN PRIVILEGE FORMAT A10
   
   SELECT ACL, PRINCIPAL, PRIVILEGE, IS_GRANT,
          TO_CHAR(START_DATE, 'DD-MON-YYYY') AS START_DATE,
          TO_CHAR(END_DATE, 'DD-MON-YYYY') AS END_DATE
     FROM DBA_NETWORK_ACL_PRIVILEGES
   ORDER BY ACL, PRINCIPAL, PRIVILEGE;
   ```

1. Accordez l'autorisation à votre utilisateur de base de données d'utiliser des certificats pour l'authentification client et votre portefeuille Oracle pour les connexions.
**Note**  
Si vous n'utilisez pas de certificats client pour l'authentification, vous pouvez ignorer cette étape.

   ```
   DECLARE
     l_wallet_path all_directories.directory_path%type;
   BEGIN
     SELECT DIRECTORY_PATH 
       INTO l_wallet_path 
       FROM ALL_DIRECTORIES
      WHERE UPPER(DIRECTORY_NAME)='WALLET_DIR';
     DBMS_NETWORK_ACL_ADMIN.APPEND_WALLET_ACE(
       wallet_path => 'file:/' || l_wallet_path,
       ace         =>  xs$ace_type(privilege_list => xs$name_list('use_client_certificates'),
                                   principal_name => 'my-user',
                                   principal_type => xs_acl.ptype_db));
   END;
   /
   ```

## Étape 6 : Tester les connexions de votre instance de base de données à un site web
<a name="test_utl_http"></a>

Dans cette étape, vous configurez votre utilisateur de base de données afin qu'il puisse se connecter au site web cible à l'aide de `UTL_HTTP`, de votre portefeuille Oracle chargé et du certificat client.

**Pour configurer l'accès à un site web depuis votre instance de base de données RDS for Oracle**

1. Connectez-vous à votre instance de base de données RDS for Oracle en tant qu'utilisateur de base de données avec les autorisation `UTL_HTTP`.

1. Vérifiez qu'une connexion à votre site web cible peut résoudre l'adresse de l'hôte.

   L'exemple suivant obtient l'adresse de l'hôte à partir de*secret.encrypted-website.com*.

   ```
   SELECT UTL_INADDR.GET_HOST_ADDRESS(host => 'secret.encrypted-website.com')
     FROM DUAL;
   ```

1. Testez une connexion échouée.

   La requête suivante échoue car `UTL_HTTP` nécessite l'emplacement du portefeuille Oracle avec les certificats.

   ```
   SELECT UTL_HTTP.REQUEST('secret.encrypted-website.com') FROM DUAL;
   ```

1. Testez l'accès au site web en utilisant `UTL_HTTP.SET_WALLET` et en sélectionnant depuis `DUAL`.

   ```
   DECLARE
     l_wallet_path all_directories.directory_path%type;
   BEGIN
     SELECT DIRECTORY_PATH
       INTO l_wallet_path 
       FROM ALL_DIRECTORIES
      WHERE UPPER(DIRECTORY_NAME)='WALLET_DIR';
     UTL_HTTP.SET_WALLET('file:/' || l_wallet_path);
   END;
   /
   
   SELECT UTL_HTTP.REQUEST('secret.encrypted-website.com') FROM DUAL;
   ```

1. (Facultatif) Testez l'accès au site web en stockant votre requête dans une variable et en utilisant `EXECUTE IMMEDIATE`.

   ```
   DECLARE
     l_wallet_path all_directories.directory_path%type;
     v_webpage_sql VARCHAR2(1000);
     v_results     VARCHAR2(32767);
   BEGIN
     SELECT DIRECTORY_PATH
       INTO l_wallet_path 
       FROM ALL_DIRECTORIES
      WHERE UPPER(DIRECTORY_NAME)='WALLET_DIR';
     v_webpage_sql := 'SELECT UTL_HTTP.REQUEST(''secret.encrypted-website.com'', '''', ''file:/' ||l_wallet_path||''') FROM DUAL';
     DBMS_OUTPUT.PUT_LINE(v_webpage_sql);
     EXECUTE IMMEDIATE v_webpage_sql INTO v_results;
     DBMS_OUTPUT.PUT_LINE(v_results);
   END;
   /
   ```

1. (Facultatif) Recherchez l'emplacement du système de fichiers de votre répertoire de portefeuille Oracle.

   ```
   SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => 'WALLET_DIR'));
   ```

   Utilisez la sortie de la commande précédente pour effectuer une requête HTTP. Par exemple, si le répertoire est le cas*rdsdbdata/userdirs/01*, exécutez la requête suivante.

   ```
   SELECT UTL_HTTP.REQUEST('https://secret.encrypted-website.com/', '', 'file://rdsdbdata/userdirs/01') 
   FROM   DUAL;
   ```

# Utilisation des CDB dans RDS for Oracle
<a name="oracle-multitenant"></a>

Dans l'architecture multilocataire d'Oracle, une base de données de conteneurs (CDB) peut inclure des bases de données enfichables (PDB) créées par le client. Pour plus d'informations sur les CDB, consultez [Introduction à l'architecture multilocataire](https://docs.oracle.com/en/database/oracle/oracle-database/19/multi/introduction-to-the-multitenant-architecture.html#GUID-267F7D12-D33F-4AC9-AA45-E9CD671B6F22) (langue française non garantie) dans la documentation Oracle Database.

**Topics**
+ [

# Présentation de RDS pour Oracle CDBs
](Oracle.Concepts.CDBs.md)
+ [

# Configuration d'une CDB RDS for Oracle
](oracle-cdb.configuring.md)
+ [

# Sauvegarde et restauration d'une CDB
](Oracle.Concepts.single-tenant.snapshots.md)
+ [

# Conversion d'une base de données non-CDB RDS for Oracle en CDB
](oracle-cdb-converting.md)
+ [

# Conversion de la configuration à locataire unique en configuration à locataires multiples
](oracle-single-tenant-converting.md)
+ [

# Ajout d'une base de données locataire RDS for Oracle à votre instance de CDB
](oracle-cdb-configuring.adding.pdb.md)
+ [

# Modification d'une base de données locataire RDS for Oracle
](oracle-cdb-configuring.modifying.pdb.md)
+ [

# Suppression d'une base de données locataire RDS for Oracle de votre CDB
](oracle-cdb-configuring.deleting.pdb.md)
+ [

# Affichage des détails de la base de données locataire
](oracle-cdb-configuring.describing.pdb.md)
+ [

# Mise à niveau de votre CDB
](Oracle.Concepts.single-tenant.upgrades.md)

# Présentation de RDS pour Oracle CDBs
<a name="Oracle.Concepts.CDBs"></a>

Vous pouvez créer une instance de base de données RDS for Oracle en tant que base de données de conteneurs (CDB) lorsque vous exécutez Oracle Database 19c ou version ultérieure. À partir d'Oracle Database 21c, toutes les bases de données le sont CDBs. Une CDB se distingue d'une non-CDB car elle peut contenir des bases de données enfichables (PDBs), appelées bases de données mutualisées dans RDS pour Oracle. Une PDB est une collection portable de schémas et d'objets qui apparaît à une application en tant que base de données distincte.

Vous créez votre base de données locataire initiale (PDB) lorsque vous créez votre instance de CDB. Dans RDS for Oracle, votre application cliente interagit avec la PDB plutôt qu’avec la CDB. Votre expérience avec une PDB est essentiellement identique à votre expérience avec une base de données non-CDB.

**Topics**
+ [

## Configuration à locataires multiples de l'architecture CDB
](#multi-tenant-configuration)
+ [

## Configuration à locataire unique de l'architecture CDB
](#Oracle.Concepts.single-tenant)
+ [

## Options de création et de conversion pour CDBs
](#oracle-cdb-creation-conversion)
+ [

## Comptes d'utilisateur et privilèges dans une CDB
](#Oracle.Concepts.single-tenant.users)
+ [

## Familles de groupes de paramètres dans une CDB
](#Oracle.Concepts.single-tenant.parameters)
+ [

## Limites de RDS pour Oracle CDBs
](#Oracle.Concepts.single-tenant-limitations)

## Configuration à locataires multiples de l'architecture CDB
<a name="multi-tenant-configuration"></a>

RDS for Oracle prend en charge la configuration à locataires multiples de l’architecture multilocataire Oracle, également appelée *architecture CDB*. Avec cette configuration, votre instance de CDB RDS for Oracle peut contenir 1 à 30 bases de données client, selon l’édition de base de données et les licences d’option requises. Dans une base de données Oracle, une base de données locataire est une PDB. Votre instance de base de données doit utiliser la version 19.0.0.0.ru-2022-01.rur-2022.r1 ou versions ultérieures de la base de données Oracle.

**Note**  
La fonctionnalité Amazon RDS est appelée « à locataires multiples » plutôt que « multilocataire », car il s’agit d’une fonctionnalité Amazon RDS, et pas seulement du moteur de base de données Oracle. De même, le terme « locataire » du RDS fait référence à tout locataire d'une configuration RDS, et pas seulement à Oracle. PDBs Dans la documentation RDS, le terme sans trait d’union « multilocataire Oracle » fait exclusivement référence à l’architecture CDB de base de données Oracle, qui est compatible à la fois avec les déploiements sur site et RDS.

Vous pouvez à présent configurer les paramètres suivants :
+ Nom de la base de données locataire
+ Nom d'utilisateur principal de la base de données locataire
+ Mot de passe principal de la base de données locataire (éventuellement intégré à Secrets Manager)
+ Jeu de caractères de base de données locataire
+ Jeu de caractères national de base de données locataire

Le jeu de caractères de base de données locataire peut être différent du jeu de caractères de CDB. Il en va de même pour le jeu de caractères national. Après avoir créé votre base de données de locataires initiale, vous pouvez créer, modifier ou supprimer des bases de données de locataires à l'aide de RDS. APIs Le nom de la CDB est défini par défaut sur `RDSCDB` et ne peut pas être modifié. Pour plus d’informations, consultez [Paramètres des instances de base de données](USER_CreateDBInstance.Settings.md) et [Modification d'une base de données locataire RDS for Oracle](oracle-cdb-configuring.modifying.pdb.md).

## Configuration à locataire unique de l'architecture CDB
<a name="Oracle.Concepts.single-tenant"></a>

RDS for Oracle prend en charge la configuration existante de l'architecture multilocataire Oracle appelée configuration à locataire unique. Dans cette configuration, une instance de CDB RDS for Oracle CDB ne peut contenir qu’un seul locataire (PDB). Vous ne pourrez pas en créer d'autres PDBs ultérieurement.

## Options de création et de conversion pour CDBs
<a name="oracle-cdb-creation-conversion"></a>

Oracle Database 21c prend uniquement en charge CDBs, tandis qu'Oracle Database 19c prend en charge les deux CDBs et non. CDBs Toutes les instances de CDB RDS for Oracle prennent en charge à la fois les configurations à locataires multiples et à locataire unique.

### Options de création, de conversion et de mise à niveau pour l'architecture de base de données Oracle
<a name="oracle-cdb-creation-conversion.architecture"></a>

Le tableau suivant présente les différentes options d'architecture pour la création et la mise à niveau des bases de données RDS for Oracle.


| Version | Options de création de base de données | Options de conversion d'architecture | Cibles de mise à niveau de version majeure | 
| --- | --- | --- | --- | 
| Oracle Database 21c | Architecture CDB uniquement | N/A | N/A | 
| Oracle Database 19c | Architecture CDB ou non CDB | Architecture non CDB vers CDB (RU d'avril 2021 ou supérieure) | CDB Oracle Database 21c | 

Comme indiqué dans le tableau précédent, vous ne pouvez pas directement effectuer la mise à niveau d'une base de données non CDB vers une base de données CDB dans une nouvelle version majeure de base de données. En revanche, vous pouvez convertir une base de données non-CDB Oracle Database 19c en CDB Oracle Database 19c, puis mettre à niveau la CDB Oracle Database 19c en une CDB Oracle Database 21c. Pour plus d’informations, consultez [Conversion d'une base de données non-CDB RDS for Oracle en CDB](oracle-cdb-converting.md).

### Options de conversion pour les configurations d'architecture CDB
<a name="oracle-cdb-creation-conversion.configuration"></a>

Le tableau suivant présente les différentes options de conversion de la configuration d'architecture d'une instance de base de données RDS for Oracle.


| Architecture et configuration actuelles | Conversion vers la configuration à locataire unique de l'architecture CDB | Conversion vers la configuration à locataires multiples de l'architecture CDB | Conversion vers l'architecture non CDB | 
| --- | --- | --- | --- | 
| Non CDB | Pris en charge | Pris en charge\$1 | N/A | 
| CDB utilisant la configuration à locataire unique | N/A | Pris en charge | Non pris en charge | 
| CDB utilisant la configuration à locataires multiples | Non pris en charge | N/A | Non pris en charge | 

\$1 Vous ne pouvez pas convertir une base de données non CDB en configuration à locataires multiples au cours d'une seule opération. Lorsque vous convertissez une base de données non CDB en CDB, la CDB est dans la configuration à locataire unique. Vous pouvez ensuite convertir la configuration à locataire unique en configuration à locataires multiples dans le cadre d'une opération distincte.

## Comptes d'utilisateur et privilèges dans une CDB
<a name="Oracle.Concepts.single-tenant.users"></a>

Dans l'architecture multilocataire d'Oracle, tous les comptes d'utilisateur sont des utilisateurs courants ou des utilisateurs locaux. Un utilisateur courant de base de données de conteneur (CDB) est un utilisateur de base de données dont l'identité unique et le mot de passe sont connus à la racine de la CDB et dans chaque base de données enfichable (PDB) existante et future. En revanche, un utilisateur local n'existe que dans une seule PDB.

L'utilisateur principal RDS est un compte d'utilisateur local dans la PDB, que vous nommez lorsque vous créez votre instance de base de données. Si vous créez de nouveaux comptes d'utilisateur, ces utilisateurs seront également des utilisateurs locaux résidant dans la PDB. Vous ne pouvez utiliser aucun compte utilisateur pour créer un nouveau PDB PDBs ou modifier l'état de celui-ci.

L'utilisateur `rdsadmin` est un compte d'utilisateur courant. Vous pouvez exécuter des packages RDS for Oracle qui existent dans ce compte, mais vous ne pouvez pas vous connecter en tant que `rdsadmin`. Pour plus d'informations, reportez-vous à la section [À propos des utilisateurs courants et des utilisateurs locaux](https://docs.oracle.com/en/database/oracle/oracle-database/19/dbseg/managing-security-for-oracle-database-users.html#GUID-BBBD9904-F2F3-442B-9AFC-8ACDD9A588D8) dans la documentation Oracle.

Pour les utilisateurs principaux dans les configurations à locataires multiples et à locataire unique, vous pouvez utiliser des informations d'identification autogérées ou gérées par. AWS Secrets Manager Dans la configuration à locataire unique, vous utilisez des commandes CLI au niveau de l’instance, par exemple `create-db-instance` pour les mots de passe principaux gérés. Dans la configuration à locataires multiples, vous utilisez des commandes de base de données locataire, par exemple `create-tenant-database` pour les mots de passe principaux gérés. Pour plus d’informations sur l’intégration de Secrets Manager, consultez [Gestion du mot de passe d’utilisateur principal pour une base de données locataire RDS for Oracle avec Secrets Manager](rds-secrets-manager.md#rds-secrets-manager-tenant).

## Familles de groupes de paramètres dans une CDB
<a name="Oracle.Concepts.single-tenant.parameters"></a>

CDBs ont leurs propres familles de groupes de paramètres et leurs propres valeurs de paramètres par défaut. Les familles de groupes de paramètres de CDB sont les suivantes :
+ oracle-ee-cdb-21
+ oracle-se2-cdb-21
+ oracle-ee-cdb-19
+ oracle-se2-cdb-19

## Limites de RDS pour Oracle CDBs
<a name="Oracle.Concepts.single-tenant-limitations"></a>

RDS for Oracle prend en charge un sous-ensemble de fonctionnalités disponibles dans une CDB sur site.

### Limitations de CDB
<a name="oracle-cdb-limitations.cdb"></a>

Les limitations suivantes s’appliquent à RDS for Oracle au niveau de la CDB :
+ Vous ne pouvez pas vous connecter à une CDB. Vous vous connectez toujours à la base de données locataire (PDB) plutôt qu'à la CDB. Spécifiez le point de terminaison pour la base de données enfichable (PDB), tout comme pour une base de données non-CDB. La seule différence est que vous spécifiez * pdb\$1name* pour le nom de base de données, où *pdb\$1name* est le nom que vous avez choisi pour votre base de données enfichable (PDB).
+ Vous ne pouvez pas convertir une CDB dans la configuration à locataires multiples en une CDB dans la configuration à locataire unique. La conversion vers la configuration à locataires multiples est unidirectionnelle et irréversible.
+ Vous ne pouvez pas activer la configuration à locataires multiples ni effectuer une conversion vers ce type de configuration si votre instance de base de données utilise une version de la base de données Oracle antérieure à 19.0.0.0.ru-2022-01.rur-2022.r1.
+ Vous ne pouvez pas utiliser les flux d’activité de base de données dans une CDB.
+ Vous ne pouvez pas activer l’audit depuis `CDB$ROOT`. Vous devez activer l’audit au sein de chaque PDB individuellement.

### Limitations de la base de données locataire (PDB)
<a name="oracle-cdb-limitations.pdb"></a>

Les limitations suivantes s'appliquent aux bases de données locataire dans la configuration à locataires multiples RDS for Oracle :
+ Vous ne pouvez pas reporter les opérations de la base de données locataire vers la fenêtre de maintenance. Toutes les modifications sont effectuées immédiatement.
+ Vous ne pouvez pas ajouter une base de données locataire à une CDB qui utilise la configuration à locataire unique.
+ Vous ne pouvez pas ajouter ou modifier plusieurs bases de données locataire au cours d'une seule opération. Vous ne pouvez les ajouter ou les modifier qu'une par une.
+ Vous ne pouvez pas modifier une base de données locataire pour qu'elle soit nommée `CDB$ROOT` ou `PDB$SEED`.
+ Vous ne pouvez pas supprimer une base de données locataire si elle est le seul locataire de la CDB.
+ Tous les types de classes d'instance de base de données ne disposent pas de ressources suffisantes pour prendre PDBs en charge plusieurs dans une instance RDS pour Oracle CDB. L'augmentation du nombre de PDB affecte les performances et la stabilité des classes d'instances plus petites et augmente la durée de la plupart des opérations au niveau de l'instance, par exemple les mises à niveau de base de données.
+ Vous ne pouvez pas renommer un PDB en utilisant`rdsadmin.rdsadmin_util.rename_global_name`, vous devez plutôt utiliser l'`modify-tenant-database`API.
+ Vous ne pouvez pas utiliser plusieurs Comptes AWS pour créer PDBs dans le même CDB. PDBsdoivent appartenir au même compte que l'instance de base de données sur laquelle PDBs ils sont hébergés.
+ Tous les PDBs composants d'un CDB utilisent le même point de terminaison et le même écouteur de base de données.
+ Les opérations suivantes ne sont pas prises en charge au niveau de la PDB mais le sont au niveau de la CDB :
  + Sauvegarde et restauration
  + Mises à niveau de base de données
  + Opérations de maintenance
+ Les fonctionnalités suivantes ne sont pas prises en charge au niveau de la PDB mais le sont au niveau de la CDB :
  + Groupes d'options (les options sont installées PDBs sur toutes les instances de votre instance CDB)
  + Groupes de paramètres (tous les paramètres sont dérivés du groupe de paramètres associé à votre instance de CDB)
+ Les opérations au niveau de la PDB qui sont prises en charge dans l'architecture CDB sur site mais qui ne le sont pas dans une CDB RDS for Oracle sont les suivantes :
**Note**  
La liste suivante n'est pas exhaustive.
  + Demande PDBs
  + Proxy PDBs
  + Démarrage et arrêt d'une PDB
  + Débranchement et branchement PDBs

    Pour faire entrer des données dans votre CDB ou les en faire sortir, utilisez les mêmes techniques que pour une base de données non-CDB. Pour en savoir plus sur la migration de données, consultez [Importation de données dans Oracle sur Amazon RDS](Oracle.Procedural.Importing.md).
  + Configuration des options au niveau de la PDB

    La PDB hérite des paramètres d'options du groupe d'options de la CDB. Pour plus d'informations sur la configuration des options, consultez [Groupes de paramètres pour Amazon RDS](USER_WorkingWithParamGroups.md). Pour connaître les bonnes pratiques, consultez [Utilisation des groupes de paramètres DB](CHAP_BestPractices.md#CHAP_BestPractices.DBParameterGroup).
  + Configuration des paramètres dans une PDB

    La PDB hérite des paramètres de la CDB. Pour plus d'informations sur la configuration des options, consultez [Ajout d'options aux instances de base de données Oracle](Appendix.Oracle.Options.md).
  + Configuration de différents auditeurs PDBs dans le même CDB
  + Fonctionnalités Oracle Flashback

# Configuration d'une CDB RDS for Oracle
<a name="oracle-cdb.configuring"></a>

La configuration d'une CDB est similaire à la configuration d'une base de données non-CDB. 

**Topics**
+ [

## Création d'une instance de CDB RDS for Oracle
](#Oracle.Concepts.single-tenant.creation)
+ [

## Connexion à une PDB dans votre CDB RDS for Oracle
](#Oracle.Concepts.connecting.pdb)

## Création d'une instance de CDB RDS for Oracle
<a name="Oracle.Concepts.single-tenant.creation"></a>

Dans RDS for Oracle, la création d’une instance CDB est quasiment identique à la création d’une instance non-CDB. La différence réside dans le fait que vous devez choisir l'architecture multilocataire Oracle lors de la création de votre instance de base de données et devez également choisir une configuration d'architecture : multilocataire ou à locataire unique. Si vous créez des balises lorsque vous créez une CDB dans la configuration multilocataire, RDS les propage vers la base de données locataire initiale. Pour créer un CDB, utilisez l'API AWS Management Console AWS CLI, la ou l'API RDS.

### Console
<a name="Oracle.Concepts.single-tenant.creation.console"></a>

**Pour créer une instance de CDB**

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Dans le coin supérieur droit de la console Amazon RDS, choisissez l'instance Région AWS dans laquelle vous souhaitez créer l'instance CDB.

1. Dans le panneau de navigation, choisissez **Databases** (Bases de données).

1. Choisissez **Create database (Créer une base de données)**.

1. Dans **Choose a database creation method (Choisir une méthode de création de base de données)**, sélectionnez **Standard Create (Création standard)**.

1. Sous **Engine options (Options de moteur)**, choisissez **Oracle**. 

1. Pour **Type de gestion de base de données**, choisissez **Amazon RDS**.

1. Pour **Paramètres d'architecture**, choisissez **Architecture à locataires multiples Oracle**. 

1. Pour **Configuration de l'architecture**, effectuez l'une des opérations suivantes :
   + Choisissez **Configuration à locataires multiples** et passez à l'étape suivante.
   + Choisissez **Configuration à locataire unique** et passez à l'étape 11.

1. (Configuration à locataires multiples) Pour **Paramètres de base de données locataire**, apportez les modifications suivantes :
   + Pour **Nom de la base de données locataire**, entrez le nom de votre PDB initiale. Le nom de la PDB doit être différent du nom de CDB, qui est par défaut `RDSCDB`.
   + Pour **Nom d'utilisateur principal de la base de données locataire**, entrez le nom d'utilisateur principal de votre PDB. Vous ne pouvez pas utiliser le nom d'utilisateur principal de la base de données locataire pour vous connecter à la CDB elle-même.
   + Pour la **Gestion des informations d’identification**, choisissez l’une des options suivantes :
     + **Géré dans AWS Secrets Manager**

       Le mot de passe géré est destiné à la base de données locataire initiale plutôt qu’à l’instance. Dans **Sélectionner la clé de chiffrement**, choisissez soit une clé KMS créée par Secrets Manager, soit une clé que vous avez créée. 
**Note**  
C'est la technique la plus sûre AWS Secrets Manager que nous recommandons pour gérer les informations d'identification. Des frais supplémentaires s’appliquent. Pour de plus amples informations, veuillez consulter [Gestion des mots de passe avec Amazon RDS, et AWS Secrets Manager](rds-secrets-manager.md).
     + **Autogéré**

       Pour spécifier un mot de passe, désactivez la case à cocher **Générer automatiquement un mot de passe**, le cas échéant. Saisissez le même mot de passe dans **Mot de passe principal** et **Confirmer le mot de passe principal**.
   + Pour **Jeu de caractères de base de données locataire**, choisissez un jeu de caractères pour la PDB. Vous pouvez choisir un jeu de caractères de base de données locataire différent du jeu de caractères de CDB.

     Le jeu de caractères PDB par défaut est **AL32UTF8**. Si vous choisissez un jeu de caractères PDB autre que celui par défaut, la création de CDB peut être plus lente. 
**Note**  
Vous ne pouvez pas spécifier plusieurs bases de données locataires au cours de l’opération de création. La CDB possède un PDB lorsqu’elle est créée. Vous pouvez l'ajouter PDBs à un CDB existant dans le cadre d'une opération séparée.

1. (Configuration à locataire unique) Choisissez les paramètres souhaités en fonction des options répertoriées dans [Paramètres des instances de base de données](USER_CreateDBInstance.Settings.md) :

   1. Dans la section **Settings (Paramètres)**, ouvrez **Credential Settings (Paramètres des informations d’identification)**. Ensuite, procédez comme suit :

     1. Pour **Identifiant principal**, entrez le nom d'un utilisateur local dans votre PDB. Vous ne pouvez pas utiliser l'identifiant principal pour vous connecter à la racine de la CDB.

     1. Pour la **Gestion des informations d’identification**, choisissez l’une des options suivantes :
        + **Géré dans AWS Secrets Manager**

          Dans **Sélectionner la clé de chiffrement**, choisissez soit une clé KMS créée par Secrets Manager, soit une clé que vous avez créée. 
**Note**  
C'est la technique la plus sûre AWS Secrets Manager que nous recommandons pour gérer les informations d'identification. Des frais supplémentaires s’appliquent. Pour de plus amples informations, veuillez consulter [Gestion des mots de passe avec Amazon RDS, et AWS Secrets Manager](rds-secrets-manager.md).
        + **Autogéré**

          Pour spécifier un mot de passe, désactivez la case à cocher **Générer automatiquement un mot de passe**, le cas échéant. Saisissez le même mot de passe dans **Mot de passe principal** et **Confirmer le mot de passe principal**.

1. Pour les sections restantes, spécifiez vos paramètres d’instance de base de données. Pour plus d’informations sur chaque paramètre, consultez [Paramètres pour les instances de base de données](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.Settings.html).

1. Choisissez **Créer une base de données**.

### AWS CLI
<a name="Oracle.Concepts.single-tenant.creation.cli"></a>

Pour créer un CDB dans la configuration multi-locataires, utilisez la [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)commande avec les paramètres suivants :
+ `--db-instance-identifier`
+ `--db-instance-class`
+ `--engine { oracle-ee-cdb | oracle-se2-cdb }`
+ `--master-username`
+ `--master-user-password` ou `--manage-master-user-password`
+ `--multi-tenant` (pour la configuration à locataire unique, ne spécifiez pas `multi-tenant` ou spécifiez `--no-multi-tenant`)
+ `--allocated-storage`
+ `--backup-retention-period`

Pour plus d’informations sur chaque paramètre, consultez [Paramètres des instances de base de données](USER_CreateDBInstance.Settings.md).

L'exemple suivant crée une instance de base de données RDS pour Oracle nommée *my-cdb-inst* dans la configuration multi-locataires. Si vous spécifiez `--no-multi-tenant` ou que vous ne spécifiez pas `--multi-tenant`, la configuration de CDB par défaut est à locataire unique. Le moteur est `oracle-ee-cdb` : une commande qui spécifie `oracle-ee` et `--multi-tenant` échoue avec une erreur. La base de données des locataires initiale est nommée*mypdb*.

**Example**  
Pour Linux, macOS ou Unix :  

```
 1. aws rds create-db-instance \
 2.     --engine oracle-ee-cdb \
 3.     --db-instance-identifier my-cdb-inst \
 4.     --multi-tenant \
 5.     --db-name mypdb \
 6.     --allocated-storage 250 \
 7.     --db-instance-class db.t3.large \
 8.     --master-username pdb_admin \
 9.     --manage-master-user-password \
10.     --backup-retention-period 3
```
Pour Windows :  

```
 1. aws rds create-db-instance ^
 2.     --engine oracle-ee-cdb ^
 3.     --db-instance-identifier my-cdb-inst ^
 4.     --multi-tenant ^
 5.     --db-name mypdb ^
 6.     --allocated-storage 250 ^
 7.     --db-instance-class db.t3.large ^
 8.     --master-username pdb_admin ^
 9.     --manage-master-user-password \ ^
10.     --backup-retention-period 3
```
Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.
Le résultat produit lors de l’exécution de cette commande est semblable à ce qui suit : Le nom de la base de données, le jeu de caractères, le jeu de caractères national, l’utilisateur principal et le secret de l’utilisateur principal ne sont pas inclus dans la sortie. Vous pouvez afficher ces informations à l'aide de la commande CLI `describe-tenant-databases`.  

```
 1. {
 2.     "DBInstance": {
 3.         "DBInstanceIdentifier": "my-cdb-inst",
 4.         "DBInstanceClass": "db.t3.large",
 5.         "MultiTenant": true,
 6.         "Engine": "oracle-ee-cdb",
 7.         "DBResourceId": "db-ABCDEFGJIJKLMNOPQRSTUVWXYZ",
 8.         "DBInstanceStatus": "creating",
 9.         "AllocatedStorage": 250,
10.         "PreferredBackupWindow": "04:59-05:29",
11.         "BackupRetentionPeriod": 3,
12.         "DBSecurityGroups": [],
13.         "VpcSecurityGroups": [
14.             {
15.                 "VpcSecurityGroupId": "sg-0a1bcd2e",
16.                 "Status": "active"
17.             }
18.         ],
19.         "DBParameterGroups": [
20.             {
21.                 "DBParameterGroupName": "default.oracle-ee-cdb-19",
22.                 "ParameterApplyStatus": "in-sync"
23.             }
24.         ],
25.         "DBSubnetGroup": {
26.             "DBSubnetGroupName": "default",
27.             "DBSubnetGroupDescription": "default",
28.             "VpcId": "vpc-1234567a",
29.             "SubnetGroupStatus": "Complete",
30.             ...
```

### API RDS
<a name="Oracle.Concepts.single-tenant.creation.api"></a>

Pour créer une instance de base de données à l'aide de l'API Amazon RDS, appelez l'DBInstanceopération [Create](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html).

Pour plus d’informations sur chaque paramètre, consultez [Paramètres des instances de base de données](USER_CreateDBInstance.Settings.md). 

## Connexion à une PDB dans votre CDB RDS for Oracle
<a name="Oracle.Concepts.connecting.pdb"></a>

Vous pouvez utiliser un utilitaire tel que SQL\$1Plus pour vous connecter à une PDB. Pour télécharger Oracle Instant Client, qui inclut une version autonome de SQL\$1Plus, consultez la page [ des téléchargements d'Oracle Instant Client](https://www.oracle.com/database/technologies/instant-client/downloads.html).

Pour connecter SQL\$1Plus à votre PDB, vous avez besoin des informations suivantes :
+ Nom de la PDB
+ Nom d’utilisateur et mot de passe de la base de données
+ Point de terminaison pour votre instance de base de données
+ Numéro de port

Pour obtenir des informations sur la recherche des informations précédentes, consultez [Recherche du point de terminaison de votre instance de base de données RDS for Oracle](USER_Endpoint.md).

**Example Pour vous connecter à votre PDB à l'aide de SQL\$1Plus**  
Dans les exemples suivants, remplacez votre utilisateur principal par*master\$1user\$1name*. Remplacez également le point de terminaison par votre instance de base de données, puis incluez le numéro de port et le SID Oracle. La valeur SID est le nom de la PDB que vous avez spécifié lors de la création de votre instance de base de données, et non pas l'identifiant de l'instance de base de données.  
Pour Linux, macOS ou Unix :  

```
1. sqlplus 'master_user_name@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=endpoint)(PORT=port))(CONNECT_DATA=(SID=pdb_name)))'
```
Pour Windows :  

```
1. sqlplus master_user_name@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=endpoint)(PORT=port))(CONNECT_DATA=(SID=pdb_name)))
```
Vous devez visualiser des résultats similaires à ce qui suit.  

```
SQL*Plus: Release 19.0.0.0.0 Production on Mon Aug 21 09:42:20 2021
```
Une fois que vous avez saisi le mot de passe de l'utilisateur, l'invite SQL apparaît.  

```
SQL>
```

**Note**  
La chaîne de connexion de format court (Easy connect ou EZCONNECT), comme `sqlplus username/password@LONGER-THAN-63-CHARS-RDS-ENDPOINT-HERE:1521/database-identifier`, peut comporter une limite de caractères maximale et ne doit pas être utilisée pour se connecter. 

# Sauvegarde et restauration d'une CDB
<a name="Oracle.Concepts.single-tenant.snapshots"></a>

Vous pouvez sauvegarder et restaurer votre CDB à l'aide d'instantanés de base de données RDS ou de Recovery Manager (RMAN).

## Sauvegarde et restauration d'une CDB à l'aide d'instantanés de base de données
<a name="br-cdb.db-snapshots"></a>

Les instantanés de base de données fonctionnent de la même manière dans les architectures CDB et non CDB. Les principales différences sont les suivantes :
+ Lorsque vous restaurez un instantané de base de données d'une CDB, vous ne pouvez pas renommer la CDB. Le nom de la CDB est `RDSCDB` et ne peut pas être modifié.
+ Lorsque vous restaurez un instantané de base de données d'un CDB, vous ne pouvez pas le renommer PDBs. Vous pouvez modifier le nom du PDB à l'aide de la [modify-tenant-database](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyTenantDatabase.html)commande.
+ Pour rechercher des bases de données mutualisées dans un instantané, utilisez la commande CLI [describe-db-snapshot-tenant-databases](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBSnapshotTenantDatabases.html).
+ Vous ne pouvez pas interagir directement avec les bases de données locataire dans un instantané de CDB qui utilise la configuration de l'architecture à locataires multiples. Si vous restaurez l'instantané de base de données, vous restaurez toutes ses bases de données locataire. 
+ RDS for Oracle copie implicitement les balises d'une base de données locataire vers la base de données locataire située dans un instantané de base de données. Lorsque vous restaurez une base de données locataire, les balises apparaissent dans la base de données restaurée.
+ Si vous restaurez un instantané de base de données et que vous spécifiez de nouvelles balises à l'aide du paramètre `--tags`, les nouvelles balises remplacent toutes les balises existantes.
+ Si vous prenez un instantané de base de données d'une instance de CDB comportant des balises et que vous spécifiez `--copy-tags-to-snapshot`, RDS for Oracle copie les balises des bases de données locataire vers les bases de données locataire situées dans l'instantané.

Pour de plus amples informations, veuillez consulter [Considérations relatives à Oracle Database](USER_RestoreFromSnapshot.md#USER_RestoreFromSnapshot.Oracle).

## Sauvegarde et restauration d'une CDB à l'aide de RMAN
<a name="br-cdb.rman"></a>

Pour découvrir comment sauvegarder et restaurer une CDB ou une base de données locataire individuelle à l'aide de RMAN, consultez [Exécution des tâches RMAN courantes pour les instances de base de données Oracle](Appendix.Oracle.CommonDBATasks.RMAN.md).

# Conversion d'une base de données non-CDB RDS for Oracle en CDB
<a name="oracle-cdb-converting"></a>

Vous pouvez modifier l’architecture d’une base de données Oracle en passant de l’architecture non-CDB à l’architecture multilocataire Oracle, également appelée *architecture CDB*, avec la commande `modify-db-instance`. Dans la plupart des cas, cette technique est préférable à la création d’une nouvelle CDB et à l’importation de données. L’opération de conversion entraîne une durée d’indisponibilité.

Lorsque vous mettez à niveau la version de votre moteur de base de données, vous ne pouvez pas modifier l'architecture de base de données lors de la même opération. Par conséquent, pour mettre à niveau une base de données non CDB Oracle Database 19c vers une CDB Oracle Database 21c, vous devez d'abord convertir la base de données non CDB en CDB au cours d'une étape, puis mettre à niveau la CDB 19c vers une CDB 21c au cours d'une étape distincte.

L'opération de conversion de la base de données non-CDB présente les exigences suivantes :
+ Vous devez spécifier `oracle-ee-cdb` ou `oracle-se2-cdb` pour le type de moteur de base de données. Ce sont les seules valeurs prises en charge.
+ Votre moteur de base de données doit utiliser Oracle Database 19c avec une mise à jour de version (RU) d'avril 2021 ou ultérieure.

Les restrictions suivantes s'appliquent à l'opération :
+ Vous ne pouvez pas convertir une CDB en base de données non-CDB. Vous pouvez uniquement convertir une base de données non-CDB en CDB.
+ Vous ne pouvez pas convertir une base de données non CDB en configuration multilocataire au cours d'un seul appel `modify-db-instance`. Une fois que vous avez converti une base de données non CDB en CDB, votre CDB est dans la configuration à locataire unique. Pour convertir la configuration à locataire unique en configuration multilocataire, réexécutez `modify-db-instance`. Pour plus d’informations, consultez [Conversion de la configuration à locataire unique en configuration à locataires multiples](oracle-single-tenant-converting.md).
+ Vous ne pouvez pas convertir une base de données principale ou de réplica sur laquelle Oracle Data Guard est activé. Pour convertir une base de données non CDB contenant des réplicas en lecture, supprimez d'abord toutes les réplicas en lecture.
+ Vous ne pouvez pas mettre à niveau la version du moteur de base de données et convertir une base de données non-CDB en CDB dans la même opération.

Avant de convertir votre fichier non-CDB, tenez compte des éléments suivants :
+ Les considérations relatives aux groupes d'options et de paramètres sont les mêmes que pour la mise à niveau du moteur de base de données. Pour plus d’informations, consultez [Considérations relatives aux mises à niveau de la base de données Oracle](USER_UpgradeDBInstance.Oracle.OGPG.md).
+ Vous pouvez convertir des instances non-CDB existantes qui utilisent des mots de passe principaux gérés en instances à locataire unique en une seule opération. Les instances à locataire unique héritent des mots de passe gérés.
+ Si l’option `OEMAGENT` est installée sur votre instance de base de données, il est recommandé de supprimer cette option avant de convertir votre instance non-CDB. Une fois que votre fichier non-CDB est converti en CDB, réinstallez l’option. Pour plus d’informations, consultez [Oracle Management Agent pour Enterprise Manager Cloud Control](Oracle.Options.OEMAgent.md).
+ Au cours du processus de conversion, RDS rétablit la taille du journal de restauration en ligne à 128 Mo par défaut.

## Console
<a name="oracle-cdb-converting.console"></a>

**Pour convertir une base de données non-CDB en CDB**

1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l’adresse [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Dans le coin supérieur droit de la console Amazon RDS, choisissez la Région AWS où réside votre instance de base de données.

1. Dans le panneau de navigation, choisissez **Bases de données**, puis l'instance de base de données non-CDB que vous voulez convertir en instance de CDB. 

1. Sélectionnez **Modifier**.

1. Pour **Paramètres d'architecture**, sélectionnez **Architecture à locataires multiples Oracle**. Après la conversion, votre CDB sera dans la configuration à locataire unique.

1. (Facultatif) Pour **Groupe de paramètres de base de données**, choisissez un nouveau groupe de paramètres pour votre instance de CDB. Les mêmes considérations relatives aux groupes de paramètres s'appliquent lors de la conversion d'une instance de base de données que lors de la mise à niveau d'une instance de base de données. Pour plus d’informations, consultez [Considérations relatives au groupe de paramètres](USER_UpgradeDBInstance.Oracle.OGPG.md#USER_UpgradeDBInstance.Oracle.OGPG.PG).

1. (Facultatif) Pour **Groupe d'options**, choisissez un nouveau groupe d'options pour votre instance de CDB. Les mêmes considérations relatives aux groupes d'options s'appliquent lors de la conversion d'une instance de base de données que lors de la mise à niveau d'une instance de base de données. Pour plus d’informations, consultez [Considérations relatives au groupe d'options](USER_UpgradeDBInstance.Oracle.OGPG.md#USER_UpgradeDBInstance.Oracle.OGPG.OG).

1. (Facultatif) Pour la **gestion des informations d’identification**, choisissez **Géré dans AWS Secrets Manager** ou **Autogéré**. Pour plus d’informations, consultez [Gestion du mot de passe d’utilisateur principal pour une instance de base de données avec Secrets Manager](rds-secrets-manager.md#rds-secrets-manager-db-instance).

1. Lorsque tous les changements vous conviennent, choisissez **Continuer** et vérifiez le résumé des modifications. 

1. (Facultatif) Choisissez **Appliquer immédiatement** pour appliquer les modifications immédiatement. La sélection de cette option peut entraîner des temps d'arrêt dans certains cas. Pour plus d'informations, consultez [Utilisation du paramètre de planification des modifications](USER_ModifyInstance.ApplyImmediately.md).

1. Sur la page de confirmation, examinez vos modifications. Si elles sont correctes, choisissez **Modifier l'instance de base de données**.

   Ou choisissez **Retour** pour revoir vos modifications, ou choisissez **Annuler** pour les annuler.

## AWS CLI
<a name="oracle-cdb-converting.cli"></a>

Pour convertir la base de données non CDB de votre instance de base de données en une CDB dans la configuration à locataire unique, définissez `--engine` sur `oracle-ee-cdb` ou `oracle-se2-cdb` dans la commande AWS CLI [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html). Pour plus d’informations, consultez [Paramètres des instances de base de données](USER_ModifyInstance.Settings.md).

L'exemple suivant convertit l'instance de base de données nommée *my-non-cdb* et spécifie un groupe d'options et un groupe de paramètres personnalisés. La commande permet également de gérer les mots de passe avec Secrets Manager.

**Example**  
Pour Linux, macOS ou Unix :  

```
aws rds modify-db-instance \
    --db-instance-identifier my-non-cdb \
    --engine oracle-ee-cdb \
    --option-group-name custom-option-group \
    --db-parameter-group-name custom-parameter-group \
    --manage-master-user-password
```
Pour Windows :  

```
aws rds modify-db-instance ^
    --db-instance-identifier my-non-cdb ^
    --engine oracle-ee-cdb ^
    --option-group-name custom-option-group ^
    --db-parameter-group-name custom-parameter-group ^
    --manage-master-user-password
```

## API RDS
<a name="oracle-cdb-converting.api"></a>

Pour convertir une base de données non-CDB en CDB, spécifiez `Engine` dans l'opération [ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) de l'API RDS.

# Conversion de la configuration à locataire unique en configuration à locataires multiples
<a name="oracle-single-tenant-converting"></a>

Vous pouvez remplacer la configuration à locataire unique par la configuration à locataires multiples pour l'architecture d'une CDB RDS for Oracle. Avant et après la conversion, votre CDB contient une base de données à locataire unique (PDB). Les balises de l’instance de base de données sont propagées vers la base de données locataire initiale créée lors de la conversion.

Avant de commencer, assurez-vous que votre politique IAM est autorisée à créer une base de données mutualisée. Au cours de la conversion, RDS for Oracle migre les métadonnées suivantes vers la nouvelle base de données locataire :
+ L'identifiant principal
+ Le mot de passe principal géré (si la CDB source s’intègre à Secrets Manager)
+ Le nom de la base de données 
+ Le jeu de caractères
+ Le jeu de caractères national

Avant la conversion, vous pouviez afficher les informations précédentes à l’aide de la commande `describe-db-instances`. Après la conversion, vous les affichez à l'aide de la commande `describe-tenant-database`.

La conversion du statut de locataire unique à celui de locataire multiple présente les limites suivantes :
+ Vous ne pouvez pas reconvertir la configuration à locataire unique après avoir effectué la conversion en configuration à locataires multiples. La conversion est irréversible.
+ Vous ne pouvez pas convertir une base de données principale ou de réplica sur laquelle Oracle Data Guard est activé.
+ Vous ne pouvez pas mettre à niveau la version du moteur de base de données et effectuer une conversion vers une configuration à locataires multiples au cours de la même opération.
+ Vous ne pouvez pas activer ni désactiver les mots de passe des utilisateurs principaux gérés pendant la conversion.

## Console
<a name="oracle-cdb.configuring.converting.console"></a>

**Pour convertir une CDB utilisant la configuration à locataire unique en configuration à locataires multiples**

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Dans le coin supérieur droit de la console Amazon RDS, choisissez la Région AWS  où réside votre instance de base de données.

1. Dans le panneau de navigation, choisissez **Bases de données**, puis l'instance de base de données non-CDB que vous voulez convertir en instance de CDB. 

1. Sélectionnez **Modifier**.

1. Pour **Paramètres d'architecture**, sélectionnez **Architecture à locataires multiples Oracle**.

1. Pour **Configuration de l'architecture**, sélectionnez **Configuration à locataires multiples**.

1. (Facultatif) Pour **Groupe de paramètres de base de données**, choisissez un nouveau groupe de paramètres pour votre instance de CDB. Les mêmes considérations relatives aux groupes de paramètres s’appliquent lors de la conversion d’une instance de base de données que lors de la mise à niveau d’une instance de base de données.

1. (Facultatif) Pour **Groupe d’options**, choisissez un nouveau groupe d’options pour votre instance de CDB. Les mêmes considérations relatives aux groupes d’options s’appliquent lors de la conversion d’une instance de base de données que lors de la mise à niveau d’une instance de base de données.

1. Lorsque tous les changements vous conviennent, choisissez **Continuer** et vérifiez le résumé des modifications. 

1. Choisissez **Apply immediately (Appliquer immédiatement)**. Cette option est requise lorsque vous basculez vers une configuration à locataires multiples. Notes que cette option peut entraîner des temps d'arrêt dans certains cas.

1. Sur la page de confirmation, examinez vos modifications. Si elles sont correctes, choisissez **Modifier l'instance de base de données**.

   Vous pouvez également sélectionner **Retour** pour revoir vos modifications ou **Annuler** pour les annuler.

## AWS CLI
<a name="oracle-cdb.configuring.converting.cli"></a>

Pour convertir un CDB utilisant la configuration mono-locataire en configuration multi-tenant, spécifiez-le `--multi-tenant` dans la commande. AWS CLI [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html)

L'exemple suivant convertit l'instance de base de données nommée `my-st-cdb` de la configuration à locataire unique en configuration à locataires multiples. L’option `--apply-immediately` est obligatoire.

**Example**  
Pour Linux, macOS ou Unix :  

```
aws rds modify-db-instance --region us-east-1\
    --db-instance-identifier my-st-cdb \
    --multi-tenant \
    --apply-immediately
```
Pour Windows :  

```
aws rds modify-db-instance --region us-east-1 ^
    --db-instance-identifier my-st-cdb ^
    --multi-tenant ^
    --apply-immediately
```
Le résultat se présente comme suit.  

```
{
    "DBInstance": {
        "DBInstanceIdentifier": "my-st-cdb",
        "DBInstanceClass": "db.r5.large",
        "MultiTenant": false,
        "Engine": "oracle-ee-cdb",
        "DBResourceId": "db-AB1CDE2FGHIJK34LMNOPRLXTXU",
        "DBInstanceStatus": "modifying",
        "MasterUsername": "admin",
        "DBName": "ORCL",
        ...
        "EngineVersion": "19.0.0.0.ru-2022-01.rur-2022-01.r1",
        "AutoMinorVersionUpgrade": true,
        "ReadReplicaDBInstanceIdentifiers": [],
        "LicenseModel": "bring-your-own-license",
        "OptionGroupMemberships": [
            {
                "OptionGroupName": "default:oracle-ee-cdb-19",
                "Status": "in-sync"
            }
        ],
        ...
        "PendingModifiedValues": {
            "MultiTenant": "true"
        }
    }
}
```

# Ajout d'une base de données locataire RDS for Oracle à votre instance de CDB
<a name="oracle-cdb-configuring.adding.pdb"></a>

Dans la configuration multi-locataires RDS for Oracle, une base de données locataire est une PDB. Pour ajouter une base de données locataire, vérifiez que vous respectez les conditions prérequises suivantes :
+ La configuration multi-locataires est activée sur votre CDB. Pour de plus amples informations, veuillez consulter [Configuration à locataires multiples de l'architecture CDB](Oracle.Concepts.CDBs.md#multi-tenant-configuration).
+ Vous disposez des autorisations IAM nécessaires pour créer la base de données locataire.

Vous pouvez ajouter une base de données mutualisée à l'aide de l'API AWS Management Console, de AWS CLI, ou de l'API RDS. Vous ne pouvez pas ajouter plusieurs bases de données locataire au cours d'une seule opération : vous devez les ajouter une par une. Si la conservation des sauvegardes est activée sur la CDB, Amazon RDS sauvegarde l'instance de base de données avant et après l'ajout d'une nouvelle base de données locataire. Si le CDB a lu des répliques, vous pouvez uniquement ajouter une base de données locataire à l'instance de base de données principale ; Amazon RDS crée automatiquement la base de données locataire sur les répliques. L'état de la réplication est également validé, ce qui garantit que toutes les répliques sont disponibles et que le délai de réplication est inférieur à 5 minutes avant la création du locataire.

## Console
<a name="oracle-cdb-configuring.adding.pdb.console"></a>

**Pour ajouter une base de données locataire à votre instance de base de données**

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Dans le coin supérieur droit de la console Amazon RDS, choisissez la Région AWS dans laquelle vous voulez créer la base de données locataire.

1. Dans le panneau de navigation, choisissez **Databases (Bases de données)**.

1. Choisissez l'instance de CDB à laquelle vous souhaitez ajouter une base de données locataire. Votre instance de base de données doit utiliser la configuration multilocataire de l'architecture CDB. 

1. Choisissez **Actions**, puis **Ajouter une base de données locataire**.

1. Pour **Paramètres de base de données locataire**, procédez comme suit :
   + Pour **Nom de la base de données locataire**, entrez le nom de votre nouvelle PDB.
   + Pour **Nom d'utilisateur principal de la base de données locataire**, entrez le nom de l'utilisateur principal de votre PDB.
   + Choisissez l’une des options suivantes de gestion des informations d’identification :
     + **Géré dans AWS Secrets Manager**

       Dans **Sélectionner la clé de chiffrement**, choisissez soit une clé KMS créée par Secrets Manager, soit une clé que vous avez créée. 
**Note**  
C'est la technique la plus sûre AWS Secrets Manager que nous recommandons pour gérer les informations d'identification. Des frais supplémentaires s'appliquent. AWS Secrets Manager n'est pas pris en charge pour les instances utilisant des répliques de lecture. Pour de plus amples informations, veuillez consulter [Gestion des mots de passe avec Amazon RDS, et AWS Secrets Manager](rds-secrets-manager.md).
     + **Autogéré**

       Pour spécifier un mot de passe, désactivez la case à cocher **Générer automatiquement un mot de passe**, le cas échéant. Saisissez le même mot de passe dans **Mot de passe principal** et **Confirmer le mot de passe principal**.
     + Sous **Configuration supplémentaire**, saisissez le nom de votre PDB pour **Nom de la base de données initiale**. Vous ne pouvez pas nommer la CDB, qui porte le nom par défaut `RDSCDB`.
   + Pour **Jeu de caractères de base de données locataire**, choisissez un jeu de caractères pour la PDB. La valeur par défaut est **AL32UTF8**. Vous pouvez choisir un jeu de caractères de PDB différent du jeu de caractères de CDB. Si l'instance possède des répliques lues, les locataires ne peuvent pas être créés avec un jeu de caractères personnalisé. Vous pouvez créer vos locataires avec un jeu de caractères personnalisé avant de créer une réplique en lecture si nécessaire.
   + Pour **Jeu de caractères national de base de données locataire**, choisissez un jeu de caractères national pour la PDB. La valeur par défaut est **AL32UTF8**. Le jeu de caractères national spécifie l'encodage uniquement pour les colonnes qui utilisent le type de données `NCHAR` (`NCHAR`, `NVARCHAR2` et `NCLOB`) et n'affecte pas les métadonnées de la base de données.

   Pour plus d'informations sur les paramètres précédents, consultez [Paramètres des instances de base de données](USER_CreateDBInstance.Settings.md).

1. Choisissez **Ajouter un locataire**.

## AWS CLI
<a name="oracle-cdb-configuring.adding.pdb.cli"></a>

Pour ajouter une base de données mutualisée à votre CDB à l'aide du AWS CLI, utilisez la commande [create-tenant-database](https://docs.aws.amazon.com/cli/latest/reference/rds/create-tenant-database.html)avec les paramètres obligatoires suivants :
+ `--db-instance-identifier`
+ `--tenant-db-name`
+ `--master-username`
+ `--master-user-password`

L'exemple suivant crée une base de données de locataires nommée *mypdb2* dans l'instance RDS pour Oracle CDB nommée. *my-cdb-inst* Le jeu de caractères de PDB est `UTF-16`.

**Example**  
Pour Linux, macOS ou Unix :  

```
1. aws rds create-tenant-database --region us-east-1 \
2.     --db-instance-identifier my-cdb-inst \
3.     --tenant-db-name mypdb2 \
4.     --master-username mypdb2-admin \
5.     --master-user-password mypdb2-pwd \
6.     --character-set-name UTF-16
```
Pour Windows :  

```
1. aws rds create-tenant-database --region us-east-1 \
2.     --db-instance-identifier my-cdb-inst ^
3.     --tenant-db-name mypdb2 ^
4.     --master-username mypdb2-admin ^
5.     --master-user-password mypdb2-pwd ^
6.     --character-set-name UTF-16
```
La sortie ressemble à ce qui suit.  

```
...}
    "TenantDatabase" :
         {
            "DbiResourceId" : "db-abc123",
            "TenantDatabaseResourceId" : "tdb-bac567",
            "TenantDatabaseArn" : "arn:aws:rds:us-east-1:123456789012:db:my-cdb-inst:mypdb2",
            "DBInstanceIdentifier" : "my-cdb-inst",
            "TenantDBName" : "mypdb2",
            "Status" : "creating",
            "MasterUsername" : "mypdb2",
            "CharacterSetName" : "UTF-16",
            ...
        }
}...
```

# Modification d'une base de données locataire RDS for Oracle
<a name="oracle-cdb-configuring.modifying.pdb"></a>

Vous pouvez uniquement modifier le nom de la PDB et le mot de passe utilisateur principal d'une base de données locataire dans votre CDB. Prenez note des exigences et limitations suivantes  :
+ Pour modifier les paramètres d'une base de données locataire dans votre instance de base de données, la base de données locataire doit exister. 
+ Vous ne pouvez pas modifier plusieurs bases de données locataire au cours d'une seule opération. Vous ne pouvez modifier qu'une seule base de données locataire à la fois.
+ Vous ne pouvez pas remplacer le nom d'une base de données locataire par `CDB$ROOT` ou `PDB$SEED`.
+ Si votre instance de base de données possède des répliques de lecture, vous ne pouvez modifier les locataires que sur l'instance de base de données principale. L'état de la réplication est également validé, ce qui garantit que les répliques sont disponibles et que le délai de réplication est inférieur à 5 minutes avant que le locataire ne soit modifié.

Vous pouvez effectuer des modifications PDBs à l'aide de AWS Management Console l'API AWS CLI, de, ou de l'API RDS.

## Console
<a name="oracle-cdb-configuring.modifying.pdb.console"></a>

**Pour modifier le nom de PDB ou le mot de passe principal d'une base de données locataire**

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Dans le coin supérieur droit de la console Amazon RDS, choisissez la Région AWS dans laquelle vous voulez créer la base de données locataire.

1. Dans le panneau de navigation, choisissez **Databases (Bases de données)**.

1. Choisissez la base de données locataire dont vous souhaitez modifier le nom de base de données ou le mot de passe utilisateur principal.

1. Sélectionnez **Modifier**.

1. Pour **Paramètres de base de données locataire**, effectuez l'une des opérations suivantes :
   + Pour **Nom de la base de données locataire**, entrez le nouveau nom de votre nouvelle PDB.
   + Pour **Mot de passe principal de base de données locataire**, entrez un nouveau mot de passe.

1. Choisissez **Modifier le locataire**.

## AWS CLI
<a name="oracle-cdb-configuring.modifying.pdb.cli"></a>

Pour modifier une base de données mutualisée à l'aide de AWS CLI, appelez la [modify-tenant-database](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-tenant-database.html)commande avec les paramètres suivants :
+ `--db-instance-identifier` *value*
+ `--tenant-db-name value`
+ `[--new-tenant-db-name value]`
+ `[--master-user-password value]`

L'exemple suivant renomme la base de données locataire `pdb1` en `pdb-hr` sur l'instance de base de données `my-cdb-inst`.

**Example**  
Pour Linux, macOS ou Unix :  

```
1. aws rds modify-tenant-database --region us-east-1 \
2.     --db-instance-identifier my-cdb-inst \
3.     --tenant-db-name pdb1 \
4.     --new-tenant-db-name pdb-hr
```
Pour Windows :  

```
1. aws rds modify-tenant-database --region us-east-1 ^
2.     --db-instance-identifier my-cdb-inst ^
3.     --tenant-db-name pdb1 ^
4.     --new-tenant-db-name pdb-hr
```
Le résultat produit lors de l’exécution de cette commande est semblable à ce qui suit :   

```
{
    "TenantDatabase" : {
        "DbiResourceId" : "db-abc123",
        "TenantDatabaseResourceId" : "tdb-bac567",
        "TenantDatabaseArn" : "arn:aws:rds:us-east-1:123456789012:db:my-cdb-inst:pdb1",
        "DBInstanceIdentifier" : "my-cdb-inst",
        "TenantDBName" : "pdb1",
        "Status" : "modifying",
        "MasterUsername" : "tenant-admin-user"
        "Port" : "6555",
        "CharacterSetName" : "UTF-16",
        "MaxAllocatedStorage" : "1000",
        "ParameterGroups": [
            {
                "ParameterGroupName": "pdb1-params",
                "ParameterApplyStatus": "in-sync"
            }
        ],
        "OptionGroupMemberships": [
            {
                "OptionGroupName": "pdb1-options",
                "Status": "in-sync"
            }
        ],
        "PendingModifiedValues": {
            "TenantDBName": "pdb-hr"
        }
    }
}
```

# Suppression d'une base de données locataire RDS for Oracle de votre CDB
<a name="oracle-cdb-configuring.deleting.pdb"></a>

Vous pouvez supprimer une base de données mutualisée (PDB) à l'aide de l'API AWS Management Console, de AWS CLI, ou de l'API RDS. Tenez compte des conditions préalables requises et des limitations suivantes :
+ La base de données locataire et l'instance de base de données doivent exister.
+ Pour que la suppression réussisse, l'une des situations suivantes doit exister :
  + La base de données locataire et l'instance de base de données sont disponibles.
**Note**  
Vous pouvez prendre un instantané final, mais uniquement si la base de données locataire et l'instance de base de données étaient disponibles avant l'émission de la commande `delete-tenant-database`. Cet instantané ne sera pris sur l'instance principale que si l'instance de base de données a lu des répliques.
  + La base de données locataire est en cours de création.
  + L'instance de base de données modifie la base de données locataire.
  + Si l'instance de base de données a lu des répliques, ces contraintes s'appliquent à toutes les répliques.
+ Vous ne pouvez pas supprimer plusieurs bases de données locataire au cours d'une seule opération.
+ Vous ne pouvez pas supprimer une base de données locataire si elle est le seul locataire de la CDB.
+ Vous ne pouvez pas supprimer une base de données mutualisée sur une réplique en lecture, vous pouvez uniquement supprimer un locataire sur l'instance de base de données principale. L'état de la réplication est également validé, ce qui garantit que le délai de réplication est inférieur à 5 minutes avant la suppression du locataire.

## Console
<a name="oracle-cdb-configuring.deleting.pdb.console"></a>

**Pour supprimer une base de données locataire**

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Dans le panneau de navigation, choisissez **Bases de données**, puis choisissez la base de données locataire que vous souhaitez supprimer.

1. Pour **Actions**, choisissez **Supprimer**.

1. Pour créer un instantané de base de données final pour l'instance de base de données, choisissez **Create final snapshot? (Créer un instantané final ?)**.

1. Si vous avez choisi de créer un instantané final, entrez le paramètre **Final snapshot name (Nom de l'instantané final)**.

1. Saisissez **delete me** dans la zone.

1. Sélectionnez **Delete (Supprimer)**.

## AWS CLI
<a name="oracle-cdb-configuring.deleting.pdb.cli"></a>

Pour supprimer une base de données mutualisée à l'aide de AWS CLI, appelez la [delete-tenant-database](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-tenant-database.html)commande avec les paramètres suivants :
+ `--db-instance-identifier value`
+ `--tenant-db-name value`
+ `[--skip-final-snapshot | --no-skip-final-snapshot]`
+ `[--final-snapshot-identifier value]`

L'exemple suivant supprime la base de données mutualisée nommée à *pdb-test* partir de la base de données CDB nommée. *my-cdb-inst* Par défaut, l'opération crée un instantané final.

**Example**  
Pour Linux, macOS ou Unix :  

```
1. aws rds delete-tenant-database --region us-east-1 \
2.     --db-instance-identifier my-cdb-inst \
3.     --tenant-db-name pdb-test \
4.     --final-snapshot-identifier final-snap-pdb-test
```
Pour Windows :  

```
1. aws rds delete-tenant-database --region us-east-1 ^
2.     --db-instance-identifier my-cdb-inst ^
3.     --tenant-db-name pdb-test ^
4.     --final-snapshot-identifier final-snap-pdb-test
```
Le résultat produit lors de l’exécution de cette commande est semblable à ce qui suit :   

```
{
    "TenantDatabase" : {
        "DbiResourceId" : "db-abc123",
        "TenantDatabaseResourceId" : "tdb-bac456",
        "TenantDatabaseArn" : "arn:aws:rds:us-east-1:123456789012:db:my-cdb-inst:pdb-test",
        "DBInstanceIdentifier" : "my-cdb-inst",
        "TenantDBName" : "pdb-test",
        "Status" : "deleting",
        "MasterUsername" : "pdb-test-admin"
        "Port" : "6555",
        "CharacterSetName" : "UTF-16",
        "MaxAllocatedStorage" : "1000",
        "ParameterGroups": [
            {
                "ParameterGroupName": "tenant-1-params",
                "ParameterApplyStatus": "in-sync"
            }
        ],
        "OptionGroupMemberships": [
            {
                "OptionGroupName": "tenant-1-options",
                "Status": "in-sync"
            }
        ]
    }
}
```

# Affichage des détails de la base de données locataire
<a name="oracle-cdb-configuring.describing.pdb"></a>

Vous pouvez afficher les détails d'une base de données locataire de la même manière que pour une base de données non CDB ou CDB.

## Console
<a name="oracle-cdb-configuring.describing.pdb.console"></a>

**Pour afficher les détails d'une base de données locataire**

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Dans le coin supérieur droit de la console Amazon RDS, choisissez la Région AWS  où réside votre instance de base de données.

1. Dans le panneau de navigation, choisissez **Databases (Bases de données)**.  
![\[Afficher les détails d'une CDB\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/cdb-list.png)

   Dans l'image précédente, la base de données locataire unique (PDB) apparaît en tant qu'enfant de l'instance de base de données.

1. Choisissez le nom d'une base de données locataire.  
![\[Afficher les détails d'une PDB\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/pdb-details.png)

## AWS CLI
<a name="oracle-cdb-configuring.describing.pdb.cli"></a>

Pour obtenir des informations sur votre PDBs, utilisez la AWS CLI commande [describe-tenant-databases](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-tenant-databases.html).

L'exemple suivant décrit toutes les bases de données locataire de la région spécifiée.

**Example**  
Pour Linux, macOS ou Unix :  

```
1. aws rds describe-tenant-databases --region us-east-1
```
Pour Windows :  

```
1. aws rds describe-tenant-databases --region us-east-1
```
Le résultat produit lors de l’exécution de cette commande est semblable à ce qui suit :   

```
    "TenantDatabases" : [
         {
            "DBInstanceIdentifier" : "my-cdb-inst",
            "TenantDBName" : "pdb-test",
            "Status" : "available",
            "MasterUsername" : "pdb-test-admin",
            "DbiResourceId" : "db-abc123",
            "TenantDatabaseResourceId" : "tdb-bac456",
            "TenantDatabaseArn" : "arn:aws:rds:us-east-1:123456789012:db:my-cdb-inst:pdb-test",
            "CharacterSetName": "AL32UTF8",
            "NcharCharacterSetName": "AL16UTF16",
            "DeletionProtection": false,
            "PendingModifiedValues": {
                 "MasterUserPassword": "****"
            },
            "TagList": []
         },
         {

            "DBInstanceIdentifier" : "my-cdb-inst2",
            "TenantDBName" : "pdb-dev",
            "Status" : "modifying",
            "MasterUsername" : "masterrdsuser"
            "DbiResourceId" : "db-xyz789",
            "TenantDatabaseResourceId" : "tdb-ghp890",
            "TenantDatabaseArn" : "arn:aws:rds:us-east-1:123456789012:db:my-cdb-inst2:pdb-dev",
            "CharacterSetName": "AL32UTF8",
            "NcharCharacterSetName": "AL16UTF16",
            "DeletionProtection": false,
            "PendingModifiedValues": {
                 "MasterUserPassword": "****"
            },
            "TagList": []
         },
         ... other truncated data
```

L'exemple suivant décrit les bases de données locataire sur l'instance de base de données `my-cdb-inst` dans la région spécifiée.

**Example**  
Pour Linux, macOS ou Unix :  

```
1. aws rds describe-tenant-databases --region us-east-1 \
2.     --db-instance-identifier my-cdb-inst
```
Pour Windows :  

```
1. aws rds describe-tenant-databases --region us-east-1 ^
2.     --db-instance-identifier my-cdb-inst
```
Le résultat produit lors de l’exécution de cette commande est semblable à ce qui suit :   

```
{
    "TenantDatabase": {
        "TenantDatabaseCreateTime": "2023-10-19T23:55:30.046Z",
        "DBInstanceIdentifier": "my-cdb-inst",
        "TenantDBName": "pdb-hr",
        "Status": "creating",
        "MasterUsername": "tenant-admin-user",
        "DbiResourceId": "db-abc123",
        "TenantDatabaseResourceId": "tdb-bac567",
        "TenantDatabaseARN": "arn:aws:rds:us-west-2:579508833180:pdb-hr:tdb-abcdefghi1jklmno2p3qrst4uvw5xy6zabc7defghi8jklmn90op",
        "CharacterSetName": "AL32UTF8",
        "NcharCharacterSetName": "AL16UTF16",
        "DeletionProtection": false,
        "PendingModifiedValues": {
            "MasterUserPassword": "****"
        },
        "TagList": [
            {
                "Key": "TEST",
                "Value": "testValue"
            }
        ]
    }
}
```

L'exemple suivant décrit la base de données locataire `pdb1` sur l'instance de base de données `my-cdb-inst` dans la région USA Est (Virginie du Nord).

**Example**  
Pour Linux, macOS ou Unix :  

```
1. aws rds describe-tenant-databases --region us-east-1 \
2. --db-instance-identifier my-cdb-inst \
3. --tenant-db-name pdb1
```
Pour Windows :  

```
1. aws rds describe-tenant-databases --region us-east-1 ^
2. --db-instance-identifier my-cdb-inst ^
3. --tenant-db-name pdb1
```
Le résultat produit lors de l’exécution de cette commande est semblable à ce qui suit :   

```
{
    "TenantDatabases" : [
        {
            "DbiResourceId" : "db-abc123",
            "TenantDatabaseResourceId" : "tdb-bac567",
            "TenantDatabaseArn" : "arn:aws:rds:us-east-1:123456789012:db:my-cdb-inst:pdb1"
            "DBInstanceIdentifier" : "my-cdb-inst",
            "TenantDBName" : "pdb1",
            "Status" : "ACTIVE",
            "MasterUsername" : "masterawsuser"
            "Port" : "1234",
            "CharacterSetName": "UTF-8",
            "ParameterGroups": [
                {
                    "ParameterGroupName": "tenant-custom-pg",
                    "ParameterApplyStatus": "in-sync"
                }
            ],
            {
            "OptionGroupMemberships": [
                {
                    "OptionGroupName": "tenant-custom-og",
                    "Status": "in-sync"
                }
            ]
         }
    ]
}
```

# Mise à niveau de votre CDB
<a name="Oracle.Concepts.single-tenant.upgrades"></a>

Vous pouvez mettre à niveau une instance CDB vers une version différente de Oracle Database. Par exemple, vous pouvez mettre à niveau une CDB Oracle Database 19c en CDB Oracle Database 21c. Vous ne pouvez pas modifier l'architecture de base de données au cours d'une mise à niveau. Ainsi, vous ne pouvez pas mettre à niveau une base de données non-CDB en CDB ni mettre à niveau une CDB en base de données non-CDB.

La procédure de mise à niveau d'une CDB vers une CDB est la même que pour la mise à niveau d'une base de données non-CDB vers une base de données non-CDB. Pour de plus amples informations, consultez [Mise à niveau du moteur de base de données RDS for Oracle](USER_UpgradeDBInstance.Oracle.md).

# Administration de votre instance de base de données RDS for Oracle
<a name="Appendix.Oracle.CommonDBATasks"></a>

Voici les tâches de gestion courantes que vous effectuez avec une instance de base de données RDS for Oracle. Certaines tâches sont les mêmes pour toutes les instances de base de données RDS. D'autres tâches sont spécifiques à RDS for Oracle.

Les tâches suivantes sont communes à toutes les bases de données RDS, mais Oracle Database a des considérations spéciales. Par exemple, vous vous connectez à une base de données Oracle avec les clients Oracle SQL\$1Plus et SQL Developer.


****  

| Type de tâche | Documentation | 
| --- | --- | 
|  **Classes d’instance, stockage et PIOPS** Si vous créez une instance de production, découvrez comment fonctionnent les classes d'instance, les types de stockage et les IOPS provisionnées dans Amazon RDS.   |  [Classes d’instance de base de données RDS for Oracle](Oracle.Concepts.InstanceClasses.md) [Types de stockage Amazon RDS](CHAP_Storage.md#Concepts.Storage)  | 
|  **Déploiements multi-AZ** Une instance de base de données de production doit utiliser des déploiements multi-AZ. Les déploiements Multi-AZ améliorent la disponibilité, la durabilité des donnés et la tolérance aux pannes pour les instances de bases de données.   |  [Configuration et gestion d’un déploiement multi-AZ pour Amazon RDS](Concepts.MultiAZ.md)  | 
|  **Amazon VPC** Si votre AWS compte possède un cloud privé virtuel (VPC) par défaut, votre instance de base de données est automatiquement créée dans le VPC par défaut. Si votre compte n'a pas de VPC par défaut et que vous voulez que l'instance de base de données soit dans un VPC, créez le VPC et les groupes de sous-réseaux avant de créer l'instance.   |  [Utilisation d’une instance de base de données dans un VPC](USER_VPC.WorkingWithRDSInstanceinaVPC.md)  | 
|  **Groupes de sécurité** Par défaut, les instances de base de données utilisent un pare-feu qui empêche l’accès. Veillez à créer un groupe de sécurité avec les adresses IP et la configuration réseau voulues pour accéder à l'instance de base de données.  |  [Contrôle d’accès par groupe de sécurité](Overview.RDSSecurityGroups.md)  | 
|  **Groupes de paramètres** Si votre instance de base de données doit nécessiter des paramètres de base de données spécifiques, créez un groupe de paramètres avant de créer l'instance de base de données.   |  [Groupes de paramètres pour Amazon RDS](USER_WorkingWithParamGroups.md)  | 
|  **Groupes d’options** Si votre instance de base de données nécessite des options spécifiques, créez un groupe d'options avant de créer l'instance de base de données.   |  [Ajout d'options aux instances de base de données Oracle](Appendix.Oracle.Options.md)  | 
|  **Connexion à votre instance de base de données** Après avoir créé un groupe de sécurité et l'avoir associé à une instance de base de données, vous pouvez vous connecter à l'instance de base de données en utilisant une application cliente SQL standard quelconque telle qu'Oracle SQL\$1Plus.   |  [Connexion à votre instance de base de données Oracle](USER_ConnectToOracleInstance.md)  | 
|  **Sauvegarde et restauration** Vous pouvez configurer votre instance de base de données pour que les sauvegardes soient exécutées automatiquement ou que les instantanés soient créés manuellement, puis que les instances soient restaurées à partir des sauvegardes ou des instantanés.   |  [Sauvegarde, restauration et exportation de données](CHAP_CommonTasks.BackupRestore.md)  | 
|  **Surveillance** Vous pouvez surveiller une instance de base de données Oracle à l'aide des métriques, des événements et de la surveillance améliorée d' CloudWatch Amazon RDS.   |  [Affichage des métriques dans la console Amazon RDS](USER_Monitoring.md) [Affichage d’événements Amazon RDS](USER_ListEvents.md)  | 
|  **Les fichiers journaux** Vous pouvez accéder aux fichiers journaux de votre instance de base de données Oracle.   |  [Surveillance des fichiers journaux Amazon RDS](USER_LogAccess.md)  | 

Vous trouverez ci-après une description d'implémentations spécifiques d'Amazon RDS de tâches courantes d'administrateur de base de données pour RDS Oracle. Pour offrir une expérience de service géré, Amazon RDS ne fournit pas l'accès shell aux instances de base de données. RDS restreint également l'accès à certaines procédures système et tables qui requièrent des privilèges avancés. Dans de nombreuses tâches, vous exécutez le package `rdsadmin`, un outil spécifique d'Amazon RDS qui vous permet d'administrer votre base de données.

Les tâches DBA courantes pour les instances de base de données exécutant Oracle sont les suivantes :
+ [Tâches système](Appendix.Oracle.CommonDBATasks.System.md)  
****    
<a name="dba-tasks-oracle-system-reference"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.html)

 
+ [Tâches de base de données](Appendix.Oracle.CommonDBATasks.Database.md)  
****    
<a name="dba-tasks-oracle-database-reference"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.html)

 
+ [Tâches de journal](Appendix.Oracle.CommonDBATasks.Log.md)  
****    
<a name="dba-tasks-oracle-log-reference"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.html)

 
+ [Tâches RMAN](Appendix.Oracle.CommonDBATasks.RMAN.md)  
****    
<a name="dba-tasks-oracle-rman-reference"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.html)

 
+ [Tâches Oracle Scheduler](Appendix.Oracle.CommonDBATasks.Scheduler.md)  
****    
<a name="dba-tasks-oracle-scheduler-reference"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.html)

 
+ [Diagnostic des problèmes](Appendix.Oracle.CommonDBATasks.Diagnostics.md)  
****    
<a name="dba-tasks-oracle-diagnostic-reference"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.html)

 
+ [Autres tâches](Appendix.Oracle.CommonDBATasks.Misc.md)  
****    
<a name="dba-tasks-oracle-misc-reference"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.html)

 

Vous pouvez également utiliser les procédures Amazon RDS for l'intégration de Amazon S3 avec Oracle et pour l'exécution de tâches de base de données OEM Management Agent. Pour plus d’informations, consultez [Intégration Amazon S3](oracle-s3-integration.md) et [Exécution de tâches de base de données avec l'option Management Agent](Oracle.Options.OEMAgent.md#Oracle.Options.OEMAgent.DBTasks).

# Exécution des tâches système courantes pour les instances de bases de données Oracle
<a name="Appendix.Oracle.CommonDBATasks.System"></a>

Vous trouverez ci-dessous des informations sur la façon d'effectuer certaines tâches DBA courantes liées au système sur vos instances de base de données Amazon RDS exécutant Oracle. Pour offrir une expérience de service géré, Amazon RDS ne fournit pas l'accès shell aux instances de base de données et limite l'accès à certaines tables et procédures système qui requièrent des privilèges avancés. 

**Topics**
+ [

# Déconnexion d'une session
](Appendix.Oracle.CommonDBATasks.DisconnectingSession.md)
+ [

# Terminer une session
](Appendix.Oracle.CommonDBATasks.KillingSession.md)
+ [

# Annulation d'une instruction SQL dans une session
](Appendix.Oracle.CommonDBATasks.CancellingSQL.md)
+ [

# Activation et désactivation de sessions restreintes
](Appendix.Oracle.CommonDBATasks.RestrictedSession.md)
+ [

# Vidage du pool partagé
](Appendix.Oracle.CommonDBATasks.FlushingSharedPool.md)
+ [

# Octroi des privilèges SELECT ou EXECUTE aux objets SYS
](Appendix.Oracle.CommonDBATasks.TransferPrivileges.md)
+ [

# Retrait des privilèges SELECT ou EXECUTE sur les objets SYS
](Appendix.Oracle.CommonDBATasks.RevokePrivileges.md)
+ [

# Gestion des vues RDS\$1X\$1 pour les instances de base de données Oracle
](Appendix.Oracle.CommonDBATasks.X-dollar.md)
+ [

# Attribution de privilèges à des utilisateurs non-maîtres
](Appendix.Oracle.CommonDBATasks.PermissionsNonMasters.md)
+ [

# Création de fonctions personnalisées pour vérifier les mots de passe
](Appendix.Oracle.CommonDBATasks.CustomPassword.md)
+ [

## Configuration d'un serveur DNS personnalisé
](#Appendix.Oracle.CommonDBATasks.CustomDNS)
+ [

# Activation et désactivation des événements de diagnostic système
](Appendix.Oracle.CommonDBATasks.SystemEvents.md)

# Déconnexion d'une session
<a name="Appendix.Oracle.CommonDBATasks.DisconnectingSession"></a>

Pour déconnecter la session en cours en mettant fin au processus serveur dédié, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.disconnect`. La procédure `disconnect` possède les paramètres suivants. 


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `sid`  |  nombre  |  —  |  Oui  |  Identifiant de session.  | 
|  `serial`  |  nombre  |  —  |  Oui  |  Numéro de série de la session.  | 
|  `method`  |  varchar  |  'IMMEDIATE'  |  Non  |  Les valeurs valides sont `'IMMEDIATE'` ou `'POST_TRANSACTION'`.  | 

L'exemple suivant déconnecte une session.

```
begin
    rdsadmin.rdsadmin_util.disconnect(
        sid    => sid, 
        serial => serial_number);
end;
/
```

Pour obtenir l'identifiant et le numéro de série de la session, interrogez la vue `V$SESSION`. L'exemple suivant obtient toutes les sessions pour l'utilisateur `AWSUSER`.

```
SELECT SID, SERIAL#, STATUS FROM V$SESSION WHERE USERNAME = 'AWSUSER';
```

La base de données doit être ouverte pour pouvoir utiliser cette méthode. Pour plus d'informations sur la déconnexion d'une session, consultez [ALTER SYSTEM (MODIFIER SYSTÈME)](http://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_2014.htm#SQLRF53166) dans la documentation Oracle. 

# Terminer une session
<a name="Appendix.Oracle.CommonDBATasks.KillingSession"></a>

Pour arrêter une session, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.kill`. La procédure `kill` possède les paramètres suivants.


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `sid`  |  nombre  |  —  |  Oui  |  Identifiant de session.  | 
|  `serial`  |  nombre  |  —  |  Oui  |  Numéro de série de la session.  | 
|  `method`  |  varchar  |  null  |  Non  |  Les valeurs valides sont `'IMMEDIATE'` ou `'PROCESS'`. Si vous spécifiez `IMMEDIATE`, cela a le même effet que d'exécuter l'instruction suivante : <pre>ALTER SYSTEM KILL SESSION 'sid,serial#' IMMEDIATE</pre> Si vous spécifiez `PROCESS`, vous résiliez les processus associés à une séance. Spécifiez `PROCESS` uniquement si la résiliation de la session à l'aide de `IMMEDIATE`n'a pas abouti.  | 

Pour obtenir l'identifiant et le numéro de série de la session, interrogez la vue `V$SESSION`. L'exemple suivant obtient toutes les sessions pour l'utilisateur *AWSUSER*.

```
SELECT SID, SERIAL#, STATUS FROM V$SESSION WHERE USERNAME = 'AWSUSER';
```

L'exemple suivant met fin à une session.

```
BEGIN
    rdsadmin.rdsadmin_util.kill(
        sid    => sid, 
        serial => serial_number,
        method => 'IMMEDIATE');
END;
/
```

L'exemple suivant résilie les processus associés à une séance.

```
BEGIN
    rdsadmin.rdsadmin_util.kill(
        sid    => sid, 
        serial => serial_number,
        method => 'PROCESS');
END;
/
```

# Annulation d'une instruction SQL dans une session
<a name="Appendix.Oracle.CommonDBATasks.CancellingSQL"></a>

Pour annuler une instruction SQL dans une session, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.cancel`.

**Note**  
Cette procédure est prise en charge pour Oracle Database 19c (19.0.0) et toutes les versions majeures et mineures ultérieures de RDS for Oracle.

La procédure `cancel` possède les paramètres suivants. 


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `sid`  |  nombre  |  —  |  Oui  |  Identifiant de session.  | 
|  `serial`  |  nombre  |  —  |  Oui  |  Numéro de série de la session.  | 
|  `sql_id`  |  varchar2  |  null  |  Non  |  Identifiant SQL de l'instruction SQL.   | 

L'exemple suivant annuler une instruction SQL dans une session.

```
begin
    rdsadmin.rdsadmin_util.cancel(
        sid    => sid, 
        serial => serial_number,
        sql_id => sql_id);
end;
/
```

Pour obtenir l'identifiant et le numéro de série de la session ainsi que l'identifiant SQL d'une instruction SQL, interrogez la vue `V$SESSION`. L'exemple suivant obtient toutes les sessions et les identifiants SQL pour l'utilisateur `AWSUSER`.

```
select SID, SERIAL#, SQL_ID, STATUS from V$SESSION where USERNAME = 'AWSUSER';
```

# Activation et désactivation de sessions restreintes
<a name="Appendix.Oracle.CommonDBATasks.RestrictedSession"></a>

Pour activer et désactiver des sessions restreintes, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.restricted_session`. La procédure `restricted_session` possède les paramètres suivants. 


****  

| Nom du paramètre | Type de données | Par défaut | Oui | Description | 
| --- | --- | --- | --- | --- | 
|  `p_enable`  |  booléen  |  true  |  Non  |  Définissez ce paramètre sur `true` pour activer les sessions restreintes ou sur `false` pour les désactiver.   | 

L'exemple suivant montre comment activer et désactiver les sessions restreintes. 

```
/* Verify that the database is currently unrestricted. */

SELECT LOGINS FROM V$INSTANCE;
 
LOGINS
-------
ALLOWED

/* Enable restricted sessions */

EXEC rdsadmin.rdsadmin_util.restricted_session(p_enable => true);
 

/* Verify that the database is now restricted. */

SELECT LOGINS FROM V$INSTANCE;
 
LOGINS
----------
RESTRICTED
 

/* Disable restricted sessions */

EXEC rdsadmin.rdsadmin_util.restricted_session(p_enable => false);
 

/* Verify that the database is now unrestricted again. */

SELECT LOGINS FROM V$INSTANCE;
 
LOGINS
-------
ALLOWED
```

# Vidage du pool partagé
<a name="Appendix.Oracle.CommonDBATasks.FlushingSharedPool"></a>

Pour vider le pool partagé, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.flush_shared_pool`. La procédure `flush_shared_pool` ne comporte aucun paramètre. 

L'exemple suivant vide le pool partagé.

```
EXEC rdsadmin.rdsadmin_util.flush_shared_pool;
```

## Vidage du cache de tampon
<a name="Appendix.Oracle.CommonDBATasks.FlushingBufferCache"></a>

Pour vider le cache de tampon, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.flush_buffer_cache`. La procédure `flush_buffer_cache` ne comporte aucun paramètre. 

L'exemple suivant vide le cache des tampons.

```
EXEC rdsadmin.rdsadmin_util.flush_buffer_cache;
```

## Vider le cache Smart Flash de la base de données
<a name="Appendix.Oracle.CommonDBATasks.flushing-shared-pool"></a>

Pour vider le cache Smart Flash de la base de données, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.flush_flash_cache`. La procédure `flush_flash_cache` ne comporte aucun paramètre. L'exemple suivant vide le cache Smart Flash de la base de données.

```
EXEC rdsadmin.rdsadmin_util.flush_flash_cache;
```

Pour plus d'informations sur l'utilisation du cache Smart Flash de la base de données avec RDS for Oracle, consultez [Stockage de données temporaires dans un stockage d'instances RDS for Oracle](CHAP_Oracle.advanced-features.instance-store.md).

# Octroi des privilèges SELECT ou EXECUTE aux objets SYS
<a name="Appendix.Oracle.CommonDBATasks.TransferPrivileges"></a>

Généralement, vous transférez les privilèges en utilisant des rôles, qui peuvent contenir de nombreux objets. Pour accorder des privilèges à un objet unique, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.grant_sys_object`. La procédure accorde uniquement les privilèges qui ont déjà été accordés à l'utilisateur principal par le biais d'un rôle ou d'une attribution directe. 

La procédure `grant_sys_object` possède les paramètres suivants. 

**Important**  
Pour toutes les valeurs de paramètre, utilisez les majuscules sauf si vous avez créé l'utilisateur avec un identifiant sensible à la casse. Par exemple, si vous exécutez `CREATE USER myuser` ou `CREATE USER MYUSER`, le dictionnaire de données stocke `MYUSER`. Toutefois, si vous utilisez des guillemets doubles dans `CREATE USER "MyUser"`, le dictionnaire de données stocke `MyUser`.


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_obj_name`  |  varchar2  |  —  |  Oui  |  Nom de l'objet pour lequel des privilèges seront accordés. L'objet peut être un répertoire, une fonction, un package, une procédure, une séquence, une table ou une vue. Les noms d'objet doivent être orthographiés correctement lorsqu'ils apparaissent dans `DBA_OBJECTS`. La plupart des objets système sont définis en majuscules, si bien que nous vous recommandons d'essayer cela en premier lieu.   | 
|  `p_grantee`  |  varchar2  |  —  |  Oui  |  Nom de l'objet auquel des privilèges seront accordés. L'objet peut être un schéma ou un rôle.   | 
|  `p_privilege`  |  varchar2  |  null  |  Oui  |  —  | 
|  `p_grant_option`  |  booléen  |  false  |  Non  |  Définissez ce paramètre sur `true` pour l'utiliser avec l'option d'attribution.  | 

L'exemple suivant accorde des privilèges select sur un objet nommé `V_$SESSION` à un utilisateur nommé `USER1`.

```
begin
    rdsadmin.rdsadmin_util.grant_sys_object(
        p_obj_name  => 'V_$SESSION',
        p_grantee   => 'USER1',
        p_privilege => 'SELECT');
end;
/
```

L'exemple suivant accorde des privilèges select sur un objet nommé `V_$SESSION` à un utilisateur nommé `USER1` avec l'option d'attribution.

```
begin
    rdsadmin.rdsadmin_util.grant_sys_object(
        p_obj_name     => 'V_$SESSION',
        p_grantee      => 'USER1',
        p_privilege    => 'SELECT',
        p_grant_option => true);
end;
/
```

Pour pouvoir attribuer des privilèges sur un objet, votre compte doit avoir ces privilèges directement attribués avec l'option appropriée ou via un rôle accordé avec `with admin option`. Le plus souvent, vous voudrez attribuer `SELECT` sur une vue DBA qui a été attribuée au rôle `SELECT_CATALOG_ROLE`. Si ce rôle n'est pas déjà directement attribué à votre utilisateur avec `with admin option`, vous ne pouvez pas transférer le privilège. Si vous disposez du privilège DBA, vous pouvez accorder le rôle directement à un autre utilisateur. 

L'exemple suivant accorde les rôles `SELECT_CATALOG_ROLE` et `EXECUTE_CATALOG_ROLE` à `USER1`. Étant donné que `with admin option` est utilisé, `USER1` peut désormais accorder l'accès aux objets SYS qui ont été attribués à `SELECT_CATALOG_ROLE`. 

```
GRANT SELECT_CATALOG_ROLE TO USER1 WITH ADMIN OPTION; 
GRANT EXECUTE_CATALOG_ROLE to USER1 WITH ADMIN OPTION;
```

Les objets déjà attribués à `PUBLIC` n'ont pas besoin d'être réattribués. Si vous utilisez la procédure `grant_sys_object` pour accorder de nouveau l'accès, l'appel de procédure réussit. 

# Retrait des privilèges SELECT ou EXECUTE sur les objets SYS
<a name="Appendix.Oracle.CommonDBATasks.RevokePrivileges"></a>

Pour retirer des privilèges sur un objet unique, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.revoke_sys_object`. La procédure révoque uniquement les privilèges qui ont déjà été accordés au compte principal par le biais d'un rôle ou d'une attribution directe. 

La procédure `revoke_sys_object` possède les paramètres suivants. 


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_obj_name`  |  varchar2  |  —  |  Oui  |  Nom de l'objet pour lequel des privilèges seront révoqués. L'objet peut être un répertoire, une fonction, un package, une procédure, une séquence, une table ou une vue. Les noms d'objet doivent être orthographiés correctement lorsqu'ils apparaissent dans `DBA_OBJECTS`. La plupart des objets système sont définis en majuscules, c'est pourquoi nous vous recommandons d'essayer cette méthode en premier lieu.   | 
|  `p_revokee`  |  varchar2  |  —  |  Oui  |  Nom de l'objet pour lequel des privilèges seront révoqués. L'objet peut être un schéma ou un rôle.   | 
|  `p_privilege`  |  varchar2  |  null  |  Oui  |  —  | 

L'exemple suivant révoque des privilèges select sur un objet nommé `V_$SESSION` à un utilisateur nommé `USER1`.

```
begin
    rdsadmin.rdsadmin_util.revoke_sys_object(
        p_obj_name  => 'V_$SESSION',
        p_revokee   => 'USER1',
        p_privilege => 'SELECT');
end;
/
```

# Gestion des vues RDS\$1X\$1 pour les instances de base de données Oracle
<a name="Appendix.Oracle.CommonDBATasks.X-dollar"></a>

Vous devrez peut-être accéder à des tables `SYS.X$` fixes, qui ne sont accessibles que par `SYS`. Pour créer des vues `SYS.RDS_X$` sur les tables `X$` éligibles, utilisez les procédures du package `rdsadmin.rdsadmin_util`. Votre utilisateur principal se voit automatiquement octroyer le privilège `SELECT … WITH GRANT OPTION` sur les vues `RDS_X$`. 

Les procédures `rdsadmin.rdsadmin_util` sont disponibles dans les cas suivants :
+ Les instances de base de données existantes qui n’ont jamais été mises à niveau et qui utilisent les versions suivantes :
  + `21.0.0.0.ru-2023-10.rur-2023-10.r1` versions 21c et ultérieures
  + `19.0.0.0.ru-2023-10.rur-2023-10.r1` versions 19c et ultérieures
+ Toute nouvelle instance de base de données que vous créez
+ Toute instance de base de données existante que vous avez mise à niveau

**Important**  
En interne, le package `rdsadmin.rdsadmin_util` crée des vues sur les tables `X$`. Les tables `X$` sont des objets système internes qui ne sont pas décrits dans la documentation Oracle Database. Nous vous recommandons de tester des vues spécifiques dans votre base de données hors production, et de ne créer des vues dans votre base de données de production que sous la direction du support Oracle.

## Liste des tables fixes X\$1 pouvant être utilisées dans les vues RDS\$1X\$1
<a name="Appendix.Oracle.CommonDBATasks.list-allowed-X-dollar"></a>

Pour répertorier les tables X\$1 pouvant être utilisées dans les vues `RDS_X$`, utilisez la procédure RDS `rdsadmin.rdsadmin_util.list_allowed_sys_x$_views`. Cette procédure n'accepte aucun paramètre. Les déclarations suivantes répertorient toutes les tables `X$` éligibles (échantillon de sortie inclus).

```
SQL> SET SERVEROUTPUT ON
SQL> SELECT * FROM TABLE(rdsadmin.rdsadmin_util.list_allowed_sys_x$_views);

'X$BH'
'X$K2GTE'
'X$KCBWBPD'
'X$KCBWDS'
'X$KGLLK'
'X$KGLOB'
'X$KGLPN'
'X$KSLHOT'
'X$KSMSP'
'X$KSPPCV'
'X$KSPPI'
'X$KSPPSV'
'X$KSQEQ'
'X$KSQRS'
'X$KTUXE'
'X$KQRFP'
```

La liste des tables `X$` éligibles peut changer au fil du temps. Pour vous assurer que votre liste de tables fixes `X$` éligibles est à jour, réexécutez `list_allowed_sys_x$_views` régulièrement.

## Création de vues SYS.RDS\$1X\$1
<a name="Appendix.Oracle.CommonDBATasks.create-X-dollar"></a>

Pour créer une vue `RDS_X$` sur une table `X$` éligible, utilisez la procédure RDS `rdsadmin.rdsadmin_util.create_sys_x$_view`. Vous ne pouvez créer des vues que pour les tables répertoriées dans la sortie de `rdsadmin.rdsadmin_util.list_allowed_sys_x$_views`. La procédure `create_sys_x$_view` accepte les paramètres suivants.


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_x$_tbl`  |  varchar2  |  Null  |  Oui  |  Nom d’espace de table `X$` valide. La valeur doit correspondre à l’une des tables `X$` signalées par `list_allowed_sys_x$_views`.  | 
|  `p_force_creation`  |  Booléen  | FALSE |  Non  |  Une valeur indiquant s’il faut forcer la création d’une vue `RDS_X$` qui existe déjà pour une table `X$`. Par défaut, RDS ne crée pas de vue si elle existe déjà. Pour forcer la création, définissez ce paramètre sur`TRUE`.  | 

L’exemple suivant crée une vue `SYS.RDS_X$KGLOB` à partir de la table `X$KGLOB`. Le format du nom de vue est `RDS_X$tablename`.

```
SQL> SET SERVEROUTPUT ON
SQL> EXEC rdsadmin.rdsadmin_util.create_sys_x$_view('X$KGLOB');

PL/SQL procedure successfully completed.
```

La requête de dictionnaire de données suivante répertorie la vue `SYS.RDS_X$KGLOB` et indique son état. Votre utilisateur principal se voit automatiquement octroyer le privilège `SELECT ... WITH GRANT OPTION` sur cette vue.

```
SQL> SET SERVEROUTPUT ON
SQL> COL OWNER FORMAT A30 
SQL> COL OBJECT_NAME FORMAT A30
SQL> COL STATUS FORMAT A30
SQL> SET LINESIZE 200
SQL> SELECT OWNER, OBJECT_NAME, STATUS 
FROM DBA_OBJECTS 
WHERE OWNER = 'SYS' AND OBJECT_NAME = 'RDS_X$KGLOB';

OWNER                          OBJECT_NAME                    STATUS
------------------------------ ------------------------------ ------------------------------
SYS                            RDS_X$KGLOB                    VALID
```

**Important**  
Il n’est pas garanti que les tables `X$` resteront les mêmes avant et après une mise à niveau. RDS for Oracle supprime et recrée les vues `RDS_X$` sur les tables `X$` lors d’une mise à niveau du moteur. Il accorde ensuite le privilège `SELECT ... WITH GRANT OPTION` à l’utilisateur principal. Après une mise à niveau, accordez des privilèges aux utilisateurs de la base de données selon les besoins sur les vues `RDS_X$` correspondantes.

## Création d’une liste de vues SYS.RDS\$1X\$1
<a name="Appendix.Oracle.CommonDBATasks.list-created-X-dollar"></a>

Pour répertorier les vues `RDS_X$` existantes, utilisez la procédure RDS `rdsadmin.rdsadmin_util.list_created_sys_x$_views`. La procédure répertorie uniquement les vues créées par la procédure `create_sys_x$_view`. L’exemple suivant répertorie les tables `X$` associées aux vues `RDS_X$` correspondantes (exemple de sortie inclus).

```
SQL> SET SERVEROUTPUT ON
SQL> COL XD_TBL_NAME FORMAT A30
SQL> COL STATUS FORMAT A30
SQL> SET LINESIZE 200
SQL> SELECT * FROM TABLE(rdsadmin.rdsadmin_util.list_created_sys_x$_views);

XD_TBL_NAME                    STATUS
------------------------------ ------------------------------
X$BH                           VALID
X$K2GTE                        VALID
X$KCBWBPD                      VALID

3 rows selected.
```

## Suppression des vues RDS\$1X\$1
<a name="Appendix.Oracle.CommonDBATasks.drop-X-dollar"></a>

Pour supprimer une vue `SYS.RDS_X$`, utilisez la procédure RDS `rdsadmin.rdsadmin_util.drop_sys_x$_view`. Vous ne pouvez supprimer que les événements répertoriés dans la sortie de `rdsadmin.rdsadmin_util.list_allowed_sys_x$_views`. La procédure `drop_sys_x$_view` accepte les paramètres suivants.


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_x$_tbl`  |  varchar2  |  Null  |  Oui  |  Nom de table fixe `X$` valide. La valeur doit correspondre à l’une des tables fixes `X$` signalées par `list_created_sys_x$_views`.  | 

L’exemple suivant supprime la vue `RDS_X$KGLOB` créée à partir de la table `X$KGLOB`.

```
SQL> SET SERVEROUTPUT ON
SQL> EXEC rdsadmin.rdsadmin_util.drop_sys_x$_view('X$KGLOB');

PL/SQL procedure successfully completed.
```

L’exemple suivant montre que la vue `SYS.RDS_X$KGLOB` a été supprimée (exemple de sortie inclus).

```
SQL> SET SERVEROUTPUT ON
SQL> COL OWNER FORMAT A30 
SQL> COL OBJECT_NAME FORMAT A30
SQL> COL STATUS FORMAT A30
SQL> SET LINESIZE 200
SQL> SELECT OWNER, OBJECT_NAME, STATUS 
FROM DBA_OBJECTS 
WHERE OWNER = 'SYS' AND OBJECT_NAME = 'RDS_X$KGLOB';

no rows selected
```

# Attribution de privilèges à des utilisateurs non-maîtres
<a name="Appendix.Oracle.CommonDBATasks.PermissionsNonMasters"></a>

Vous pouvez accorder des privilèges select pour de nombreux objets dans le schéma `SYS` grâce au rôle `SELECT_CATALOG_ROLE`. Le rôle `SELECT_CATALOG_ROLE` accorde aux utilisateurs des privilèges `SELECT` sur les vues du dictionnaire de données. L'exemple suivant accorde le rôle `SELECT_CATALOG_ROLE` à un utilisateur nommé `user1`. 

```
GRANT SELECT_CATALOG_ROLE TO user1;
```

Vous pouvez accorder des privilèges `EXECUTE` pour de nombreux objets dans le schéma `SYS` grâce au rôle `EXECUTE_CATALOG_ROLE`. Le rôle `EXECUTE_CATALOG_ROLE` accorde aux utilisateurs des privilèges `EXECUTE` pour les packages et les procédures du dictionnaire de données. L'exemple suivant accorde le rôle `EXECUTE_CATALOG_ROLE` à un utilisateur nommé *user1*. 

```
GRANT EXECUTE_CATALOG_ROLE TO user1;
```

L'exemple suivant obtient les autorisations permises par les rôles `SELECT_CATALOG_ROLE` et `EXECUTE_CATALOG_ROLE`. 

```
  SELECT * 
    FROM ROLE_TAB_PRIVS  
   WHERE ROLE IN ('SELECT_CATALOG_ROLE','EXECUTE_CATALOG_ROLE') 
ORDER BY ROLE, TABLE_NAME ASC;
```

L'exemple suivant crée un utilisateur non maître nommé `user1`, accorde le privilège `CREATE SESSION`, puis accorde le privilège `SELECT` sur une base de données nommée *sh.sales*.

```
CREATE USER user1 IDENTIFIED BY PASSWORD;
GRANT CREATE SESSION TO user1;
GRANT SELECT ON sh.sales TO user1;
```

# Création de fonctions personnalisées pour vérifier les mots de passe
<a name="Appendix.Oracle.CommonDBATasks.CustomPassword"></a>

Vous pouvez créer une fonction de vérification de mot de passe personnalisée des manières suivantes :
+ Pour utiliser la logique de vérification standard et stocker votre fonction dans le schéma `SYS`, utilisez la procédure `create_verify_function`. 
+ Pour utiliser la logique de vérification personnalisée, ou pour éviter de stocker votre fonction dans le schéma `SYS`, utilisez la procédure `create_passthrough_verify_fcn`. 

# Procédure create\$1verify\$1function
<a name="Appendix.Oracle.CommonDBATasks.CustomPassword.Standard"></a>

Vous pouvez créer une fonction personnalisée pour vérifier les mots de passe en utilisant la procédure Amazon RDS `rdsadmin.rdsadmin_password_verify.create_verify_function`. La procédure `create_verify_function` est prise en charge pour toutes les versions de RDS for Oracle.

La procédure `create_verify_function` possède les paramètres suivants. 


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_verify_function_name`  |  varchar2  |  —  |  Oui  |  Nom de la fonction personnalisée. Cette fonction est automatiquement créée dans le schéma SYS. Elle est affectée à des profils utilisateur.   | 
|  `p_min_length`  |  nombre  |  8  |  Non  |  Nombre minimal de caractères requis.  | 
|  `p_max_length`  |  nombre  |  256  |  Non  |  Nombre maximal de caractères autorisés.  | 
|  `p_min_letters`  |  nombre  |  1  |  Non  |  Nombre minimal de lettres requises.  | 
|  `p_min_uppercase`  |  nombre  |  0  |  Non  |  Nombre minimal de lettres majuscules requises.  | 
|  `p_min_lowercase`  |  nombre  |  0  |  Non  |  Nombre minimal de lettres minuscules requises.  | 
|  `p_min_digits`  |  nombre  |  1  |  Non  |  Nombre minimal de chiffres requis.  | 
|  `p_min_special`  |  nombre  |  0  |  Non  |  Nombre minimal de caractères spéciaux requis.  | 
|  `p_min_different_chars`  |  nombre  |  3  |  Non  |  Nombre minimal de caractères différents requis entre l'ancien et le nouveau mot de passe.  | 
|  `p_disallow_username`  |  booléen  |  true  |  Non  |  Définissez ce paramètre sur `true` pour interdire le nom d'utilisateur dans le mot de passe.  | 
|  `p_disallow_reverse`  |  booléen  |  true  |  Non  |  Définissez ce paramètre sur `true` pour interdire le nom d'utilisateur inversé dans le mot de passe.  | 
|  `p_disallow_db_name`  |  booléen  |  true  |  Non  |  Définissez ce paramètre sur `true` pour interdire le nom de la base de données ou du serveur dans le mot de passe.  | 
|  `p_disallow_simple_strings`  |  booléen  |  true  |  Non  |  Définissez ce paramètre sur `true` pour interdire l'utilisation de chaînes simples comme mot de passe.  | 
|  `p_disallow_whitespace`  |  booléen  |  false  |  Non  |  Définissez ce paramètre sur `true` pour interdire les espaces dans le mot de passe.  | 
|  `p_disallow_at_sign`  |  booléen  |  false  |  Non  |  Définissez ce paramètre sur `true` pour interdire le caractère @ dans le mot de passe.  | 

Vous pouvez créer plusieurs fonctions de vérification de mot de passe.

Il existe des restrictions sur le nom de votre fonction personnalisée. Votre fonction personnalisée ne peut pas avoir le même nom qu'un objet système existant. Ce nom ne peut pas comporter plus de 30 caractères. De plus, le nom doit inclure l'une des chaînes suivantes : `PASSWORD`, `VERIFY`, `COMPLEXITY`, `ENFORCE` ou `STRENGTH`. 

L'exemple suivant crée une fonction nommée `CUSTOM_PASSWORD_FUNCTION`. La fonction exige qu'un mot de passe comporte au moins 12 caractères, 2 majuscules, 1 chiffre et 1 caractère spécial, et interdit le caractère @. 

```
begin
    rdsadmin.rdsadmin_password_verify.create_verify_function(
        p_verify_function_name => 'CUSTOM_PASSWORD_FUNCTION', 
        p_min_length           => 12, 
        p_min_uppercase        => 2, 
        p_min_digits           => 1, 
        p_min_special          => 1,
        p_disallow_at_sign     => true);
end;
/
```

Pour voir le texte de votre fonction de vérification, interrogez `DBA_SOURCE`. L'exemple suivant récupère le texte d'une fonction de mot de passe personnalisé nommée `CUSTOM_PASSWORD_FUNCTION`. 

```
COL TEXT FORMAT a150

  SELECT TEXT 
    FROM DBA_SOURCE 
   WHERE OWNER = 'SYS' 
     AND NAME = 'CUSTOM_PASSWORD_FUNCTION' 
ORDER BY LINE;
```

Pour associer votre fonction de vérification à un profil utilisateur, utilisez `ALTER PROFILE`. L'exemple suivant associe une PL/SQL fonction de vérification nommée `CUSTOM_PASSWORD_FUNCTION` au profil `DEFAULT` utilisateur. `PASSWORD_VERIFY_FUNCTION`est le nom de la ressource du profil Oracle. 

```
ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION CUSTOM_PASSWORD_FUNCTION;
```

Pour voir quels profils utilisateur sont associés à quelles fonctions de vérification, effectuez une requête`DBA_PROFILES`. L'exemple suivant obtient les profils qui sont associés à la fonction de vérification personnalisée nommée `CUSTOM_PASSWORD_FUNCTION`. 

```
SELECT * FROM DBA_PROFILES WHERE RESOURCE_NAME = 'PASSWORD_VERIFY_FUNCTION' AND LIMIT = 'CUSTOM_PASSWORD_FUNCTION';


PROFILE                    RESOURCE_NAME                     RESOURCE  LIMIT
-------------------------  --------------------------------  --------  ------------------------
DEFAULT                    PASSWORD_VERIFY_FUNCTION          PASSWORD  CUSTOM_PASSWORD_FUNCTION
```

L'exemple suivant récupère tous les profils et les fonctions de vérification de mot de passe associées. 

```
SELECT * FROM DBA_PROFILES WHERE RESOURCE_NAME = 'PASSWORD_VERIFY_FUNCTION';

PROFILE                    RESOURCE_NAME                     RESOURCE  LIMIT
-------------------------  --------------------------------  --------  ------------------------
DEFAULT                    PASSWORD_VERIFY_FUNCTION          PASSWORD  CUSTOM_PASSWORD_FUNCTION
RDSADMIN                   PASSWORD_VERIFY_FUNCTION          PASSWORD  NULL
```

# Procédure create\$1passthrough\$1verify\$1fcn
<a name="Appendix.Oracle.CommonDBATasks.CustomPassword.Custom"></a>

La procédure `create_passthrough_verify_fcn` est prise en charge pour toutes les versions de RDS for Oracle.

Vous pouvez créer une fonction personnalisée pour vérifier les mots de passe en utilisant la procédure Amazon RDS `rdsadmin.rdsadmin_password_verify.create_passthrough_verify_fcn`. La procédure `create_passthrough_verify_fcn` possède les paramètres suivants. 


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_verify_function_name`  |  varchar2  |  —  |  Oui  |  Nom de la fonction de vérification personnalisée. Il s'agit d'une fonction de wrapper qui est automatiquement créée dans le schéma SYS et qui ne contient pas de logique de vérification. Elle est affectée à des profils utilisateur.   | 
|  `p_target_owner`  |  varchar2  |  —  |  Oui  |  Propriétaire de schéma de la fonction de vérification personnalisée.  | 
|  `p_target_function_name`  |  varchar2  |  —  |  Oui  |  Nom de la fonction personnalisée existante qui contient la logique de vérification. Votre fonction personnalisée doit renvoyer une valeur booléenne. La fonction doit renvoyer la valeur `true` si le mot de passe est valide, ou `false` s'il ne l'est pas.   | 

L'exemple suivant crée une fonction de vérification de mot de passe qui utilise la logique provenant de la fonction nommée `PASSWORD_LOGIC_EXTRA_STRONG`. 

```
begin
    rdsadmin.rdsadmin_password_verify.create_passthrough_verify_fcn(
        p_verify_function_name => 'CUSTOM_PASSWORD_FUNCTION', 
        p_target_owner         => 'TEST_USER',
        p_target_function_name => 'PASSWORD_LOGIC_EXTRA_STRONG');
end;
/
```

Pour associer la fonction de vérification à un profil utilisateur, utilisez `alter profile`. L'exemple suivant associe la fonction de vérification au profil utilisateur `DEFAULT`. 

```
ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION CUSTOM_PASSWORD_FUNCTION;
```

## Configuration d'un serveur DNS personnalisé
<a name="Appendix.Oracle.CommonDBATasks.CustomDNS"></a>

Amazon RDS prend en charge l'accès réseau sortant sur vos instances de bases de données exécutant Oracle. Pour plus d'informations sur l'utilisation de l'accès réseau sortant et les prérequis, consultez [Configuration de l'accès UTL\$1HTTP à l'aide de certificats et d'un portefeuille Oracle](Oracle.Concepts.ONA.md). 

Amazon RDS Oracle permet la résolution DNS (Domain Name Service) à partir d'un serveur DNS personnalisé appartenant au client. Vous pouvez résoudre uniquement les deux noms de domaine complets à partir de votre instance de base de données Amazon RDS via votre serveur DNS personnalisé. 

Une fois que votre serveur de nom DNS personnalisé est configuré, la propagation des modifications dans votre instance de base de données peut prendre jusqu'à 30 minutes. Une fois que les modifications sont propagées dans votre instance de base de données, l'ensemble du trafic réseau sortant nécessitant une recherche DNS interroge votre serveur DNS via le port 53. 

Pour configurer un serveur DNS personnalisé pour votre instance de base de données Amazon RDS for Oracle, procédez comme suit : 
+ À partir du jeu d'options DHCP liées à votre VPC (cloud privé virtuel), définissez l'option `domain-name-servers` sur l'adresse IP de votre serveur de noms DNS. Pour plus d’informations, consultez [Jeux d’options DHCP](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html). 
**Note**  
L'option `domain-name-servers` autorise jusqu'à quatre valeurs, mais votre instance de base de données Amazon RDS utilise uniquement la première valeur. 
+ Assurez-vous que votre serveur DNS peut résoudre toutes les requêtes de recherche, notamment les noms DNS publics, les noms DNS privés Amazon EC2 et les noms DNS spécifiés par le client. Si le trafic réseau sortant contient une recherche DNS que votre serveur DNS ne peut pas gérer, votre serveur DNS doit avoir des fournisseurs DNS en amont appropriés, configurés. 
+ Configurez votre serveur DNS pour produire des réponses UDP (User Datagram Protocol) de 512 octets ou moins. 
+ Configurez votre serveur DNS pour produire des réponses TCP (Transmission Control Protocol) de 1024 octets ou moins. 
+ Configurez votre serveur DNS pour permettre le trafic entrant à partir de vos instances de bases de données Amazon RDS sur le port 53. Si votre serveur DNS est dans un Amazon VPC, le VPC doit avoir un groupe de sécurité qui contient des règles entrantes permettant le trafic UDP et TCP sur le port 53. Si votre serveur DNS n'est pas dans un Amazon VPC, il doit avoir une liste blanche des pare-feux appropriés pour permettre le trafic UDP et TCP sur le port 53.

  Pour plus d'informations, veuillez consulter [Groupes de sécurité pour votre VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) et [Ajout et suppression de règles](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#AddRemoveRules). 
+ Configurez le VPC de votre instance de base de données Amazon RDS for permettre le trafic sortant via le port 53. Votre serveur VPC doit avoir un groupe de sécurité qui contient des règles sortantes permettant le trafic UDP et TCP sur le port 53. 

  Pour plus d'informations, veuillez consulter [Groupes de sécurité pour votre VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) et [Ajout et suppression de règles](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#AddRemoveRules). 
+ Le chemin d'acheminement entre l'instance de base de données Amazon RDS et le serveur DNS doit être configuré correctement pour permettre un trafic DNS. 
  + Si l'instance de base de données Amazon RDS et le serveur DNS ne sont pas dans le même VPC, une connexion d'appairage doit être configurée entre les deux. Pour plus d’informations, consultez [Qu’est-ce que l’appairage de VPC ?](https://docs.aws.amazon.com/vpc/latest/peering/Welcome.html) 

# Activation et désactivation des événements de diagnostic système
<a name="Appendix.Oracle.CommonDBATasks.SystemEvents"></a>

Pour activer et désactiver les événements de diagnostic au niveau session, vous pouvez utiliser l'instruction Oracle SQL `ALTER SESSION SET EVENTS`. En revanche, pour activer les événements au niveau système, vous ne pouvez pas utiliser Oracle SQL. Pour cela, utilisez les procédures d'événements système du package `rdsadmin.rdsadmin_util`. Les procédures d'événements système sont disponibles dans les versions suivantes du moteur :
+ Toutes les versions de Oracle Database 21c
+ 19.0.0.0.ru-2020-10.rur-2020-10.r1 et versions ultérieures de Oracle Database 19c

  Pour plus d’informations, consultez [Version 19.0.0.0.ru-2020-10.rur-2020-10.r1](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/oracle-version-19-0.html#oracle-version-RU-RUR.19.0.0.0.ru-2020-10.rur-2020-10.r1) dans *Notes de mise à jour d’Amazon RDS for Oracle*.

**Important**  
En interne, le package `rdsadmin.rdsadmin_util` active les événements à l'aide de l'instruction `ALTER SYSTEM SET EVENTS`. Cette instruction `ALTER SYSTEM` ne figure pas dans la documentation Oracle Database. Certains événements de diagnostic système peuvent générer de grandes quantités d'informations de suivi, provoquer des conflits ou affecter la disponibilité de la base de données. Nous vous recommandons de tester des événements de diagnostic spécifiques dans votre base de données hors production, et de n'activer des événements dans votre base de données de production que sous la direction du support Oracle.

## Liste des événements de diagnostic système autorisés
<a name="Appendix.Oracle.CommonDBATasks.SystemEvents.listing"></a>

Pour dresser la liste des événements système que vous pouvez activer, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.list_allowed_system_events`. Cette procédure n'accepte aucun paramètre.

L'exemple suivant répertorie tous les événements système que vous pouvez activer.

```
SET SERVEROUTPUT ON
EXEC rdsadmin.rdsadmin_util.list_allowed_system_events;
```

L'exemple de sortie suivant répertorie les numéros des événements et leur description. Utilisez les procédures Amazon RDS `set_system_event` pour activer ces événements et `unset_system_event` pour les désactiver.

```
604   - error occurred at recursive SQL level
942   - table or view does not exist
1401  - inserted value too large for column
1403  - no data found
1410  - invalid ROWID
1422  - exact fetch returns more than requested number of rows
1426  - numeric overflow
1427  - single-row subquery returns more than one row
1476  - divisor is equal to zero
1483  - invalid length for DATE or NUMBER bind variable
1489  - result of string concatenation is too long
1652  - unable to extend temp segment by  in tablespace
1858  - a non-numeric character was found where a numeric was expected
4031  - unable to allocate  bytes of shared memory ("","","","")
6502  - PL/SQL: numeric or value error
10027 - Specify Deadlock Trace Information to be Dumped
10046 - enable SQL statement timing
10053 - CBO Enable optimizer trace
10173 - Dynamic Sampling time-out error
10442 - enable trace of kst for ORA-01555 diagnostics
12008 - error in materialized view refresh path
12012 - error on auto execute of job
12504 - TNS:listener was not given the SERVICE_NAME in CONNECT_DATA
14400 - inserted partition key does not map to any partition
31693 - Table data object  failed to load/unload and is being skipped due to error:
```

**Note**  
La liste des événements système autorisés peut changer au fil du temps. Pour vous assurer que vous disposez de la liste la plus récente des événements éligibles, utilisez `rdsadmin.rdsadmin_util.list_allowed_system_events`.

## Activation des événements de diagnostic système
<a name="Appendix.Oracle.CommonDBATasks.SystemEvents.setting"></a>

Pour activer un événement système, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.set_system_event`. Vous ne pouvez activer que les événements répertoriés dans la sortie de `rdsadmin.rdsadmin_util.list_allowed_system_events`. La procédure `set_system_event` accepte les paramètres suivants.


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_event`  |  nombre  |  —  |  Oui  |  Numéro de l'événement système. La valeur doit correspondre à l'un des numéros d'événement signalés par `list_allowed_system_events`.  | 
|  `p_level`  |  nombre  |  —  |  Oui  |  Niveau de l'événement. Pour obtenir les descriptions des différentes valeurs de niveau, consultez la documentation Oracle Database ou contactez le support Oracle.  | 

La procédure `set_system_event` permet de créer et d'exécuter les instructions `ALTER SYSTEM SET EVENTS` requises selon les principes suivants :
+ Le type d'événement (`context` ou `errorstack`) est déterminé automatiquement.
+ Une instruction du formulaire `ALTER SYSTEM SET EVENTS 'event LEVEL event_level'` active les événements de contexte. Cette notation équivaut à `ALTER SYSTEM SET EVENTS 'event TRACE NAME CONTEXT FOREVER, LEVEL event_level'`.
+ Une instruction du formulaire `ALTER SYSTEM SET EVENTS 'event ERRORSTACK (event_level)'` active les événements de pile d'erreurs. Cette notation équivaut à `ALTER SYSTEM SET EVENTS 'event TRACE NAME ERRORSTACK LEVEL event_level'`.

L'exemple suivant active l'événement 942 au niveau 3, et l'événement 10442 au niveau 10. Un exemple de sortie est inclus.

```
SQL> SET SERVEROUTPUT ON
SQL> EXEC rdsadmin.rdsadmin_util.set_system_event(942,3);
Setting system event 942 with: alter system set events '942 errorstack (3)'

PL/SQL procedure successfully completed.

SQL> EXEC rdsadmin.rdsadmin_util.set_system_event(10442,10);
Setting system event 10442 with: alter system set events '10442 level 10'

PL/SQL procedure successfully completed.
```

## Liste des événements de diagnostic système activés
<a name="Appendix.Oracle.CommonDBATasks.SystemEvents.listing-set"></a>

Pour dresser la liste des événements système activés, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.list_set_system_events`. Cette procédure signale uniquement les événements activés au niveau système par `set_system_event`.

L'exemple suivant répertorie les événements système actifs.

```
SET SERVEROUTPUT ON
EXEC rdsadmin.rdsadmin_util.list_set_system_events;
```

L'exemple de sortie suivant contient la liste des événements, le type d'événement, le niveau auquel les événements sont activés et l'heure à laquelle ils ont été activés.

```
942 errorstack (3) - set at 2020-11-03 11:42:27
10442 level 10 - set at 2020-11-03 11:42:41

PL/SQL procedure successfully completed.
```

## Désactivation des événements de diagnostic système
<a name="Appendix.Oracle.CommonDBATasks.SystemEvents.unsetting"></a>

Pour désactiver un événement système, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.unset_system_event`. Vous ne pouvez désactiver que les événements répertoriés dans la sortie de `rdsadmin.rdsadmin_util.list_allowed_system_events`. La procédure `unset_system_event` accepte les paramètres suivants.


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_event`  |  nombre  |  —  |  Oui  |  Numéro de l'événement système. La valeur doit correspondre à l'un des numéros d'événement signalés par `list_allowed_system_events`.  | 

L'exemple suivant désactive les événements 942 et 10442. Un exemple de sortie est inclus.

```
SQL> SET SERVEROUTPUT ON
SQL> EXEC rdsadmin.rdsadmin_util.unset_system_event(942);
Unsetting system event 942 with: alter system set events '942 off'

PL/SQL procedure successfully completed.

SQL> EXEC rdsadmin.rdsadmin_util.unset_system_event(10442);
Unsetting system event 10442 with: alter system set events '10442 off'

PL/SQL procedure successfully completed.
```

# Exécution des tâches de base de données courantes pour les instances de base de données Oracle
<a name="Appendix.Oracle.CommonDBATasks.Database"></a>

Vous trouverez ci-dessous des informations sur la façon d'effectuer certaines tâches DBA courantes liées aux bases de données sur vos instances de base de données Amazon RDS exécutant Oracle. Pour offrir une expérience de service géré, Amazon RDS ne fournit pas l'accès shell aux instances de base de données. Amazon RDS restreint également l'accès à certaines procédures système et tables qui requièrent des privilèges avancés. 

**Topics**
+ [

# Modification du nom global d'une base de données
](Appendix.Oracle.CommonDBATasks.RenamingGlobalName.md)
+ [

# Utilisation des tablespaces dans RDS pour Oracle
](Appendix.Oracle.CommonDBATasks.TablespacesAndDatafiles.md)
+ [

# Utilisation de fichiers temporaires dans RDS pour Oracle
](Appendix.Oracle.CommonDBATasks.using-tempfiles.md)
+ [

# Redimensionnement des espaces disque logiques, des fichiers de données et des fichiers temporaires dans RDS pour Oracle
](Appendix.Oracle.CommonDBATasks.ResizeTempSpaceReadReplica.md)
+ [

# Déplacement de données entre volumes de stockage dans RDS pour Oracle
](Appendix.Oracle.CommonDBATasks.MovingDataBetweenVolumes.md)
+ [

# Utilisation de tables externes dans RDS pour Oracle
](Appendix.Oracle.CommonDBATasks.External_Tables.md)

# Modification du nom global d'une base de données
<a name="Appendix.Oracle.CommonDBATasks.RenamingGlobalName"></a>

Pour modifier le nom global d'une base de données, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.rename_global_name`. La procédure `rename_global_name` possède les paramètres suivants. 


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_new_global_name`  |  varchar2  |  —  |  Oui  |  Nouveau nom global de la base de données.  | 

La base de données doit être ouverte pour que la modification du nom puisse se produire. Pour plus d'informations sur la modification du nom global d'une base de données, consultez [ALTER DATABASE](http://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_1004.htm#SQLRF52547) dans la documentation Oracle. 

L'exemple suivant remplace le nom global de la base de données par `new_global_name`.

```
EXEC rdsadmin.rdsadmin_util.rename_global_name(p_new_global_name => 'new_global_name');
```

# 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).

# Utilisation de fichiers temporaires dans RDS pour Oracle
<a name="Appendix.Oracle.CommonDBATasks.using-tempfiles"></a>

## Ajout d'un fichier temporaire au stockage d'instances sur un réplica en lecture
<a name="Appendix.Oracle.CommonDBATasks.adding-tempfile-replica"></a>

Lorsque vous créez un espace de table temporaire sur une instance de base de données principale, le réplica en lecture ne crée pas de fichiers temporaires. Supposons qu'un espace de table temporaire vide existe sur votre réplica en lecture pour l'une des raisons suivantes :
+ Vous avez déposé un fichier temporaire de l'espace de table sur votre réplica en lecture. Pour de plus amples informations, veuillez consulter [Dépôt de fichiers temporaires sur un réplica en lecture](Appendix.Oracle.CommonDBATasks.dropping-tempfiles-replica.md).
+ Vous avez créé un nouvel espace de table temporaire sur l'instance de base de données principale. Dans ce cas, RDS for Oracle synchronise les métadonnées avec le réplica en lecture.

Vous pouvez ajouter un fichier temporaire à l'espace de table temporaire vide et stocker le fichier temporaire dans le stockage d'instances. Pour créer un fichier temporaire dans le stockage d'instances, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.add_inst_store_tempfile`. Vous pouvez utiliser cette procédure uniquement sur un réplica en lecture. La procédure 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 sur votre réplica en lecture.  | 

Dans l'exemple suivant, le tablespace temporaire vide *temp01* existe sur votre réplique de lecture. Exécutez la commande suivante pour créer un fichier temporaire pour cet espace de table et le stocker dans le stockage d'instances.

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

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).

# Dépôt de fichiers temporaires sur un réplica en lecture
<a name="Appendix.Oracle.CommonDBATasks.dropping-tempfiles-replica"></a>

Vous ne pouvez pas créer un espace de table temporaire existant sur un réplica en lecture. Vous pouvez modifier le stockage du fichier temporaire sur un réplica en lecture depuis Amazon EBS vers le stockage d'instances, ou depuis le stockage d'instances vers Amazon EBS. Pour atteindre ces objectifs, procédez comme suit :

1. Déposez les fichiers temporaires actuels dans l'espace de table temporaire du réplica en lecture.

1. Créez de nouveaux fichiers temporaires sur différents stockages.

Pour supprimer les fichiers temporaires, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util. drop_replica_tempfiles`. Vous pouvez utiliser cette procédure uniquement sur des réplicas en lecture. La procédure `drop_replica_tempfiles` 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 sur votre réplica en lecture.  | 

Supposons qu'un tablespace temporaire nommé *temp01* réside dans le magasin d'instances de votre réplique de lecture. Déposez tous les fichiers temporaires dans cet espace de table en exécutant la commande suivante.

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

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).

# Redimensionnement des espaces disque logiques, des fichiers de données et des fichiers temporaires dans RDS pour Oracle
<a name="Appendix.Oracle.CommonDBATasks.ResizeTempSpaceReadReplica"></a>

Par défaut, les espaces de table Oracle sont créés avec l'option « auto extend » activée et sans aucune restriction de taille maximum. À cause de ces paramètres par défaut, les espaces de table peuvent parfois trop se développer. 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.

## Redimensionnement des espaces de table permanents
<a name="resizing-perm-tbs"></a>

Pour redimensionner un espace de table permanent dans une instance de base de données RDS for Oracle, utilisez l'une des procédures Amazon RDS suivantes :
+ `rdsadmin.rdsadmin_util.resize_datafile`
+ `rdsadmin.rdsadmin_util.autoextend_datafile`

La procédure `resize_datafile` possède les paramètres suivants.


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_data_file_id`  |  nombre  |  —  |  Oui  |  L'identifiant du fichier de données à redimensionner.  | 
|  `p_size`  |  varchar2  |  —  |  Oui  |  La taille du fichier de données. Spécifiez la taille en octets (par défaut), kilooctets (Ko), mégaoctets (Mo) ou gigaoctets (Go).   | 

La procédure `autoextend_datafile` possède les paramètres suivants.


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_data_file_id`  |  nombre  |  —  |  Oui  |  L'identifiant du fichier de données à redimensionner.  | 
|  `p_autoextend_state`  |  varchar2  |  —  |  Oui  |  L'état de la fonction d'auto-extension. Spécifiez `ON` pour étendre automatiquement le fichier de données et `OFF` pour désactiver l'extension automatique.   | 
|  `p_next`  |  varchar2  |  —  |  Non  |  La taille de la prochaine incrémentation du fichier de données. Spécifiez la taille en octets (par défaut), kilooctets (Ko), mégaoctets (Mo) ou gigaoctets (Go).  | 
|  `p_maxsize`  |  varchar2  |  —  |  Non  |  L'espace disque maximal autorisé pour l'extension automatique. Spécifiez la taille en octets (par défaut), kilooctets (Ko), mégaoctets (Mo) ou gigaoctets (Go). Vous pouvez spécifier `UNLIMITED` pour supprimer la limite de taille de fichier.  | 

L'exemple suivant redimensionne le fichier de données 4 à 500 Mo.

```
EXEC rdsadmin.rdsadmin_util.resize_datafile(4,'500M');
```

L'exemple suivant désactive l'option d'auto-extension pour le fichier de données 4. Il active également l'extension automatique pour le fichier de données 5, avec une incrémentation de 128 Mo et aucune taille maximum.

```
EXEC rdsadmin.rdsadmin_util.autoextend_datafile(4,'OFF');
EXEC rdsadmin.rdsadmin_util.autoextend_datafile(5,'ON','128M','UNLIMITED');
```

## Redimensionnement des espaces de table temporaires
<a name="resizing-temp-tbs"></a>

Pour redimensionner un espace de table permanent dans une instance de base de données RDS for Oracle, incluant un réplica en lecture, utilisez l'une des procédures Amazon RDS suivantes :
+ `rdsadmin.rdsadmin_util.resize_temp_tablespace`
+ `rdsadmin.rdsadmin_util.resize_tempfile`
+ `rdsadmin.rdsadmin_util.autoextend_tempfile`

La procédure `resize_temp_tablespace` possède les paramètres suivants.


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_temp_tablespace_name`  |  varchar2  |  —  |  Oui  |  Nom de l'espace de table temporaire à redimensionner.  | 
|  `p_size`  |  varchar2  |  —  |  Oui  |  La taille de l'espace de table. Spécifiez la taille en octets (par défaut), kilooctets (Ko), mégaoctets (Mo) ou gigaoctets (Go).   | 

La procédure `resize_tempfile` possède les paramètres suivants.


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_temp_file_id`  |  nombre  |  —  |  Oui  |  L'identifiant du fichier temporaire à redimensionner.  | 
|  `p_size`  |  varchar2  |  —  |  Oui  |  La taille du fichier temporaire. Spécifiez la taille en octets (par défaut), kilooctets (Ko), mégaoctets (Mo) ou gigaoctets (Go).   | 

La procédure `autoextend_tempfile` possède les paramètres suivants.


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_temp_file_id`  |  nombre  |  —  |  Oui  |  L'identifiant du fichier temporaire à redimensionner.  | 
|  `p_autoextend_state`  |  varchar2  |  —  |  Oui  |  L'état de la fonction d'auto-extension. Spécifiez `ON` pour étendre automatiquement le fichier temporaire et `OFF` pour désactiver l'extension automatique.   | 
|  `p_next`  |  varchar2  |  —  |  Non  |  La taille de la prochaine incrémentation du fichier temporaire. Spécifiez la taille en octets (par défaut), kilooctets (Ko), mégaoctets (Mo) ou gigaoctets (Go).  | 
|  `p_maxsize`  |  varchar2  |  —  |  Non  |  L'espace disque maximal autorisé pour l'extension automatique. Spécifiez la taille en octets (par défaut), kilooctets (Ko), mégaoctets (Mo) ou gigaoctets (Go). Vous pouvez spécifier `UNLIMITED` pour supprimer la limite de taille de fichier.  | 

Les exemples suivants redimensionnent un espace de table temporaire nommé `TEMP` pour qu'il fasse 4 Go.

```
EXEC rdsadmin.rdsadmin_util.resize_temp_tablespace('TEMP','4G');
```

```
EXEC rdsadmin.rdsadmin_util.resize_temp_tablespace('TEMP','4096000000');
```

L'exemple suivant redimensionne un espace de table temporaire basé sur le fichier temporaire avec l'identifiant de fichier `1` pour qu'il fasse 2 Mo.

```
EXEC rdsadmin.rdsadmin_util.resize_tempfile(1,'2M');
```

L'exemple suivant désactive l'option d'auto-extension pour le fichier temporaire 1. Il définit également la taille maximale d'extension automatique du fichier temporaire 2 à 10 Go, avec une incrémentation de 100 Mo.

```
EXEC rdsadmin.rdsadmin_util.autoextend_tempfile(1,'OFF');
EXEC rdsadmin.rdsadmin_util.autoextend_tempfile(2,'ON','100M','10G');
```

Pour plus d'informations sur les réplicas en lecture pour les instances de base de données Oracle, consultez [Utilisation de réplicas en lecture pour Amazon RDS for Oracle](oracle-read-replicas.md).

# Déplacement de données entre volumes de stockage dans RDS pour Oracle
<a name="Appendix.Oracle.CommonDBATasks.MovingDataBetweenVolumes"></a>

Vous pouvez déplacer des fichiers de données et des objets de base de données entre vos volumes de stockage principaux et supplémentaires. Avant de déplacer des données, tenez compte des points suivants :
+ Les volumes source et cible doivent disposer d'un espace libre suffisant.
+ Les opérations de déplacement de données consomment I/O sur les deux volumes.
+ Les mouvements de données importants peuvent avoir un impact sur les performances des bases de données.
+ Si vous restaurez un instantané, le déplacement des données entre les volumes de stockage peut être lent s'il est affecté par le chargement différé d'EBS.

**Topics**
+ [

## Déplacement de fichiers de données entre volumes dans RDS pour Oracle
](#Appendix.Oracle.CommonDBATasks.MovingDatafiles)
+ [

## Déplacement des données de table et des index entre les volumes dans RDS pour Oracle
](#Appendix.Oracle.CommonDBATasks.MovingTableData)
+ [

## Gestion du stockage LOB à l'aide de volumes supplémentaires
](#Appendix.Oracle.CommonDBATasks.ManagingLargeLOBStorage)

## Déplacement de fichiers de données entre volumes dans RDS pour Oracle
<a name="Appendix.Oracle.CommonDBATasks.MovingDatafiles"></a>

Pour déplacer des fichiers de données entre des volumes de stockage, utilisez la procédure `rdsadmin.rdsadmin_util.move_datafile` Amazon RDS. Notez les critères suivants :
+ Vous devez utiliser Oracle Enterprise Edition pour exécuter la `move_datafile` procédure.
+ Vous ne pouvez pas déplacer le tablespace `SYSTEM` et. `RDSADMIN`

La procédure `move_datafile` possède les paramètres suivants.


****  

| Nom du paramètre | Type de données | Obligatoire | Description | 
| --- | --- | --- | --- | 
|  `p_data_file_id`  |  nombre  |  Oui  |  ID du fichier de données à déplacer.  | 
|  `p_location`  |  varchar2  |  Oui  |  Volume de stockage vers lequel vous souhaitez déplacer le fichier de données.  | 

L'exemple suivant déplace un tablespace du volume par défaut `rdsdbdata` vers le volume supplémentaire. `rdsdbdata2`

```
SQL> SELECT tablespace_name,file_id,file_name FROM dba_data_files
 WHERE tablespace_name = 'MYNEWTABLESPACE';

TABLESPACE_NAME              FILE_ID FILE_NAME
------------------------- ---------- --------------------------------------------------------------------------------
MYNEWTABLESPACE                    6 /rdsdbdata/db/ORCL_A/datafile/o1_mf_mynewtab_n123abcd_.dbf

EXECUTE rdsadmin.rdsadmin_util.move_datafile( 6, 'rdsdbdata2');

PL/SQL procedure successfully completed.

SQL> SELECT tablespace_name,file_id,file_name FROM dba_data_files
  WHERE tablespace_name = 'MYNEWTABLESPACE';

TABLESPACE_NAME              FILE_ID FILE_NAME
------------------------- ---------- --------------------------------------------------------------------------------
MYNEWTABLESPACE                    6 /rdsdbdata2/db/ORCL_A/datafile/o1_mf_mynewtab_n356efgh_.dbf
```

## Déplacement des données de table et des index entre les volumes dans RDS pour Oracle
<a name="Appendix.Oracle.CommonDBATasks.MovingTableData"></a>

Vous pouvez optimiser le stockage des bases de données en créant des tablespaces sur des volumes de stockage supplémentaires. Vous pouvez ensuite déplacer des objets tels que des tables, des index et des partitions vers ces tablespaces à l'aide d'Oracle SQL standard. Cette approche est utile pour optimiser les performances lorsque votre base de données contient des données présentant des modèles d'accès différents. Par exemple, vous pouvez stocker les données opérationnelles fréquemment consultées sur des volumes de stockage à hautes performances tout en transférant les données historiques rarement consultées vers des volumes de stockage moins coûteux.

Dans l'exemple suivant, vous créez un nouveau tablespace sur un volume à hautes performances. `rdsdbdata2` Vous déplacez ensuite une table vers votre volume de stockage supplémentaire pendant que la table est en ligne. Vous déplacez également l'index vers le même volume. Le déplacement de tables et la reconstruction d'index en ligne nécessitent Oracle Enterprise Edition.

```
ALTER SESSION SET db_create_file_dest = '/rdsdbdata2/db';
CREATE TABLESPACE perf_tbs DATAFILE SIZE 10G;

ALTER TABLE employees
  MOVE TABLESPACE perf_tbs ONLINE;

ALTER INDEX employees_idx
  REBUILD ONLINE TABLESPACE perf_tbs;
```

Dans l'exemple suivant, vous créez un tablespace sur un volume à faible coût. Vous déplacez ensuite une partition de table vers votre volume de stockage à faible coût à l'aide d'une opération en ligne.

```
ALTER SESSION SET db_create_file_dest = '/rdsdbdata3/db';
CREATE TABLESPACE hist_tbs DATAFILE SIZE 10G;

ALTER TABLE orders
  MOVE PARTITION orders_2022
  TABLESPACE hist_tbs ONLINE;
```

Dans l'exemple suivant, vous interrogez les opérations longues des sessions actives.

```
SELECT sid,opname,sofar,totalwork,time_remaining,elapsed_seconds 
  FROM v$session_longops 
  WHERE time_remaining > 0;
```

Vous pouvez vérifier l'utilisation de vos tablespaces à l'aide de la requête suivante.

```
SELECT tablespace_name, used_percent
  FROM dba_tablespace_usage_metrics
  ORDER BY used_percent DESC;
```

## Gestion du stockage LOB à l'aide de volumes supplémentaires
<a name="Appendix.Oracle.CommonDBATasks.ManagingLargeLOBStorage"></a>

Votre base de données peut contenir des tables contenant des objets BLOB ou CLOB qui consomment beaucoup d'espace de stockage mais sont rarement consultés. Pour optimiser le stockage, vous pouvez déplacer ces segments LOB vers un tablespace sur un volume de stockage supplémentaire.

Dans l'exemple suivant, vous créez un tablespace pour les données LOB sur un volume à faible coût destiné aux données à accès restreint. Vous créez ensuite une table qui stocke les données sur ce volume.

```
ALTER SESSION SET db_create_file_dest = '/rdsdbdata3/db';
CREATE TABLESPACE lob_data DATAFILE SIZE 5G AUTOEXTEND ON NEXT 1G;

CREATE TABLE documents (
    doc_id NUMBER PRIMARY KEY,
    doc_date DATE,
    doc_content CLOB
) TABLESPACE user_data
LOB(doc_content) STORE AS (TABLESPACE lob_data);
```

# Utilisation de tables externes dans RDS pour Oracle
<a name="Appendix.Oracle.CommonDBATasks.External_Tables"></a>

Les *tables externes Oracle *sont des tables contenant des données ne figurant pas dans la base de données. À la place, les données se trouvent dans des fichiers externes auxquels la base de données peut accéder. L'utilisation de tables externes vous permet d'accéder aux données sans les charger dans la base de données. Pour de plus amples informations sur les tables externes, veuillez consulter [Managing External Tables](http://docs.oracle.com/database/121/ADMIN/tables.htm#ADMIN01507) dans la documentation Oracle. 

Avec Amazon RDS, vous pouvez stocker des fichiers de table externe dans des objets de répertoire. Vous pouvez créer un objet de répertoire ou vous pouvez en utiliser un qui est prédéfini dans la base de données Oracle, comme le répertoire DATA\$1PUMP\$1DIR. Pour plus d'informations sur la création d'objets de répertoire, consultez [Création et suppression de répertoires dans l'espace de stockage de données principal](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.NewDirectories). Vous pouvez interroger la vue ALL\$1DIRECTORIES pour répertorier tous les objets de répertoire de votre instance de base de données Amazon RDS Oracle.

**Note**  
Les objets de répertoire pointent vers le même espace de stockage de données (volume Amazon EBS) utilisé par votre instance. L'espace utilisé—ainsi que les fichiers de données, journaux redo, d'audit, de suivi et autres—sont déduits du stockage alloué.

Vous pouvez déplacer un fichier de données externes d'une base de données Oracle à une autre à l'aide du package [ DBMS\$1FILE\$1TRANSFER](https://docs.oracle.com/database/121/ARPLS/d_ftran.htm#ARPLS095) ou du package [UTL\$1FILE](https://docs.oracle.com/database/121/ARPLS/u_file.htm#ARPLS069). Le fichier de données externes est déplacé d'un répertoire de la base de données source vers le répertoire spécifié sur la base de données de destination. Pour obtenir des informations sur l'utilisation d'`DBMS_FILE_TRANSFER`, veuillez consulter [Importation à l'aide d'Oracle Data Pump](Oracle.Procedural.Importing.DataPump.md).

Après avoir déplacé le fichier de données externe, celui-ci peut vous permettre de créer une table externe. L'exemple suivant crée une table externe qui utilise le `emp_xt_file1.txt` fichier du DIR1 répertoire USER\$1.

```
CREATE TABLE emp_xt (
  emp_id      NUMBER,
  first_name  VARCHAR2(50),
  last_name   VARCHAR2(50),
  user_name   VARCHAR2(20)
)
ORGANIZATION EXTERNAL (
  TYPE ORACLE_LOADER
  DEFAULT DIRECTORY USER_DIR1
  ACCESS PARAMETERS (
    RECORDS DELIMITED BY NEWLINE
    FIELDS TERMINATED BY ','
    MISSING FIELD VALUES ARE NULL
    (emp_id,first_name,last_name,user_name)
  )
  LOCATION ('emp_xt_file1.txt')
)
PARALLEL
REJECT LIMIT UNLIMITED;
```

Supposons que vous souhaitiez déplacer des données se trouvant dans une instance de base de données Amazon RDS Oracle vers un fichier de données externe. Dans ce as, vous pouvez remplir le fichier de données externe en créant une table externe et en sélectionnant les données de la table de la base de données. Par exemple, l'instruction SQL suivante crée la table externe `orders_xt` en interrogeant la table `orders` de la base de données.

```
CREATE TABLE orders_xt
  ORGANIZATION EXTERNAL
   (
     TYPE ORACLE_DATAPUMP
     DEFAULT DIRECTORY DATA_PUMP_DIR
     LOCATION ('orders_xt.dmp')
   )
   AS SELECT * FROM orders;
```

Dans cet exemple, les données sont renseignées dans le fichier `orders_xt.dmp` du répertoire DATA\$1PUMP\$1DIR.

# Création d'un point de contrôle de base de données
<a name="Appendix.Oracle.CommonDBATasks.CheckpointingDatabase"></a>

Pour créer un point de contrôle sur la base de données, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.checkpoint`. La procédure `checkpoint` ne comporte aucun paramètre. 

L'exemple suivant crée un point de contrôle sur la base de données.

```
EXEC rdsadmin.rdsadmin_util.checkpoint;
```

# Définition d'une récupération distribuée
<a name="Appendix.Oracle.CommonDBATasks.SettingDistributedRecovery"></a>

Pour définir une récupération distribuée, utilisez les procédures Amazon RDS `rdsadmin.rdsadmin_util.enable_distr_recovery` et `disable_distr_recovery`. Ces procédures ne comportent aucun paramètre. 

L'exemple suivant active la récupération distribuée.

```
EXEC rdsadmin.rdsadmin_util.enable_distr_recovery;
```

L'exemple suivant désactive la récupération distribuée.

```
EXEC rdsadmin.rdsadmin_util.disable_distr_recovery;
```

# Définition du fuseau horaire de la base de données
<a name="Appendix.Oracle.CommonDBATasks.TimeZoneSupport"></a>

Vous pouvez définir le fuseau horaire de votre base de données Oracle Amazon RDS des manières suivantes : 
+ L'option `Timezone`

  L'option `Timezone` modifie le fuseau horaire au niveau de l'hôte et impacte toutes les valeurs et colonnes date, telles que `SYSDATE`. Pour plus d'informations, consultez [Fuseau horaire Oracle](Appendix.Oracle.Options.Timezone.md). 
+ La procédure Amazon RDS `rdsadmin.rdsadmin_util.alter_db_time_zone`

  La procédure `alter_db_time_zone` modifie le fuseau horaire uniquement pour certains types de données, et ne change pas `SYSDATE`. Il existe des restrictions supplémentaires sur la définition du fuseau horaire, répertoriées dans la [documentation Oracle](http://docs.oracle.com/cd/B19306_01/server.102/b14225/ch4datetime.htm#i1006705). 

**Note**  
Vous pouvez également définir le fuseau horaire par défaut pour Oracle Scheduler. Pour plus d'informations, consultez [Définition du fuseau horaire pour les tâches d'Oracle Scheduler](Appendix.Oracle.CommonDBATasks.Scheduler.md#Appendix.Oracle.CommonDBATasks.Scheduler.TimeZone).

La procédure `alter_db_time_zone` possède les paramètres suivants. 


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_new_tz`  |  varchar2  |  —  |  Oui  |  Nouveau fuseau horaire correspondant à une région nommée ou à un décalage absolu par rapport à l'heure UTC (Coordinated Universal Time). Les décalages valides s'étendent de -12h00 à \$114h00.   | 

L'exemple suivant remplace le fuseau horaire par l'heure UTC plus trois heures. 

```
EXEC rdsadmin.rdsadmin_util.alter_db_time_zone(p_new_tz => '+3:00');
```

L'exemple suivant remplace le fuseau horaire par le Africa/Algiers fuseau horaire. 

```
EXEC rdsadmin.rdsadmin_util.alter_db_time_zone(p_new_tz => 'Africa/Algiers');
```

Après avoir modifié le fuseau horaire grâce à la procédure `alter_db_time_zone`, redémarrez l'instance de base de données pour que la modification prenne effet. Pour plus d'informations, consultez [Redémarrage d'une instance de base de données cluster de base de données](USER_RebootInstance.md). Pour de plus amples informations sur la mise à niveau des fuseaux horaires, veuillez consulter [Considérations relatives au fuseau horaire](USER_UpgradeDBInstance.Oracle.OGPG.md#USER_UpgradeDBInstance.Oracle.OGPG.DST)

# Génération de rapports de performance avec AWR (Automatic Workload Repository)
<a name="Appendix.Oracle.CommonDBATasks.AWR"></a>

Pour collecter des données de performance et générer des rapports, Oracle recommande AWR (Automatic Workload Repository). AWR nécessite Oracle Database Enterprise Edition et une licence pour les packs Diagnostics et Tuning. Pour activer AWR, définissez le paramètre d'initialisation `CONTROL_MANAGEMENT_PACK_ACCESS` sur `DIAGNOSTIC` ou `DIAGNOSTIC+TUNING`. 

## Utilisation des rapports AWR dans RDS
<a name="Appendix.Oracle.CommonDBATasks.AWRTechniques"></a>

Pour générer des rapports AWR, vous pouvez exécuter des scripts tels que `awrrpt.sql`. Ces scripts sont installés sur le serveur hôte de base de données. Dans Amazon RDS, vous n'avez pas d'accès direct à l'hôte. Toutefois, vous pouvez obtenir des copies de scripts SQL à partir d'une autre installation d'Oracle Database. 

Vous pouvez également utiliser AWR en exécutant des procédures dans le `SYS.DBMS_WORKLOAD_REPOSITORY` PL/SQL package. Vous pouvez utiliser ce package pour gérer les références et les instantanés, mais aussi pour afficher les rapports ASH et AWR. Par exemple, pour générer un rapport AWR au format texte, exécutez la procédure `DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_TEXT`. Toutefois, vous ne pouvez pas accéder à ces rapports AWR à partir de la AWS Management Console. 

Lorsque vous travaillez avec AWR, nous vous recommandons d'utiliser les procédures `rdsadmin.rdsadmin_diagnostic_util`. Vous pouvez utiliser ces procédures pour générer les éléments suivants :
+ Rapports AWR
+ Rapports ASH (Active Session History)
+ Rapports ADDM (Automatic Database Diagnostic Monitor)
+ Fichiers de vidage Oracle Data Pump Export des données AWR

Les procédures `rdsadmin_diagnostic_util` enregistrent les rapports dans le système de fichiers de l'instance de base de données. Vous pouvez accéder à ces rapports à partir de la console. Vous pouvez également accéder aux rapports à l'aide des procédures `rdsadmin.rds_file_util`. Vous pouvez accéder aux rapports copiés dans Amazon S3 à l'aide de l'option S3 Integration. Pour plus d’informations, consultez [Lecture de fichiers dans un répertoire d'instance de base de données](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ReadingFiles) et [Intégration Amazon S3](oracle-s3-integration.md). 

Vous pouvez utiliser les procédures `rdsadmin_diagnostic_util` pour les versions suivantes du moteur de base de données Amazon RDS for Oracle :
+ Toutes les versions de Oracle Database 21c
+ 19.0.0.0.ru-2020-04.rur-2020-04.r1 et versions ultérieures de Oracle Database 19c

Pour consulter un blog expliquant comment utiliser les rapports de diagnostic dans un scénario de réplication, consultez [Générer des rapports AWR pour les réplicas en lecture Amazon RDS for Oracle](https://aws.amazon.com/blogs/database/generate-awr-reports-for-amazon-rds-for-oracle-read-replicas/) (langue française non garantie).

## Paramètres communs pour le package d'utilitaires de diagnostic
<a name="Appendix.Oracle.CommonDBATasks.CommonAWRParam"></a>

Vous utilisez généralement les paramètres suivants lors de la gestion d'AWR et d'ADDM avec le package `rdsadmin_diagnostic_util`.

<a name="rds-provisioned-iops-storage-range-reference"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.AWR.html)

Vous utilisez généralement les paramètres suivants lors de la gestion d'ASH avec le package rdsadmin\$1diagnostic\$1util.

<a name="rds-provisioned-iops-storage-range-reference"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.AWR.html)

## Génération d'un rapport AWR
<a name="Appendix.Oracle.CommonDBATasks.GenAWRReport"></a>

Pour générer un rapport AWR, utilisez la procédure `rdsadmin.rdsadmin_diagnostic_util.awr_report`.

L'exemple suivant génère un rapport AWR pour la plage d'instantanés comprise entre 101 et 106. Le fichier texte en sortie est nommé `awrrpt_101_106.txt`. Vous pouvez accéder à ce rapport à partir d AWS Management Console. 

```
EXEC rdsadmin.rdsadmin_diagnostic_util.awr_report(101,106,'TEXT');
```

L'exemple suivant génère un rapport HTML pour la plage d'instantanés comprise entre 63 et 65. Le fichier HTML en sortie est nommé `awrrpt_63_65.html`. La procédure écrit le rapport dans un répertoire de base de données autre que le répertoire par défaut et nommé `AWR_RPT_DUMP`.

```
EXEC rdsadmin.rdsadmin_diagnostic_util.awr_report(63,65,'HTML','AWR_RPT_DUMP');
```

## Extraction de données AWR dans un fichier de vidage
<a name="Appendix.Oracle.CommonDBATasks.ExtractAWR"></a>

Pour extraire des données AWR dans un fichier de vidage, utilisez la procédure `rdsadmin.rdsadmin_diagnostic_util.awr_extract`. Vous ne pouvez utiliser cette fonction qu'au niveau du PDB.

L'exemple suivant extrait la plage d'instantanés comprise entre 101 et 106. Le fichier de vidage en sortie est nommé `awrextract_101_106.dmp`. Vous pouvez accéder à ce fichier via la console.

```
EXEC rdsadmin.rdsadmin_diagnostic_util.awr_extract(101,106);
```

L'exemple suivant extrait la plage d'instantanés comprise entre 63 et 65. Le fichier de vidage en sortie est nommé `awrextract_63_65.dmp`. Le fichier est stocké dans un répertoire de base de données autre que le répertoire par défaut et nommé `AWR_RPT_DUMP`.

```
EXEC rdsadmin.rdsadmin_diagnostic_util.awr_extract(63,65,'AWR_RPT_DUMP');
```

## Génération d'un rapport ADDM
<a name="Appendix.Oracle.CommonDBATasks.ADDM"></a>

Pour générer un rapport ADDM, utilisez la procédure `rdsadmin.rdsadmin_diagnostic_util.addm_report`. 

L'exemple suivant génère un rapport HTML pour la plage d'instantanés comprise entre 101 et 106. Le fichier texte en sortie est nommé `addmrpt_101_106.txt`. Vous pouvez accéder au rapport via la console.

```
EXEC rdsadmin.rdsadmin_diagnostic_util.addm_report(101,106);
```

L'exemple suivant génère un rapport ADDM pour la plage d'instantanés comprise entre 63 et 65. Le fichier texte en sortie est nommé `addmrpt_63_65.txt`. Le fichier est stocké dans un répertoire de base de données autre que le répertoire par défaut et nommé `ADDM_RPT_DUMP`.

```
EXEC rdsadmin.rdsadmin_diagnostic_util.addm_report(63,65,'ADDM_RPT_DUMP');
```

## Génération d'un rapport ASH
<a name="Appendix.Oracle.CommonDBATasks.ASH"></a>

Pour générer un rapport ASH, utilisez la procédure `rdsadmin.rdsadmin_diagnostic_util.ash_report`. 

L'exemple suivant génère un rapport ASH qui inclut les données des 14 dernières minutes. Le nom du fichier en sortie utilise le format `ashrptbegin_timeend_time.txt`, où `begin_time` et `end_time` utilisent le format `YYYYMMDDHH24MISS`. Vous pouvez accéder au fichier via la console.

```
BEGIN
    rdsadmin.rdsadmin_diagnostic_util.ash_report(
        begin_time     =>     SYSDATE-14/1440,
        end_time       =>     SYSDATE,
        report_type    =>     'TEXT');
END;
/
```

L'exemple suivant génère un rapport ASH qui inclut les données depuis le 18 novembre 2019 à 18h07 jusqu'au 18 novembre 2019 à 18h15. Le nom du rapport HTML en sortie est `ashrpt_20190918180700_20190918181500.html`. Le rapport est stocké dans un répertoire de base de données autre que le répertoire par défaut et nommé `AWR_RPT_DUMP`.

```
BEGIN
    rdsadmin.rdsadmin_diagnostic_util.ash_report(
        begin_time     =>    TO_DATE('2019-09-18 18:07:00', 'YYYY-MM-DD HH24:MI:SS'),
        end_time       =>    TO_DATE('2019-09-18 18:15:00', 'YYYY-MM-DD HH24:MI:SS'),
        report_type    =>    'html',
        dump_directory =>    'AWR_RPT_DUMP');
END;
/
```

## Accès aux rapports AWR à partir de la console ou de la CLI
<a name="Appendix.Oracle.CommonDBATasks.AWRConsole"></a>

Pour accéder aux rapports AWR ou exporter des fichiers de vidage, vous pouvez utiliser le AWS Management Console ou AWS CLI. Pour de plus amples informations, veuillez consulter [Téléchargement d'un fichier journal de base de données](USER_LogAccess.Procedural.Downloading.md). 

# Réglage des liens de base de données pour une utilisation avec les instances de base de données dans un VPC
<a name="Appendix.Oracle.CommonDBATasks.DBLinks"></a>

Pour utiliser les liens de base de données Oracle avec des instances de base de données Amazon RDS au sein du même cloud privé virtuel (VPC) ou en mode VPCs pair, les deux instances de base de données doivent disposer d'un itinéraire valide entre elles. Vérifiez l'itinéraire valide entre les instances de bases de données à l'aide de vos tables de routage VPC et la liste de contrôle d'accès (ACL) réseau. 

Le groupe de sécurité de chaque instance de base de données doit autoriser le trafic entrant dans l'autre instance de base de données et le trafic sortant de cette instance. Les règles entrantes et sortantes peuvent faire référence à des groupes de sécurité à partir du même VPC ou d'un VPC appairé. Pour de plus amples informations, veuillez consulter [Mise à jour de vos groupes de sécurité pour référencer des groupes de sécurité du VPC appairé](https://docs.aws.amazon.com/vpc/latest/peering/working-with-vpc-peering.html#vpc-peering-security-groups). 

Si vous avez configuré un serveur DNS personnalisé grâce aux jeux d'options DHCP de votre VPC, votre serveur DNS personnalisé doit pouvoir résoudre le nom de la cible du lien de la base de données. Pour plus d'informations, consultez [Configuration d'un serveur DNS personnalisé](Appendix.Oracle.CommonDBATasks.System.md#Appendix.Oracle.CommonDBATasks.CustomDNS). 

Pour plus d'informations sur l'utilisation des liens de base de données avec Oracle Data Pump, consultez [Importation à l'aide d'Oracle Data Pump](Oracle.Procedural.Importing.DataPump.md). 

# Définition de l'édition par défaut d'une instance de base de données
<a name="Appendix.Oracle.CommonDBATasks.DefaultEdition"></a>

Vous pouvez redéfinir les objets de base de données dans un environnement privé appelé une édition. Vous pouvez utiliser la redéfinition basée sur l'édition pour mettre à niveau les objets de base de données d'une application avec un temps d'arrêt minimal. 

Vous pouvez définir l'édition par défaut d'une instance de bases de données Amazon RDS Oracle à l'aide de la procédure Amazon RDS `rdsadmin.rdsadmin_util.alter_default_edition`. 

L'exemple suivant définit l'édition par défaut de l'instance de bases de données Amazon RDS Oracle sur `RELEASE_V1`. 

```
EXEC rdsadmin.rdsadmin_util.alter_default_edition('RELEASE_V1');
```

L'exemple suivant redéfinit l'édition par défaut de l'instance de base de données Amazon RDS Oracle sur la valeur par défaut d'Oracle. 

```
EXEC rdsadmin.rdsadmin_util.alter_default_edition('ORA$BASE');
```

Pour de plus amples informations concernant la redéfinition basée sur l'édition d'Oracle, veuillez consulter [About Editions and Edition-Based Redefinition](https://docs.oracle.com/database/121/ADMIN/general.htm#ADMIN13167) dans la documentation Oracle.

# Activation de l'audit pour la table SYS.AUD\$1
<a name="Appendix.Oracle.CommonDBATasks.EnablingAuditing"></a>

Pour activer l'audit sur la table de suivi d'audit de base de données `SYS.AUD$`, utilisez la procédure Amazon RDS`rdsadmin.rdsadmin_master_util.audit_all_sys_aud_table`. La seule propriété d'audit prise en charge est `ALL`. Vous ne pouvez pas auditer ou ne pas auditer des instructions ou des opérations individuelles.

L'activation de l'audit est prise en charge pour les instances de base de données Oracle qui exécutent les versions suivantes :
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c (19.0.0)

La procédure `audit_all_sys_aud_table` possède les paramètres suivants.


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_by_access`  |  booléen  |  true  |  Non  |  Définissez ce paramètre sur `true` pour auditer `BY ACCESS`. Définissez ce paramètre sur `false` pour auditer `BY SESSION`.  | 

La requête suivante retourne la configuration d'audit actuelle de `SYS.AUD$` pour une base de données.

```
SELECT * FROM DBA_OBJ_AUDIT_OPTS WHERE OWNER='SYS' AND OBJECT_NAME='AUD$';
```

Les commandes suivantes activent l'audit de `ALL` sur `SYS.AUD$` `BY ACCESS`.

```
EXEC rdsadmin.rdsadmin_master_util.audit_all_sys_aud_table;

EXEC rdsadmin.rdsadmin_master_util.audit_all_sys_aud_table(p_by_access => true);
```

La commande suivante active l'audit de `ALL` sur `SYS.AUD$` `BY SESSION`.

```
EXEC rdsadmin.rdsadmin_master_util.audit_all_sys_aud_table(p_by_access => false);
```

Pour de plus amples informations, veuillez consulter [AUDIT (Traditional Auditing)](https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sqlrf/AUDIT-Traditional-Auditing.html#GUID-ADF45B07-547A-4096-8144-50241FA2D8DD) dans la documentation Oracle. 

# Désactivation de l'audit pour la table SYS.AUD\$1
<a name="Appendix.Oracle.CommonDBATasks.DisablingAuditing"></a>

Pour désactiver l'audit sur la table de suivi d'audit de base de données `SYS.AUD$`, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_master_util.noaudit_all_sys_aud_table`. Cette procédure ne prend aucun paramètre. 

La requête suivante retourne la configuration d'audit actuelle pour `SYS.AUD$`, pour une base de données :

```
SELECT * FROM DBA_OBJ_AUDIT_OPTS WHERE OWNER='SYS' AND OBJECT_NAME='AUD$';
```

La commande suivante désactive l'audit de `ALL` sur `SYS.AUD$`.

```
EXEC rdsadmin.rdsadmin_master_util.noaudit_all_sys_aud_table;
```

Pour de plus amples informations, veuillez consulter [NOAUDIT (Traditional Auditing)](https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sqlrf/NOAUDIT-Traditional-Auditing.html#GUID-9D8EAF18-4AB3-4C04-8BF7-37BD0E15434D) dans la documentation Oracle. 

# Nettoyage de builds d'index en ligne interrompues
<a name="Appendix.Oracle.CommonDBATasks.CleanupIndex"></a>

Pour nettoyer des builds d'index en ligne qui ont échoué, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_dbms_repair.online_index_clean`. 

La procédure `online_index_clean` possède les paramètres suivants.


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `object_id`  |  binary\$1integer  |  `ALL_INDEX_ID`  |  Non  |  ID d'objet de l'index. En général, vous pouvez utiliser l'ID d'objet du texte d'erreur ORA-08104.  | 
|  `wait_for_lock`  |  binary\$1integer  |  `rdsadmin.rdsadmin_dbms_repair.lock_wait`  |  Non  |  Spécifiez `rdsadmin.rdsadmin_dbms_repair.lock_wait`, la valeur par défaut pour tenter de verrouiller l'objet sous-jacent et réessayer jusqu'à ce qu'une limite interne soit atteinte si le verrouillage échoue. Spécifiez `rdsadmin.rdsadmin_dbms_repair.lock_nowait` pour essayer d'obtenir un verrouillage sur l'objet sous-jacent, sans réessayer si le verouillage échoue.  | 

L'exemple suivant nettoie une build d'index en ligne ayant échoué.

```
declare
  is_clean boolean;
begin
  is_clean := rdsadmin.rdsadmin_dbms_repair.online_index_clean(
    object_id     => 1234567890, 
    wait_for_lock => rdsadmin.rdsadmin_dbms_repair.lock_nowait
  );
end;
/
```

Pour de plus amples informations, veuillez consulter [ONLINE\$1INDEX\$1CLEAN Function](https://docs.oracle.com/database/121/ARPLS/d_repair.htm#ARPLS67555) dans la documentation d'Oracle. 

# Ignorer les blocs corrompus
<a name="Appendix.Oracle.CommonDBATasks.SkippingCorruptBlocks"></a>

Pour ignorer les blocs corrompus pendant les analyses d'index et de table, utilisez le package `rdsadmin.rdsadmin_dbms_repair`.

Les procédures suivantes encapsulent la fonctionnalité de la procédure `sys.dbms_repair.admin_table` et ne prennent aucun paramètre :
+ `rdsadmin.rdsadmin_dbms_repair.create_repair_table`
+ `rdsadmin.rdsadmin_dbms_repair.create_orphan_keys_table`
+ `rdsadmin.rdsadmin_dbms_repair.drop_repair_table`
+ `rdsadmin.rdsadmin_dbms_repair.drop_orphan_keys_table`
+ `rdsadmin.rdsadmin_dbms_repair.purge_repair_table`
+ `rdsadmin.rdsadmin_dbms_repair.purge_orphan_keys_table`

Les procédures suivantes prennent les mêmes paramètres que leurs homologues du package `DBMS_REPAIR` pour les bases de données Oracle :
+ `rdsadmin.rdsadmin_dbms_repair.check_object`
+ `rdsadmin.rdsadmin_dbms_repair.dump_orphan_keys`
+ `rdsadmin.rdsadmin_dbms_repair.fix_corrupt_blocks`
+ `rdsadmin.rdsadmin_dbms_repair.rebuild_freelists`
+ `rdsadmin.rdsadmin_dbms_repair.segment_fix_status`
+ `rdsadmin.rdsadmin_dbms_repair.skip_corrupt_blocks`

Pour de plus amples informations sur la gestion de la corruption de base de données, veuillez consulter [DBMS\$1REPAIR](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_REPAIR.html#GUID-B8EC4AB3-4D6A-46C9-857F-4ED53CD9C948) dans la documentation Oracle.

**Example Réponse aux blocs corrompus**  
Cet exemple présente le flux de travail de base pour répondre aux blocs corrompus. Vos étapes dépendront de l'emplacement et de la nature de votre corruption de bloc.  
Avant de tenter de réparer les blocs corrompus, consultez attentivement la documentation [DBMS\$1REPAIR](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_REPAIR.html#GUID-B8EC4AB3-4D6A-46C9-857F-4ED53CD9C948).

**Pour ignorer les blocs corrompus pendant les analyses d'index et de table**

1. Exécutez les procédures suivantes pour créer des tables de réparation si elles n'existent pas déjà.

   ```
   EXEC rdsadmin.rdsadmin_dbms_repair.create_repair_table;
   EXEC rdsadmin.rdsadmin_dbms_repair.create_orphan_keys_table;
   ```

1. Exécutez les procédures suivantes pour vérifier s'il existe des enregistrements et les purger si nécessaire.

   ```
   SELECT COUNT(*) FROM SYS.REPAIR_TABLE;
   SELECT COUNT(*) FROM SYS.ORPHAN_KEY_TABLE;
   SELECT COUNT(*) FROM SYS.DBA_REPAIR_TABLE;
   SELECT COUNT(*) FROM SYS.DBA_ORPHAN_KEY_TABLE;
   
   EXEC rdsadmin.rdsadmin_dbms_repair.purge_repair_table;
   EXEC rdsadmin.rdsadmin_dbms_repair.purge_orphan_keys_table;
   ```

1. Exécutez la procédure suivante pour rechercher les blocs corrompus.

   ```
   SET SERVEROUTPUT ON
   DECLARE v_num_corrupt INT;
   BEGIN
     v_num_corrupt := 0;
     rdsadmin.rdsadmin_dbms_repair.check_object (
       schema_name => '&corruptionOwner',
       object_name => '&corruptionTable',
       corrupt_count =>  v_num_corrupt
     );
     dbms_output.put_line('number corrupt: '||to_char(v_num_corrupt));
   END;
   /
   
   COL CORRUPT_DESCRIPTION FORMAT a30
   COL REPAIR_DESCRIPTION FORMAT a30
   
   SELECT OBJECT_NAME, BLOCK_ID, CORRUPT_TYPE, MARKED_CORRUPT, 
          CORRUPT_DESCRIPTION, REPAIR_DESCRIPTION 
   FROM   SYS.REPAIR_TABLE;
   
   SELECT SKIP_CORRUPT 
   FROM   DBA_TABLES 
   WHERE  OWNER = '&corruptionOwner'
   AND    TABLE_NAME = '&corruptionTable';
   ```

1. Utilisez la procédure `skip_corrupt_blocks` pour activer ou désactiver l'ignorance de corruption pour les tables affectées. Selon la situation, vous devrez peut-être également extraire des données dans une nouvelle table, puis supprimer la table contenant le bloc corrompu.

   Exécutez la procédure suivante pour permettre d'ignorer la corruption pour les tables affectées.

   ```
   begin
     rdsadmin.rdsadmin_dbms_repair.skip_corrupt_blocks (
       schema_name => '&corruptionOwner',
       object_name => '&corruptionTable',
       object_type => rdsadmin.rdsadmin_dbms_repair.table_object,
       flags => rdsadmin.rdsadmin_dbms_repair.skip_flag);
   end;
   /
   select skip_corrupt from dba_tables where owner = '&corruptionOwner' and table_name = '&corruptionTable';
   ```

   Exécutez la procédure suivante pour ne pas ignorer la corruption.

   ```
   begin
     rdsadmin.rdsadmin_dbms_repair.skip_corrupt_blocks (
       schema_name => '&corruptionOwner',
       object_name => '&corruptionTable',
       object_type => rdsadmin.rdsadmin_dbms_repair.table_object,
       flags => rdsadmin.rdsadmin_dbms_repair.noskip_flag);
   end;
   /
   
   select skip_corrupt from dba_tables where owner = '&corruptionOwner' and table_name = '&corruptionTable';
   ```

1. Une fois tous les travaux de réparation terminés, exécutez les procédures suivantes pour supprimer les tables de réparation.

   ```
   EXEC rdsadmin.rdsadmin_dbms_repair.drop_repair_table;
   EXEC rdsadmin.rdsadmin_dbms_repair.drop_orphan_keys_table;
   ```

## Purge de la corbeille
<a name="Appendix.Oracle.CommonDBATasks.PurgeRecycleBin"></a>

Lorsque vous supprimez une table, votre base de données Oracle ne supprime pas immédiatement son espace de stockage. La base de données renomme la table et la place, ainsi que les objets associés, dans une corbeille. La purge de la corbeille supprime ces éléments et libère leur espace de stockage. 

Pour purger l'intégralité de la corbeille, suivez la procédure Amazon RDS `rdsadmin.rdsadmin_util.purge_dba_recyclebin`. Toutefois, cette procédure ne peut pas purger la corbeille des objets `SYS` et `RDSADMIN`. Si vous devez purger ces objets, contactez AWS Support. 

L'exemple suivant purge l'ensemble de la corbeille.

```
EXEC rdsadmin.rdsadmin_util.purge_dba_recyclebin;
```

# Définition des valeurs affichées par défaut pour une édition complète
<a name="Appendix.Oracle.CommonDBATasks.FullRedaction"></a>

Pour modifier les valeurs affichées par défaut pour une édition complète sur votre instance Amazon RDS for Oracle, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.dbms_redact_upd_full_rdct_val`. Notez que vous créez une politique de rédaction avec le `DBMS_REDACT` PL/SQL package, comme expliqué dans la documentation de la base de données Oracle. La procédure `dbms_redact_upd_full_rdct_val` spécifie les caractères à afficher pour les différents types de données affectés par une politique existante.

La procédure `dbms_redact_upd_full_rdct_val` possède les paramètres suivants.


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_number_val`  |  nombre  |  Null  |  Non  |  Modifie la valeur par défaut des colonnes de type de données `NUMBER`.  | 
|  `p_binfloat_val`  |  binary\$1float  |  Null  |  Non  |  Modifie la valeur par défaut des colonnes de type de données `BINARY_FLOAT`.  | 
|  `p_bindouble_val`  |  binary\$1double  |  Null  |  Non  |  Modifie la valeur par défaut des colonnes de type de données `BINARY_DOUBLE`.  | 
|  `p_char_val`  |  char  |  Null  |  Non  |  Modifie la valeur par défaut des colonnes de type de données `CHAR`.  | 
|  `p_varchar_val`  |   varchar2  |  Null  |  Non  |  Modifie la valeur par défaut des colonnes de type de données `VARCHAR2`.  | 
|  `p_nchar_val`  |  nchar  |  Null  |  Non  |  Modifie la valeur par défaut des colonnes de type de données `NCHAR`.  | 
|  `p_nvarchar_val`  |  nvarchar2  |  Null  |  Non  |  Modifie la valeur par défaut des colonnes de type de données `NVARCHAR2`.  | 
|  `p_date_val`  |  date  |  Null  |  Non  |  Modifie la valeur par défaut des colonnes de type de données `DATE`.  | 
|  `p_ts_val`  |  timestamp  |  Null  |  Non  |  Modifie la valeur par défaut des colonnes de type de données `TIMESTAMP`.  | 
|  `p_tswtz_val`  |  timestamp with time zone  |  Null  |  Non  |  Modifie la valeur par défaut des colonnes de type de données `TIMESTAMP WITH TIME ZONE`.  | 
|  `p_blob_val`  |  blob  |  Null  |  Non  |  Modifie la valeur par défaut des colonnes de type de données `BLOB`.  | 
|  `p_clob_val`  |  clob  |  Null  |  Non  |  Modifie la valeur par défaut des colonnes de type de données `CLOB`.  | 
|  `p_nclob_val`  |  nclob  |  Null  |  Non  |  Modifie la valeur par défaut des colonnes de type de données `NCLOB`.  | 

L'exemple suivant remplace la valeur expurgée par défaut par \$1 pour le type de données `CHAR` :

```
EXEC rdsadmin.rdsadmin_util.dbms_redact_upd_full_rdct_val(p_char_val => '*');
```

L'exemple suivant modifie les valeurs expurgées par défaut pour les types de données `NUMBER`, `DATE` et `CHAR` :

```
BEGIN
rdsadmin.rdsadmin_util.dbms_redact_upd_full_rdct_val(
    p_number_val=>1,
    p_date_val=>to_date('1900-01-01','YYYY-MM-DD'),
    p_varchar_val=>'X');
END;
/
```

Après avoir modifié les valeurs par défaut pour l'édition complète avec la procédure `dbms_redact_upd_full_rdct_val`, redémarrez votre instance de base de données pour que la modification prenne effet. Pour de plus amples informations, veuillez consulter [Redémarrage d'une instance de base de données cluster de base de données](USER_RebootInstance.md).

# Exécution des tâches courantes liées au journal pour les instances de base de données Oracle
<a name="Appendix.Oracle.CommonDBATasks.Log"></a>

Vous trouverez ci-dessous des informations sur la façon d'effectuer certaines tâches DBA courantes liées à la journalisation sur vos instances de base de données Amazon RDS exécutant Oracle. Pour offrir une expérience de service géré, Amazon RDS ne fournit pas l'accès shell aux instances de base de données et limite l'accès à certaines tables et procédures système qui requièrent des privilèges avancés. 

Pour plus d'informations, consultez [Fichiers journaux de base de données Amazon RDS for Oracle](USER_LogAccess.Concepts.Oracle.md). 

**Topics**
+ [

## Configuration du mode FORCE LOGGING
](#Appendix.Oracle.CommonDBATasks.SettingForceLogging)
+ [

## Configuration d'une journalisation supplémentaire
](#Appendix.Oracle.CommonDBATasks.AddingSupplementalLogging)
+ [

## Changement de fichiers journaux en ligne
](#Appendix.Oracle.CommonDBATasks.SwitchingLogfiles)
+ [

## Ajout de journaux redo en ligne
](#Appendix.Oracle.CommonDBATasks.RedoLogs)
+ [

## Suppression de journaux redo en ligne
](#Appendix.Oracle.CommonDBATasks.DroppingRedoLogs)
+ [

# Redimensionnement de journaux redo en ligne
](Appendix.Oracle.CommonDBATasks.ResizingRedoLogs.md)
+ [

# Conservation des journaux redo archivés
](Appendix.Oracle.CommonDBATasks.RetainRedoLogs.md)
+ [

# Accès aux journaux de reprise en ligne et archivés
](Appendix.Oracle.CommonDBATasks.Log.Download.md)
+ [

# Téléchargement des journaux de reprise archivés à partir d'Amazon S3
](Appendix.Oracle.CommonDBATasks.download-redo-logs.md)

## Configuration du mode FORCE LOGGING
<a name="Appendix.Oracle.CommonDBATasks.SettingForceLogging"></a>

En mode FORCE LOGGING, Oracle enregistre toutes les modifications apportées à la base de données, à l'exception de celles apportées aux espaces de table temporaires et aux segments temporaires (`NOLOGGING` des clauses sont ignorées). Pour plus d’informations, consultez [Specifying FORCE LOGGING Mode](https://docs.oracle.com/cd/E11882_01/server.112/e25494/create.htm#ADMIN11096) dans la documentation Oracle. 

Pour définir le mode FORCE LOGGING, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.force_logging`. La procédure `force_logging` possède les paramètres suivants. 


****  

| Nom du paramètre | Type de données | Par défaut | Oui | Description | 
| --- | --- | --- | --- | --- | 
|  `p_enable`  |  booléen  |  true  |  Non  |  Définissez ce paramètre sur `true` pour mettre la base de données en mode FORCE LOGGING ou sur `false` pour sortir la base de données de ce mode.   | 

L'exemple suivant met la base de données en mode FORCE LOGGING. 

```
EXEC rdsadmin.rdsadmin_util.force_logging(p_enable => true);
```

## Configuration d'une journalisation supplémentaire
<a name="Appendix.Oracle.CommonDBATasks.AddingSupplementalLogging"></a>

Si vous activez la journalisation supplémentaire, LogMiner dispose des informations nécessaires pour prendre en charge les lignes chaînées et les tables en cluster. Pour plus d’informations, consultez [journalisation supplémentaire](https://docs.oracle.com/cd/E11882_01/server.112/e22490/logminer.htm#SUTIL1582) dans la documentation Oracle.

Oracle Database n'active pas la journalisation supplémentaire par défaut. Pour activer et désactiver la journalisation supplémentaire, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.alter_supplemental_logging`. Pour plus d'informations sur la façon dont Amazon RDS gère la conservation des journaux redo archivés pour les instances de base de données Oracle, consultez [Conservation des journaux redo archivés](Appendix.Oracle.CommonDBATasks.RetainRedoLogs.md). 

La procédure `alter_supplemental_logging` possède les paramètres suivants. 


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_action`  |  varchar2  |  —  |  Oui  |  `'ADD'` pour ajouter la journalisation supplémentaire, `'DROP'` pour la supprimer.   | 
|  `p_type`  |  varchar2  |  null  |  Non  |  Type de journalisation supplémentaire. Les valeurs valides sont `'ALL'`, `'FOREIGN KEY'`, `'PRIMARY KEY'`, `'UNIQUE'` et `PROCEDURAL`.   | 

L'exemple suivant active la journalisation supplémentaire.

```
begin
    rdsadmin.rdsadmin_util.alter_supplemental_logging(
        p_action => 'ADD');
end;
/
```

L'exemple suivant active la journalisation supplémentaire pour toutes les colonnes de taille maximale et de longueur fixe. 

```
begin
    rdsadmin.rdsadmin_util.alter_supplemental_logging(
        p_action => 'ADD',
        p_type   => 'ALL');
end;
/
```

L'exemple suivant active la journalisation supplémentaire pour les colonnes de clés primaires. 

```
begin
    rdsadmin.rdsadmin_util.alter_supplemental_logging(
        p_action => 'ADD',
        p_type   => 'PRIMARY KEY');
end;
/
```

## Changement de fichiers journaux en ligne
<a name="Appendix.Oracle.CommonDBATasks.SwitchingLogfiles"></a>

Pour changer des fichiers journaux, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.switch_logfile`. La procédure `switch_logfile` ne comporte aucun paramètre. 

L'exemple suivant change des fichiers journaux.

```
EXEC rdsadmin.rdsadmin_util.switch_logfile;
```

## Ajout de journaux redo en ligne
<a name="Appendix.Oracle.CommonDBATasks.RedoLogs"></a>

Une instance de base de données Amazon RDS exécutant Oracle démarre avec quatre journaux redo en ligne de 128 Mo chacun. Pour ajouter des journaux redo supplémentaires, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.add_logfile`. 

La procédure `add_logfile` possède les paramètres suivants.

**Note**  
Les paramètres s'excluent mutuellement.


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `bytes`  |  positives  |  null  |  Non  |  Taille du fichier journal en octets.  Utilisez ce paramètre uniquement si la taille du journal est inférieure à 2147483648 octets (2 Gio). Dans le cas contraire, RDS émet une erreur. Pour les tailles de journal supérieures à cette valeur d’octet, utilisez plutôt le paramètre `p_size`.  | 
|  `p_size`  |  varchar2  |  —  |  Oui  |  Taille du fichier journal en kilo-octets (Ko), mégaoctets (Mo) ou gigaoctets (Go).  | 

La commande suivante ajoute un fichier journal de 100 Mo.

```
EXEC rdsadmin.rdsadmin_util.add_logfile(p_size => '100M');
```

## Suppression de journaux redo en ligne
<a name="Appendix.Oracle.CommonDBATasks.DroppingRedoLogs"></a>

Pour supprimer des journaux redo, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.drop_logfile`. La procédure `drop_logfile` possède les paramètres suivants. 


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `grp`  |  positives  |  —  |  Oui  |  Numéro de groupe du journal.  | 

L'exemple suivant supprime le journal doté du numéro de groupe 3. 

```
EXEC rdsadmin.rdsadmin_util.drop_logfile(grp => 3);
```

Vous pouvez uniquement supprimer des journaux dont le statut est inutilisé ou inactif. L'exemple suivant permet d'obtenir les statuts des journaux.

```
SELECT GROUP#, STATUS FROM V$LOG;

GROUP#     STATUS
---------- ----------------
1          CURRENT
2          INACTIVE
3          INACTIVE
4          UNUSED
```

# Redimensionnement de journaux redo en ligne
<a name="Appendix.Oracle.CommonDBATasks.ResizingRedoLogs"></a>

Une instance de base de données Amazon RDS exécutant Oracle démarre avec quatre journaux redo en ligne de 128 Mo chacun. L'exemple suivant montre comment vous pouvez utiliser les procédures Amazon RDS for redimensionner vos journaux en remplaçant leur taille de 128 Mo par 512 Mo. 

```
/* Query V$LOG to see the logs.          */
/* You start with 4 logs of 128 MB each. */

SELECT GROUP#, BYTES, STATUS FROM V$LOG;

GROUP#     BYTES      STATUS
---------- ---------- ----------------
1          134217728  INACTIVE
2          134217728  CURRENT
3          134217728  INACTIVE
4          134217728  INACTIVE


/* Add four new logs that are each 512 MB */

EXEC rdsadmin.rdsadmin_util.add_logfile(bytes => 536870912);
EXEC rdsadmin.rdsadmin_util.add_logfile(bytes => 536870912);
EXEC rdsadmin.rdsadmin_util.add_logfile(bytes => 536870912);
EXEC rdsadmin.rdsadmin_util.add_logfile(bytes => 536870912);


/* Query V$LOG to see the logs. */ 
/* Now there are 8 logs.        */

SELECT GROUP#, BYTES, STATUS FROM V$LOG;

GROUP#     BYTES      STATUS
---------- ---------- ----------------
1          134217728  INACTIVE
2          134217728  CURRENT
3          134217728  INACTIVE
4          134217728  INACTIVE
5          536870912  UNUSED
6          536870912  UNUSED
7          536870912  UNUSED
8          536870912  UNUSED


/* Drop each inactive log using the group number. */

EXEC rdsadmin.rdsadmin_util.drop_logfile(grp => 1);
EXEC rdsadmin.rdsadmin_util.drop_logfile(grp => 3);
EXEC rdsadmin.rdsadmin_util.drop_logfile(grp => 4);


/* Query V$LOG to see the logs. */ 
/* Now there are 5 logs.        */

select GROUP#, BYTES, STATUS from V$LOG;

GROUP#     BYTES      STATUS
---------- ---------- ----------------
2          134217728  CURRENT
5          536870912  UNUSED
6          536870912  UNUSED
7          536870912  UNUSED
8          536870912  UNUSED


/* Switch logs so that group 2 is no longer current. */

EXEC rdsadmin.rdsadmin_util.switch_logfile;


/* Query V$LOG to see the logs.        */ 
/* Now one of the new logs is current. */

SQL>SELECT GROUP#, BYTES, STATUS FROM V$LOG;

GROUP#     BYTES      STATUS
---------- ---------- ----------------
2          134217728  ACTIVE
5          536870912  CURRENT
6          536870912  UNUSED
7          536870912  UNUSED
8          536870912  UNUSED


/* If the status of log 2 is still "ACTIVE", issue a checkpoint to clear it to "INACTIVE".  */

EXEC rdsadmin.rdsadmin_util.checkpoint;


/* Query V$LOG to see the logs.            */ 
/* Now the final original log is inactive. */

select GROUP#, BYTES, STATUS from V$LOG;

GROUP#     BYTES      STATUS
---------- ---------- ----------------
2          134217728  INACTIVE
5          536870912  CURRENT
6          536870912  UNUSED
7          536870912  UNUSED
8          536870912  UNUSED


# Drop the final inactive log.

EXEC rdsadmin.rdsadmin_util.drop_logfile(grp => 2);


/* Query V$LOG to see the logs.    */ 
/* Now there are four 512 MB logs. */

SELECT GROUP#, BYTES, STATUS FROM V$LOG;

GROUP#     BYTES      STATUS
---------- ---------- ----------------
5          536870912  CURRENT
6          536870912  UNUSED
7          536870912  UNUSED
8          536870912  UNUSED
```

# Conservation des journaux redo archivés
<a name="Appendix.Oracle.CommonDBATasks.RetainRedoLogs"></a>

Vous pouvez conserver les journaux de restauration archivés localement sur votre instance de base de données pour les utiliser avec des produits tels qu'Oracle LogMiner (`DBMS_LOGMNR`). Une fois que vous avez conservé les journaux redo, vous pouvez les utiliser LogMiner pour analyser les journaux. Pour plus d'informations, consultez la section [Utilisation LogMiner pour analyser les fichiers de journalisation](http://docs.oracle.com/cd/E11882_01/server.112/e22490/logminer.htm) dans la documentation Oracle. 

Pour conserver les journaux redo archivés, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.set_configuration`. Si vous utilisez cette procédure sur une instance principale dans Oracle Data Guard, RDS modifie le paramètre de conservation du journal d’archivage sur l’instance principale et sur les réplicas en lecture ouvertes, mais pas sur les réplicas montés. RDS conserve les derniers journaux de rétablissement des archives sur les réplicas montés pendant une courte période. RDS supprime automatiquement les anciens journaux téléchargés sur les réplicas montés.

La procédure `set_configuration` possède les paramètres suivants. 


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `name`  |  varchar  |  —  |  Oui  |  Nom de la configuration à mettre à jour. Pour modifier les heures de conservation du journal de rétablissement archivé, définissez le nom sur `archivelog retention hours`.  | 
|  `value`  |  varchar  |  —  |  Oui  |  Valeur pour la configuration. Définissez comme valeur le nombre d’heures pendant lesquelles les journaux sont conservés.  | 

L'exemple suivant conserve les journaux redo pendant 24 heures. 

```
begin
    rdsadmin.rdsadmin_util.set_configuration(
        name  => 'archivelog retention hours',
        value => '24');
end;
/
commit;
```

**Note**  
La validation est obligatoire pour que la modification prenne effet.

Pour voir combien de temps les journaux redo archivés sont conservés pour votre instance de base de données, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.show_configuration`.

L'exemple suivant affiche la durée de conservation des journaux.

```
set serveroutput on
EXEC rdsadmin.rdsadmin_util.show_configuration;
```

La sortie affiche le paramètre actuel pour `archivelog retention hours`. La sortie suivante montre que les journaux redo archivés sont conservés pendant 48 heures.

```
NAME:archivelog retention hours
VALUE:48
DESCRIPTION:ArchiveLog expiration specifies the duration in hours before archive/redo log files are automatically deleted.
```

Étant donné que les journaux redo archivés sont conservés sur votre instance de base de données, vérifiez que votre instance de base de données dispose d'un stockage alloué suffisant pour les journaux conservés. Pour déterminer la quantité d'espace que votre instance de base de données a utilisée au cours des X dernières heures, vous pouvez exécuter la requête suivante en remplaçant X par le nombre d'heures. 

```
SELECT SUM(BLOCKS * BLOCK_SIZE) bytes 
  FROM V$ARCHIVED_LOG
 WHERE FIRST_TIME >= SYSDATE-(X/24) AND DEST_ID=1;
```

RDS for Oracle ne génère des journaux de reprise archivés que si la période de rétention des sauvegardes de votre instance de base de données est supérieure à zéro. Par défaut, la période de rétention des sauvegardes est supérieure à zéro.

Lorsque la période de rétention des journaux archivés expire, RDS for Oracle supprime les journaux de reprise archivés de votre instance de base de données. Pour prendre en charge la restauration de votre instance de base de données à un moment donné, Amazon RDS conserve les journaux de reprise archivés en dehors de votre instance de base de données pendant la période de rétention des sauvegardes. Pour modifier la période de rétention des sauvegardes pour votre instance de base de données, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

**Note**  
Dans certains cas, vous pouvez utiliser JDBC sur Linux pour télécharger les journaux redo archivés et connaître des temps de latence élevés et des réinitalisations de connexion. Dans ces cas, les problèmes peuvent être causés par le paramétrage du générateur de nombres aléatoires sur votre client Java. Nous vous recommandons de définir vos pilotes JDBC pour l'utilisation d'un générateur de nombres aléatoires sans blocage.

# Accès aux journaux de reprise en ligne et archivés
<a name="Appendix.Oracle.CommonDBATasks.Log.Download"></a>

Vous souhaiterez peut-être accéder à vos fichiers de journalisation en ligne et archivés pour le minage à l'aide d'outils externes tels que GoldenGate Attunity, Informatica, etc. Pour accéder à ces fichiers, procédez comme suit :

1. Créez des objets de répertoire qui donnent un accès en lecture seule aux chemins d'accès de fichiers physiques.

   Utilisation de `rdsadmin.rdsadmin_master_util.create_archivelog_dir` et `rdsadmin.rdsadmin_master_util.create_onlinelog_dir`.

1. Lisez les fichiers à l'aide de PL/SQL.

   Vous pouvez lire les fichiers en utilisant PL/SQL. Pour de plus amples informations sur la lecture de fichiers à partir d'objets de répertoire, veuillez consulter [Établissement de la liste des fichiers situés dans un répertoire d'instance de base de données](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ListDirectories) et [Lecture de fichiers dans un répertoire d'instance de base de données](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ReadingFiles).

L'accès aux journaux des transactions est pris en charge pour les versions suivantes :
+ Oracle Database 21c
+ Oracle Database 19c

Le code suivant crée des répertoires qui fournissent un accès en lecture seule à vos fichiers de journalisation Redo en ligne et archivés : 

**Important**  
Ce code retire également le privilège `DROP ANY DIRECTORY`.

```
EXEC rdsadmin.rdsadmin_master_util.create_archivelog_dir;
EXEC rdsadmin.rdsadmin_master_util.create_onlinelog_dir;
```

Le code suivant supprime les répertoires pour vos fichiers journaux redo en ligne et archivés. 

```
EXEC rdsadmin.rdsadmin_master_util.drop_archivelog_dir;
EXEC rdsadmin.rdsadmin_master_util.drop_onlinelog_dir;
```

Le code suivant accorde et révoque le privilège `DROP ANY DIRECTORY`.

```
EXEC rdsadmin.rdsadmin_master_util.revoke_drop_any_directory;
EXEC rdsadmin.rdsadmin_master_util.grant_drop_any_directory;
```

# Téléchargement des journaux de reprise archivés à partir d'Amazon S3
<a name="Appendix.Oracle.CommonDBATasks.download-redo-logs"></a>

Vous pouvez télécharger les journaux de reprise archivés sur votre instance de base de données à l'aide du package `rdsadmin.rdsadmin_archive_log_download`. Si les journaux de reprise archivés ne sont plus sur votre instance de base de données, vous pouvez les télécharger à nouveau à partir d'Amazon S3. Ensuite, vous pouvez les exploiter ou les utiliser pour récupérer ou répliquer votre base de données.

**Note**  
Vous ne pouvez pas télécharger des Journaux de reprise archivés sur des instances de réplica en lecture.

## Téléchargement des journaux de reprise archivés : étapes de base
<a name="Appendix.Oracle.CommonDBATasks.download-redo-logs.basic-process"></a>

La disponibilité de vos journaux de reprise archivés dépend des politiques de rétention suivantes :
+ Politique de conservation des sauvegardes : les journaux liés à cette politique sont disponibles dans Amazon S3. Les journaux étrangers à cette politique sont supprimés.
+ Politique de conservation des journaux archivés : les journaux liés à cette politique sont disponibles sur votre instance de base de données. Les journaux étrangers à cette politique sont supprimés.

Si les journaux ne figurent pas sur votre instance mais sont protégés par votre période de rétention des sauvegardes, utilisez `rdsadmin.rdsadmin_archive_log_download` pour les télécharger à nouveau. RDS for Oracle enregistre les journaux dans le répertoire `/rdsdbdata/log/arch` sur votre instance de base de données.

**Pour télécharger des journaux de reprise archivés à partir d'Amazon S3**

1. Configurez votre période de conservation pour vous assurer que les journaux redo archivés que vous avez téléchargés sont conservés pendant la durée où vous en avez besoin. Veillez à valider (`COMMIT`) votre changement. 

   RDS conserve vos journaux téléchargés conformément à la politique de conservation des journaux archivés, à compter du moment où les journaux ont été téléchargés. Pour découvrir comment définir la politique de rétention, consultez [Conservation des journaux redo archivés](Appendix.Oracle.CommonDBATasks.RetainRedoLogs.md).

1. Attendez jusqu'à 5 minutes pour que la modification de la politique de rétention des journaux archivés prenne effet.

1. Téléchargez les journaux de reprise archivés à partir d'Amazon S3 à l'aide de `rdsadmin.rdsadmin_archive_log_download`.

   Pour plus d’informations, consultez [Téléchargement d'un journal de reprise archivé unique](#Appendix.Oracle.CommonDBATasks.download-redo-logs.single-log) et [Téléchargement d'une série de journaux de reprise archivés](#Appendix.Oracle.CommonDBATasks.download-redo-logs.series).
**Note**  
RDS vérifie automatiquement le stockage disponible avant le téléchargement. Si les journaux demandés consomment un pourcentage élevé d'espace, vous recevez une alerte.

1. Vérifiez que les journaux ont bien été téléchargés à partir d'Amazon S3.

   Vous pouvez consulter l'état de votre tâche de téléchargement dans un fichier bdump. Les fichiers bdump ont le nom des chemin d'accès `/rdsdbdata/log/trace/dbtask-task-id.log`. A l'étape de téléchargement précédente, vous avez exécuté une instruction `SELECT` qui renvoie l'ID de tâche dans un type de données `VARCHAR2`. Pour plus d'informations, consultez des exemples similaires dans [Surveillance du statut d'un transfert de fichiers](oracle-s3-integration.using.md#oracle-s3-integration.using.task-status).

## Téléchargement d'un journal de reprise archivé unique
<a name="Appendix.Oracle.CommonDBATasks.download-redo-logs.single-log"></a>

Pour télécharger un journal de reprise archivé unique dans le répertoire `/rdsdbdata/log/arch`, utilisez `rdsadmin.rdsadmin_archive_log_download.download_log_with_seqnum`. Cette procédure utilise le paramétrage suivant.


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `seqnum`  |  nombre  |  —  |  Oui  |  Numéro de séquence du journal de reprise archivé.  | 

L'exemple suivant télécharge le journal avec le numéro de séquence 20.

```
SELECT rdsadmin.rdsadmin_archive_log_download.download_log_with_seqnum(seqnum => 20) 
       AS TASK_ID 
FROM   DUAL;
```

## Téléchargement d'une série de journaux de reprise archivés
<a name="Appendix.Oracle.CommonDBATasks.download-redo-logs.series"></a>

Pour télécharger une série de journaux de reprise archivés dans le répertoire `/rdsdbdata/log/arch`, utilisez `download_logs_in_seqnum_range`. Votre téléchargement est limité à 300 journaux par requête. La procédure `download_logs_in_seqnum_range` possède les paramètres suivants.


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `start_seq`  |  nombre  |  —  |  Oui  |  Numéro de séquence initial de la série.  | 
|  `end_seq`  |  nombre  |  —  |  Oui  |  Numéro de séquence final de la série.  | 

L'exemple suivant télécharge les journaux portant les numéros de séquence 50 à 100.

```
SELECT rdsadmin.rdsadmin_archive_log_download.download_logs_in_seqnum_range(start_seq => 50, end_seq => 100) 
       AS TASK_ID 
FROM   DUAL;
```

# Exécution des tâches RMAN courantes pour les instances de base de données Oracle
<a name="Appendix.Oracle.CommonDBATasks.RMAN"></a>

Dans la section suivante, vous trouverez comment effectuer les tâches DBA Oracle Recovery Manager (RMAN) sur vos instances de base de données Amazon RDS exécutant Oracle. Pour offrir une expérience de service géré, Amazon RDS ne fournit pas l'accès shell aux instances de base de données. Il restreint également l'accès à certaines procédures système et tables qui requièrent des privilèges avancés.

Utilisez le package Amazon RDS `rdsadmin.rdsadmin_rman_util` pour effectuer les sauvegardes RMAN sur disque de votre base de données Amazon RDS for Oracle. Le package `rdsadmin.rdsadmin_rman_util` prend en charge les sauvegardes de fichiers de base de données complètes et incrémentielles, les sauvegardes d'espace de table et les sauvegardes des journaux redo archivés.

Une fois qu'une sauvegarde RMAN est terminée, vous pouvez copier les fichiers de sauvegarde hors de l'hôte d'instance de base de données Amazon RDS for Oracle. Vous pouvez faire cela en vue d'une restauration vers un hôte non-RDS ou pour le stockage à long terme des sauvegardes. Par exemple, vous pouvez copier les fichiers de sauvegarde dans un compartiment Amazon S3. Pour de plus amples informations, reportez-vous à l'utilisation d'[Intégration Amazon S3](oracle-s3-integration.md).

Les fichiers de sauvegarde RMAN restent sur l'hôte d'instance de base de données Amazon RDS jusqu'à ce que vous les supprimiez manuellement. Vous pouvez utiliser la procédure Oracle `UTL_FILE.FREMOVE` pour supprimer les fichiers d'un répertoire. Pour plus d'informations, consultez [Procédure FREMOVE](https://docs.oracle.com/database/121/ARPLS/u_file.htm#ARPLS70924) (langue française non garantie) dans la documentation Oracle Database.

Vous ne pouvez pas utiliser RMAN pour restaurer les instances de base de données RDS for Oracle. Toutefois, vous pouvez utiliser RMAN pour restaurer une sauvegarde sur une instance Amazon EC2 ou sur site. Pour plus d'informations, consultez l'article de blog [Restaurer une instance Amazon RDS for Oracle vers une instance autogérée](https://aws.amazon.com/blogs/database/restore-an-amazon-rds-for-oracle-instance-to-a-self-managed-instance/) (langue française non garantie).

**Note**  
Pour une sauvegarde et une restauration vers une autre instance de base de données Amazon RDS for Oracle, vous pouvez continuer à utiliser les fonctions Amazon RDS de sauvegarde et de restauration. Pour de plus amples informations, veuillez consulter [Sauvegarde, restauration et exportation de données](CHAP_CommonTasks.BackupRestore.md).

**Topics**
+ [

# Prérequis pour les sauvegardes RMAN
](Appendix.Oracle.CommonDBATasks.RMAN-requirements.md)
+ [

# Paramètres communs pour les procédures RMAN
](Appendix.Oracle.CommonDBATasks.CommonParameters.md)
+ [

# Validation de fichiers de base de données dans RDS for Oracle
](Appendix.Oracle.CommonDBATasks.ValidateDBFiles.md)
+ [

# Activation et désactivation du suivi des modifications de bloc
](Appendix.Oracle.CommonDBATasks.BlockChangeTracking.md)
+ [

# Recoupement des journaux redo archivés
](Appendix.Oracle.CommonDBATasks.Crosscheck.md)
+ [

# Sauvegarde des journaux de rétablissement archivés
](Appendix.Oracle.CommonDBATasks.BackupArchivedLogs.md)
+ [

# Réalisation d'une sauvegarde complète de base de données
](Appendix.Oracle.CommonDBATasks.BackupDatabaseFull.md)
+ [

# Réalisation d'une sauvegarde complète d'une base de données locataire
](Appendix.Oracle.CommonDBATasks.BackupTenantDatabaseFull.md)
+ [

# Réalisation d'une sauvegarde incrémentielle de base de données
](Appendix.Oracle.CommonDBATasks.BackupDatabaseIncremental.md)
+ [

# Réalisation d'une sauvegarde incrémentielle d'une base de données locataire
](Appendix.Oracle.CommonDBATasks.BackupTenantDatabaseIncremental.md)
+ [

# Sauvegarde d'un espace de table
](Appendix.Oracle.CommonDBATasks.BackupTablespace.md)
+ [

# Sauvegarde d'un fichier de contrôle
](Appendix.Oracle.CommonDBATasks.backup-control-file.md)
+ [

# Exécution de la récupération de supports par blocs
](Appendix.Oracle.CommonDBATasks.block-media-recovery.md)

# Prérequis pour les sauvegardes RMAN
<a name="Appendix.Oracle.CommonDBATasks.RMAN-requirements"></a>

Avant de sauvegarder votre base de données à l'aide du package `rdsadmin.rdsadmin_rman_util`, assurez-vous que vous répondez aux prérequis suivants :
+ Assurez-vous que votre base de données RDS for Oracle est en mode `ARCHIVELOG`. Pour activer ce mode, définissez la période de conservation des sauvegardes sur une valeur différente de zéro.
+ Lorsque vous sauvegardez les journaux redo archivés ou effectuez une sauvegarde complète ou incrémentielle incluant des journaux redo archivés, et lorsque vous effectuez la sauvegarde de la base de données, veillez à ce que la conservation des journaux redo soit définie sur une valeur non nulle. Les journaux redo archivés sont nécessaires pour assurer la cohérence des fichiers de base de données pendant la restauration. Pour de plus amples informations, veuillez consulter [Conservation des journaux redo archivés](Appendix.Oracle.CommonDBATasks.RetainRedoLogs.md).
+ Assurez-vous que votre instance de base de données dispose de suffisamment d'espace disponible pour stocker les sauvegardes. Lorsque vous sauvegardez votre base de données, vous spécifiez un objet de répertoire Oracle en tant que paramètre dans l'appel de procédure. RMAN place les fichiers dans le répertoire spécifié. Vous pouvez utiliser les répertoires par défaut, tels que `DATA_PUMP_DIR`, ou créer un répertoire. Pour de plus amples informations, veuillez consulter [Création et suppression de répertoires dans l'espace de stockage de données principal](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.NewDirectories).

  Vous pouvez surveiller l'espace libre actuel dans une instance RDS pour Oracle à l'aide de la CloudWatch métrique`FreeStorageSpace`. Nous recommandons que votre espace disponible dépasse la taille actuelle de la base de données, bien que RMAN ne sauvegarde que les blocs formatés et prenne en charge la compression.

# Paramètres communs pour les procédures RMAN
<a name="Appendix.Oracle.CommonDBATasks.CommonParameters"></a>

Vous pouvez utiliser des procédures dans le package Amazon RDS `rdsadmin.rdsadmin_rman_util` pour effectuer des tâches avec RMAN. Plusieurs paramètres sont communs aux procédures figurant dans le package. Le package possède les paramètres communs suivants.


****  

| Nom du paramètre | Type de données | Valeurs valides | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | --- | 
|  `p_directory_name`  |  varchar2  |  Nom de répertoire de base de données valide.  |  —  |  Oui  |  Nom du répertoire devant contenir les fichiers de sauvegarde.  | 
|  `p_label`  |  varchar2  |  `a-z`, `A-Z`, `0-9`, `'_'`, `'-'`, `'.'`  |  —  |  Non  |  Chaîne unique incluse dans les noms de fichiers de sauvegarde.  La limite est de 30 caractères.   | 
|  `p_owner`  |  varchar2  |  Propriétaire valide du répertoire spécifié dans `p_directory_name`.  |  —  |  Oui  |  Propriétaire du répertoire devant contenir les fichiers de sauvegarde.  | 
|  `p_tag`  |  varchar2  |  `a-z`, `A-Z`, `0-9`, `'_'`, `'-'`, `'.'`  |  NULL  |  Non  |  Chaîne pouvant être utilisée pour distinguer les sauvegardes afin d'indiquer leur but ou leur utilisation, telles que les sauvegardes journalière, hebdomadaire, ou de niveau progressif. La limite est de 30 caractères. L'identification n'est pas sensible à la casse. Les balises sont toujours enregistrées en majuscules, quelle que soit la casse utilisée lors de leur saisie. Les identifications n'ont pas besoin d'être uniques, de sorte que plusieurs sauvegardes peuvent avoir la même. Si vous ne spécifiez aucune balise, RMAN attribue automatiquement une balise par défaut en utilisant le format`TAGYYYYMMDDTHHMMSS`, où *YYYY* sont l'année, *MM* le mois, *DD* le jour, *HH* l'heure (au format 24 heures), *MM* les minutes et les *SS* secondes. La date et l'heure font référence au moment où RMAN a démarré la sauvegarde. Par exemple, une sauvegarde peut se voir attribuer une balise `TAG20190927T214517`, pour une sauvegarde démarrée le 27 septembre 2019 à 21:45:17. Le paramètre `p_tag` est pris en charge pour les versions suivantes du moteur de base de données Amazon RDS for Oracle : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.CommonParameters.html)  | 
|  `p_compress`  |  boolean  |  `TRUE`, `FALSE`  |  `FALSE`  |  Non  |  Spécifiez `TRUE` pour activer la compression de sauvegarde DE BASE. Spécifiez `FALSE` pour désactiver la compression de sauvegarde DE BASE.  | 
|  `p_include_archive_logs`  |  booléen  |  `TRUE`, `FALSE`  |  `FALSE`  |  Non  |  Spécifiez `TRUE` pour inclure les journaux redo archivés dans la sauvegarde. Spécifiez `FALSE` pour exclure les journaux redo archivés de la sauvegarde. Si vous incluez les journaux redo archivés dans la sauvegarde, définissez la conservation sur une heure ou plus à l'aide de la procédure `rdsadmin.rdsadmin_util.set_configuration`. De plus, appelez la procédure `rdsadmin.rdsadmin_rman_util.crosscheck_archivelog` immédiatement avant d'exécuter la sauvegarde. Dans le cas contraire, la sauvegarde peut échouer en raison de fichiers journaux redo archivés manquants qui ont été supprimés par les procédures de gestion Amazon RDS.  | 
|  `p_include_controlfile`  |  booléen  |  `TRUE`, `FALSE`  |  `FALSE`  |  Non  |  Spécifiez `TRUE` pour inclure le fichier de contrôle dans la sauvegarde. Spécifiez `FALSE` pour exclure le fichier de contrôle de la sauvegarde.  | 
|  `p_optimize`  |  booléen  |  `TRUE`, `FALSE`  |  `TRUE`  |  Non  |  Spécifiez `TRUE` pour activer l'optimisation de la sauvegarde, si des journaux redo archivés sont inclus, afin de réduire la taille de la sauvegarde. Spécifiez `FALSE` pour désactiver l'optimisation de la sauvegarde.  | 
|  `p_parallel`  |  nombre  |  Entier valide compris entre `1` et `254` pour Oracle Database Enterprise Edition (EE) `1` pour d'autres éditions d'Oracle Database  |  `1`  |  Non  |  Nombre de canaux.  | 
|  `p_rman_to_dbms_output`  |  booléen  |  `TRUE`, `FALSE`  |  `FALSE`  |  Non  |  Lorsque la valeur est `TRUE`, la sortie RMAN est envoyée au package `DBMS_OUTPUT` ainsi qu'à un fichier du répertoire `BDUMP`. Dans SQL\$1Plus, utilisez `SET SERVEROUTPUT ON` pour voir la sortie. Lorsque la valeur est `FALSE`, la sortie RMAN est envoyée uniquement à un fichier dans le répertoire `BDUMP`.   | 
|  `p_section_size_mb`  |  nombre  |  Entier valide  |  `NULL`  |  Non  |  Taille de la section en mégaoctets (Mo). Valide en parallèle en divisant chaque fichier dans la taille de section spécifiée. Lorsque la valeur est `NULL`, le paramètre est ignoré.  | 
|  `p_validation_type`  |  varchar2  |  `'PHYSICAL'`, `'PHYSICAL+LOGICAL'`  |  `'PHYSICAL'`  |  Non  |  Niveau de détection de la corruption. Spécifiez `'PHYSICAL'` pour rechercher de la corruption physique. Par exemple, la corruption physique peut être un bloc dont l'en-tête et le pied de page ne correspondent pas. Spécifiez `'PHYSICAL+LOGICAL'` pour rechercher les incohérences logiques en plus de la corruption physique. Un bloc corrompu est un exemple de corruption logique.  | 

# Validation de fichiers de base de données dans RDS for Oracle
<a name="Appendix.Oracle.CommonDBATasks.ValidateDBFiles"></a>

Vous pouvez utiliser le package Amazon RDS `rdsadmin.rdsadmin_rman_util` pour valider les fichiers de base de données Amazon RDS for Oracle, tels que les fichiers de données, les tablespaces, les fichiers de contrôle et les fichiers de paramètres du serveur (). SPFILEs

Pour plus d’informations sur la validation RMAN, consultez [ Validating Database Files and Backups](https://docs.oracle.com/database/121/BRADV/rcmvalid.htm#BRADV90063) et [ VALIDATE](https://docs.oracle.com/database/121/RCMRF/rcmsynta2025.htm#RCMRF162) dans la documentation Oracle.

**Topics**
+ [

## Validation d’une base de données
](#Appendix.Oracle.CommonDBATasks.ValidateDB)
+ [

## Validation d'une base de données locataire
](#Appendix.Oracle.CommonDBATasks.ValidateTenantDB)
+ [

## Validation d'un espace de table
](#Appendix.Oracle.CommonDBATasks.ValidateTablespace)
+ [

## Validation d'un fichier de contrôle
](#Appendix.Oracle.CommonDBATasks.ValidateControlFile)
+ [

## Validation d'un fichier SPFILE
](#Appendix.Oracle.CommonDBATasks.ValidateSpfile)
+ [

## Validation d’un fichier de données Oracle
](#Appendix.Oracle.CommonDBATasks.ValidateDataFile)

## Validation d’une base de données
<a name="Appendix.Oracle.CommonDBATasks.ValidateDB"></a>

Pour valider tous les fichiers pertinents utilisés par une base de données Oracle dans RDS for Oracle, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_rman_util.validate_database`. 

Cette procédure utilise les paramètres courants suivants pour les tâches RMAN :
+ `p_validation_type`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_rman_to_dbms_output`

Pour de plus amples informations, veuillez consulter [Paramètres communs pour les procédures RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

L’exemple suivant valide la base de données actuelle à l’aide des valeurs par défaut pour les paramètres.

```
EXEC rdsadmin.rdsadmin_rman_util.validate_database;
```

L’exemple suivant valide la base de données actuelle à l’aide des valeurs spécifiées pour les paramètres.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.validate_database(
        p_validation_type     => 'PHYSICAL+LOGICAL', 
        p_parallel            => 4,  
        p_section_size_mb     => 10,
        p_rman_to_dbms_output => FALSE);
END;
/
```

Lorsque le paramètre `p_rman_to_dbms_output` est défini sur `FALSE`, la sortie RMAN est écrite dans un fichier, dans le répertoire `BDUMP`.

Pour afficher les fichiers dans le répertoire `BDUMP`, exécutez l'instruction `SELECT` suivante.

```
SELECT * FROM table(rdsadmin.rds_file_util.listdir('BDUMP')) order by mtime;
```

Pour afficher le contenu d'un fichier dans le répertoire `BDUMP`, exécutez l'instruction `SELECT` suivante.

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','rds-rman-validate-nnn.txt'));
```

Remplacez le nom du fichier par celui du fichier que vous souhaitez afficher.

## Validation d'une base de données locataire
<a name="Appendix.Oracle.CommonDBATasks.ValidateTenantDB"></a>

Pour valider les fichiers de données de la base de données locataire dans une base de données de conteneurs (CDB), utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_rman_util.validate_tenant`. 

Cette procédure s'applique uniquement à la base de données locataire actuelle et utilise les paramètres courants suivants pour les tâches RMAN :
+ `p_validation_type`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_rman_to_dbms_output`

Pour de plus amples informations, veuillez consulter [Paramètres communs pour les procédures RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md). Cette procédure est prise en charge pour les versions suivantes du moteur de base de données :
+ CDB Oracle Database 21c (21.0.0)
+ CDB Oracle Database 19c (19.0.0)

L'exemple suivant valide la base de données locataire actuelle à l'aide des valeurs par défaut pour les paramètres.

```
EXEC rdsadmin.rdsadmin_rman_util.validate_tenant;
```

L'exemple suivant valide la base de données locataire actuelle à l'aide des valeurs spécifiées pour les paramètres.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.validate_tenant(
        p_validation_type     => 'PHYSICAL+LOGICAL', 
        p_parallel            => 4,  
        p_section_size_mb     => 10,
        p_rman_to_dbms_output => FALSE);
END;
/
```

Lorsque le paramètre `p_rman_to_dbms_output` est défini sur `FALSE`, la sortie RMAN est écrite dans un fichier, dans le répertoire `BDUMP`.

Pour afficher les fichiers dans le répertoire `BDUMP`, exécutez l'instruction `SELECT` suivante.

```
SELECT * FROM table(rdsadmin.rds_file_util.listdir('BDUMP')) order by mtime;
```

Pour afficher le contenu d'un fichier dans le répertoire `BDUMP`, exécutez l'instruction `SELECT` suivante.

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','rds-rman-validate-nnn.txt'));
```

Remplacez le nom du fichier par celui du fichier que vous souhaitez afficher.

## Validation d'un espace de table
<a name="Appendix.Oracle.CommonDBATasks.ValidateTablespace"></a>

Pour valider les fichiers associés à un espace de table, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_rman_util.validate_tablespace`. 

Cette procédure utilise les paramètres courants suivants pour les tâches RMAN :
+ `p_validation_type`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_rman_to_dbms_output`

Pour plus d'informations, consultez [Paramètres communs pour les procédures RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

Cette procédure utilise également le paramètre supplémentaire suivant.


****  

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

## Validation d'un fichier de contrôle
<a name="Appendix.Oracle.CommonDBATasks.ValidateControlFile"></a>

Pour valider uniquement le fichier de contrôle utilisé par une instance de base de données Amazon RDS Oracle, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_rman_util.validate_current_controlfile`. 

Cette procédure utilise le paramètre courant suivant pour les tâches RMAN :
+ `p_validation_type`
+ `p_rman_to_dbms_output`

Pour plus d'informations, consultez [Paramètres communs pour les procédures RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

## Validation d'un fichier SPFILE
<a name="Appendix.Oracle.CommonDBATasks.ValidateSpfile"></a>

Pour valider uniquement le fichier de paramètres serveur (SPFILE) utilisé par une instance de base de données Amazon RDS Oracle, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_rman_util.validate_spfile`. 

Cette procédure utilise le paramètre courant suivant pour les tâches RMAN :
+ `p_validation_type`
+ `p_rman_to_dbms_output`

Pour de plus amples informations, veuillez consulter [Paramètres communs pour les procédures RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

## Validation d’un fichier de données Oracle
<a name="Appendix.Oracle.CommonDBATasks.ValidateDataFile"></a>

Pour valider un fichier de données, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_rman_util.validate_datafile`. 

Cette procédure utilise les paramètres courants suivants pour les tâches RMAN :
+ `p_validation_type`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_rman_to_dbms_output`

Pour plus d’informations, consultez [Paramètres communs pour les procédures RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

Cette procédure utilise également les paramètres supplémentaires suivants.


****  

| Nom du paramètre | Type de données | Valeurs valides | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | --- | 
|  `p_datafile`  |  varchar2  |  Numéro d'ID de fichier de données valide ou nom de fichier de données valide comprenant le chemin complet  |  —  |  Oui  |  Numéro d'ID de fichier de données (issu de `v$datafile.file#`) ou nom de fichier de données complet comprenant le chemin (issu de `v$datafile.name`).  | 
|  `p_from_block`  |  nombre  |  Entier valide  |  `NULL`  |  Non  |  Numéro du bloc par lequel la validation commence à l'intérieur du fichier de données. Lorsqu'il est `NULL`, `1` est utilisé.  | 
|  `p_to_block`  |  nombre  |  Entier valide  |  `NULL`  |  Non  |  Numéro du bloc par lequel la validation finit à l'intérieur du fichier de données. Lorsqu'il est `NULL`, le bloc le plus grand du fichier de données est utilisé.  | 

# Activation et désactivation du suivi des modifications de bloc
<a name="Appendix.Oracle.CommonDBATasks.BlockChangeTracking"></a>

Le suivi des modifications de bloc enregistre les blocs dans un fichier de suivi. Cette technique peut améliorer les performances des sauvegardes incrémentielles RMAN. Pour plus d'informations, consultez [Utilisation du suivi des modifications de bloc pour améliorer les performances des sauvegardes incrémentielles](https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/backing-up-database.html#GUID-4E1F605A-76A7-48D0-9D9B-7343B4327E2A) dans la documentation Oracle Database.

Les fonctionnalités RMAN ne sont pas prises en charge dans un réplica en lecture. Toutefois, dans le cadre de votre stratégie de haute disponibilité, vous pouvez choisir d'activer le suivi des blocs dans un réplica en lecture seule à l'aide de la procédure `rdsadmin.rdsadmin_rman_util.enable_block_change_tracking`. Si vous promouvez ce réplica en lecture seule en instance de base de données source, le suivi des modifications de bloc est activé pour la nouvelle instance source. Ainsi, votre instance peut bénéficier de sauvegardes incrémentielles rapides.

Les procédures de suivi des modifications de bloc sont prises en charge dans la version Enterprise Edition uniquement pour les versions suivantes du moteur de base de données :
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c (19.0.0)

**Note**  
Dans une base de données de conteneur (CDB) à locataire unique, les opérations suivantes fonctionnent, mais aucun mécanisme visible par le client ne peut détecter l'état actuel des opérations. Voir aussi [Limites de RDS pour Oracle CDBs](Oracle.Concepts.CDBs.md#Oracle.Concepts.single-tenant-limitations).

Pour activer le suivi des modifications de bloc pour une instance de base de données, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_rman_util.enable_block_change_tracking`. Pour désactiver le suivi des modifications de bloc, utilisez `disable_block_change_tracking`. Ces procédures ne prennent aucun paramètre.

Pour déterminer si le suivi des modifications de bloc est activé pour votre instance de base de données, exécutez la requête suivante.

```
SELECT STATUS, FILENAME FROM V$BLOCK_CHANGE_TRACKING;
```

L'exemple suivant active le suivi des modifications de bloc pour une instance de base de données.

```
EXEC rdsadmin.rdsadmin_rman_util.enable_block_change_tracking;
```

L'exemple suivant désactive le suivi des modifications de bloc pour une instance de base de données.

```
EXEC rdsadmin.rdsadmin_rman_util.disable_block_change_tracking;
```

# Recoupement des journaux redo archivés
<a name="Appendix.Oracle.CommonDBATasks.Crosscheck"></a>

Vous pouvez recouper les journaux redo archivés en utilisant la procédure Amazon RDS `rdsadmin.rdsadmin_rman_util.crosscheck_archivelog`.

Vous pouvez utiliser cette procédure pour recouper les journaux redo archivés inscrits dans le fichier de contrôle et supprimer éventuellement les enregistrements de journaux ayant expiré. Quand RMAN effectue une sauvegarde, il crée un enregistrement dans le fichier de contrôle. Au fil du temps, ces enregistrements augmentent la taille du fichier de contrôle. Nous vous recommandons de supprimer périodiquement les enregistrements expirés.

**Note**  
Les sauvegardes Amazon RDS standard n'utilisent pas RMAN et ne créent donc pas d'enregistrement dans le fichier de contrôle.

Cette procédure utilise le paramètre courant `p_rman_to_dbms_output` pour les tâches RMAN.

Pour plus d'informations, consultez [Paramètres communs pour les procédures RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

Cette procédure utilise également le paramètre supplémentaire suivant.


****  

| Nom du paramètre | Type de données | Valeurs valides | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | --- | 
|  `p_delete_expired`  |  booléen  |  `TRUE`, `FALSE`  |  `TRUE`  |  Non  |  Lorsque la valeur est `TRUE`, supprimez les enregistrements de journaux redo archivés expirés du fichier de contrôle. Lorsque la valeur est `FALSE`, conservez les enregistrements de journaux redo archivés expirés dans le fichier de contrôle.   | 

Cette procédure est prise en charge pour les versions suivantes du moteur de base de données Amazon RDS for Oracle :
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c (19.0.0)

L'exemple suivant marque les enregistrements de journaux redo archivés dans le fichier de contrôle comme ayant expiré, mais ne les supprime pas.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.crosscheck_archivelog(
        p_delete_expired      => FALSE,  
        p_rman_to_dbms_output => FALSE);
END;
/
```

L'exemple suivant supprime les enregistrements de journaux redo archivés expirés du fichier de contrôle.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.crosscheck_archivelog(
        p_delete_expired      => TRUE,  
        p_rman_to_dbms_output => FALSE);
END;
/
```

# Sauvegarde des journaux de rétablissement archivés
<a name="Appendix.Oracle.CommonDBATasks.BackupArchivedLogs"></a>

Vous pouvez utiliser le package Amazon RDS `rdsadmin.rdsadmin_rman_util` pour sauvegarder les journaux redo archivés pour une instance de base de données Oracle Amazon RDS.

Les procédures de sauvegarde des journaux redo archivés sont prises en charge pour les versions suivantes du moteur de base de données Amazon RDS for Oracle :
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c (19.0.0)

**Topics**
+ [

## Sauvegarde de tous les journaux redo archivés
](#Appendix.Oracle.CommonDBATasks.BackupArchivedLogs.All)
+ [

## Sauvegarde d'un journal redo archivé à partir d'une plage de dates
](#Appendix.Oracle.CommonDBATasks.BackupArchivedLogs.Date)
+ [

## Sauvegarde d'un journal redo archivé à partir d'une plage de numéros SCN
](#Appendix.Oracle.CommonDBATasks.BackupArchivedLogs.SCN)
+ [

## Sauvegarde d'un journal redo archivé à partir d'une plage de numéros de séquence
](#Appendix.Oracle.CommonDBATasks.BackupArchivedLogs.Sequence)

## Sauvegarde de tous les journaux redo archivés
<a name="Appendix.Oracle.CommonDBATasks.BackupArchivedLogs.All"></a>

Pour sauvegarder tous les journaux redo archivés pour une instance de base de données Amazon RDS Oracle, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_rman_util.backup_archivelog_all`. 

Cette procédure utilise les paramètres courants suivants pour les tâches RMAN :
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_parallel`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

Pour plus d’informations, consultez [Paramètres communs pour les procédures RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

L'exemple suivant sauvegarde tous les journaux redo archivés pour l'instance de base de données.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_archivelog_all(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_parallel            => 4, 
        p_tag                 => 'MY_LOG_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

## Sauvegarde d'un journal redo archivé à partir d'une plage de dates
<a name="Appendix.Oracle.CommonDBATasks.BackupArchivedLogs.Date"></a>

Pour sauvegarder des journaux redo archivés spécifiques pour une instance de base de données Amazon RDS Oracle, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_rman_util.backup_archivelog_date`. La plage de dates indique quels journaux redo archivés sauvegarder. 

Cette procédure utilise les paramètres courants suivants pour les tâches RMAN :
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_parallel`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

Pour plus d’informations, consultez [Paramètres communs pour les procédures RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

Cette procédure utilise également les paramètres supplémentaires suivants.


****  

| Nom du paramètre | Type de données | Valeurs valides | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | --- | 
|  `p_from_date`  |  date  |  Date comprise entre `start_date` et `next_date` d'un journal redo archivé qui existe sur le disque. Cette valeur doit être inférieure ou égale à la valeur spécifiée pour `p_to_date`.  |  —  |  Oui  |  Date de début des sauvegardes des journaux archivés.  | 
|  `p_to_date`  |  date  |  Date comprise entre `start_date` et `next_date` d'un journal redo archivé qui existe sur le disque. Cette valeur doit être supérieure ou égale à la valeur spécifiée pour `p_from_date`.  |  —  |  Oui  |  Date de fin des sauvegardes des journaux archivés.  | 

L'exemple suivant sauvegarde les journaux redo archivés dans la plage de dates pour l'instance de base de données.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_archivelog_date(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_from_date           => '03/01/2019 00:00:00',
        p_to_date             => '03/02/2019 00:00:00',
        p_parallel            => 4,  
        p_tag                 => 'MY_LOG_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

## Sauvegarde d'un journal redo archivé à partir d'une plage de numéros SCN
<a name="Appendix.Oracle.CommonDBATasks.BackupArchivedLogs.SCN"></a>

Pour sauvegarder des journaux redo archivés spécifiques pour une instance de base de données Amazon RDS Oracle, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_rman_util.backup_archivelog_scn`. La plage de numéros SCN indique quels journaux redo archivés sauvegarder. 

Cette procédure utilise les paramètres courants suivants pour les tâches RMAN :
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_parallel`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

Pour plus d’informations, consultez [Paramètres communs pour les procédures RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

Cette procédure utilise également les paramètres supplémentaires suivants.


****  

| Nom du paramètre | Type de données | Valeurs valides | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | --- | 
|  `p_from_scn`  |  nombre  |  Numéro SCN d'un journal redo archivé qui existe sur le disque. Cette valeur doit être inférieure ou égale à la valeur spécifiée pour `p_to_scn`.  |  —  |  Oui  |  Numéro SCN de début des sauvegardes des journaux archivés.  | 
|  `p_to_scn`  |  nombre  |  Numéro SCN d'un journal redo archivé qui existe sur le disque. Cette valeur doit être supérieure ou égale à la valeur spécifiée pour `p_from_scn`.  |  —  |  Oui  |  Numéro SCN de fin des sauvegardes des journaux archivés.  | 

L'exemple suivant sauvegarde les journaux redo archivés dans la plage de numéros SCN pour l'instance de base de données.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_archivelog_scn(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_from_scn            => 1533835,
        p_to_scn              => 1892447,
        p_parallel            => 4,
        p_tag                 => 'MY_LOG_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

## Sauvegarde d'un journal redo archivé à partir d'une plage de numéros de séquence
<a name="Appendix.Oracle.CommonDBATasks.BackupArchivedLogs.Sequence"></a>

Pour sauvegarder des journaux redo archivés spécifiques pour une instance de base de données Amazon RDS Oracle, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_rman_util.backup_archivelog_sequence`. La plage de numéros de séquence indique quels journaux redo archivés sauvegarder. 

Cette procédure utilise les paramètres courants suivants pour les tâches RMAN :
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_parallel`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

Pour plus d’informations, consultez [Paramètres communs pour les procédures RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

Cette procédure utilise également les paramètres supplémentaires suivants.


****  

| Nom du paramètre | Type de données | Valeurs valides | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | --- | 
|  `p_from_sequence`  |  nombre  |  Numéro de séquence d'un journal redo archivé qui existe sur le disque. Cette valeur doit être inférieure ou égale à la valeur spécifiée pour `p_to_sequence`.  |  —  |  Oui  |  Numéro de séquence de début des sauvegardes des journaux archivés.  | 
|  `p_to_sequence`  |  nombre  |  Numéro de séquence d'un journal redo archivé qui existe sur le disque. Cette valeur doit être supérieure ou égale à la valeur spécifiée pour `p_from_sequence`.  |  —  |  Oui  |  Numéro de séquence de fin des sauvegardes des journaux archivés.  | 

L'exemple suivant sauvegarde les journaux redo archivés dans la plage de numéros de séquence pour l'instance de base de données.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_archivelog_sequence(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_from_sequence       => 11160,
        p_to_sequence         => 11160,
        p_parallel            => 4,  
        p_tag                 => 'MY_LOG_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

# Réalisation d'une sauvegarde complète de base de données
<a name="Appendix.Oracle.CommonDBATasks.BackupDatabaseFull"></a>

Vous pouvez effectuer une sauvegarde de tous les blocs de fichiers de données inclus dans la sauvegarde en utilisant la procédure Amazon RDS `rdsadmin.rdsadmin_rman_util.backup_database_full`.

Cette procédure utilise les paramètres courants suivants pour les tâches RMAN :
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_include_archive_logs`
+ `p_optimize`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

Pour plus d'informations, consultez [Paramètres communs pour les procédures RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

Cette procédure est prise en charge pour les versions suivantes du moteur de base de données Amazon RDS for Oracle :
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c (19.0.0)

L'exemple suivant effectue une sauvegarde complète de l'instance de base de données à l'aide des valeurs spécifiées pour les paramètres.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_database_full(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_parallel            => 4,  
        p_section_size_mb     => 10,
        p_tag                 => 'FULL_DB_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

# Réalisation d'une sauvegarde complète d'une base de données locataire
<a name="Appendix.Oracle.CommonDBATasks.BackupTenantDatabaseFull"></a>

Vous pouvez effectuer une sauvegarde de tous les blocs de données inclus dans une base de données locataire dans une base de données de conteneur (CDB). Utiliser la procédure Amazon RDS `rdsadmin.rdsadmin_rman_util.backup_tenant_full`. Cette procédure s'applique uniquement à la sauvegarde de la base de données actuelle et utilise les paramètres courants suivants pour les tâches RMAN :
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_include_archive_logs`
+ `p_optimize`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

Pour de plus amples informations, veuillez consulter [Paramètres communs pour les procédures RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

La procédure `rdsadmin_rman_util.backup_tenant_full` est prise en charge pour les versions suivantes du moteur de base de données RDS for Oracle :
+ CDB Oracle Database 21c (21.0.0)
+ CDB Oracle Database 19c (19.0.0)

L'exemple suivant effectue une sauvegarde complète de la base de données locataire actuelle à l'aide des valeurs spécifiées pour les paramètres.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_tenant_full(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_parallel            => 4,  
        p_section_size_mb     => 10,
        p_tag                 => 'FULL_TENANT_DB_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

# Réalisation d'une sauvegarde incrémentielle de base de données
<a name="Appendix.Oracle.CommonDBATasks.BackupDatabaseIncremental"></a>

Vous pouvez effectuer une sauvegarde incrémentielle de votre instance de base de données en utilisant la procédure Amazon RDS `rdsadmin.rdsadmin_rman_util.backup_database_incremental`.

Pour de plus amples informations sur les sauvegardes incrémentielles, veuillez consulter [Incremental Backups](https://docs.oracle.com/database/121/RCMRF/rcmsynta006.htm#GUID-73642FF2-43C5-48B2-9969-99001C52EB50__BGBHABHH) dans la documentation Oracle.

Cette procédure utilise les paramètres courants suivants pour les tâches RMAN :
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_include_archive_logs`
+ `p_include_controlfile`
+ `p_optimize`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

Pour plus d'informations, consultez [Paramètres communs pour les procédures RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

Cette procédure est prise en charge pour les versions suivantes du moteur de base de données Amazon RDS for Oracle :
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c (19.0.0)

Cette procédure utilise également le paramètre supplémentaire suivant.


****  

| Nom du paramètre | Type de données | Valeurs valides | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | --- | 
|  `p_level`  |  nombre  |  `0`, `1`  |  `0`  |  Non  |  Spécifiez `0` pour activer une sauvegarde incrémentielle complète. Spécifiez `1` pour activer une sauvegarde incrémentielle non cumulative.  | 

L'exemple suivant effectue une sauvegarde incrémentielle de l'instance de base de données à l'aide des valeurs spécifiées pour les paramètres.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_database_incremental(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_level               => 1,
        p_parallel            => 4,  
        p_section_size_mb     => 10,
        p_tag                 => 'MY_INCREMENTAL_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

# Réalisation d'une sauvegarde incrémentielle d'une base de données locataire
<a name="Appendix.Oracle.CommonDBATasks.BackupTenantDatabaseIncremental"></a>

Vous pouvez effectuer une sauvegarde incrémentielle de la base de données locataire actuelle dans votre CDB. Utiliser la procédure Amazon RDS `rdsadmin.rdsadmin_rman_util.backup_tenant_incremental`.

Pour de plus amples informations sur les sauvegardes incrémentielles, consultez [Incremental Backups](https://docs.oracle.com/database/121/RCMRF/rcmsynta006.htm#GUID-73642FF2-43C5-48B2-9969-99001C52EB50__BGBHABHH) dans la documentation Oracle Database.

Cette procédure s'applique uniquement à la base de données locataire actuelle et utilise les paramètres courants suivants pour les tâches RMAN :
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_include_archive_logs`
+ `p_include_controlfile`
+ `p_optimize`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

Pour de plus amples informations, consultez [Paramètres communs pour les procédures RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

Cette procédure est prise en charge pour les versions suivantes du moteur de base de données Amazon RDS for Oracle :
+ CDB Oracle Database 21c (21.0.0)
+ CDB Oracle Database 19c (19.0.0)

Cette procédure utilise également le paramètre supplémentaire suivant.


****  

| Nom du paramètre | Type de données | Valeurs valides | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | --- | 
|  `p_level`  |  nombre  |  `0`, `1`  |  `0`  |  Non  |  Spécifiez `0` pour activer une sauvegarde incrémentielle complète. Spécifiez `1` pour activer une sauvegarde incrémentielle non cumulative.  | 

L'exemple suivant effectue une sauvegarde incrémentielle de la base de données locataire actuelle à l'aide des valeurs spécifiées pour les paramètres.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_tenant_incremental(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_level               => 1,
        p_parallel            => 4,  
        p_section_size_mb     => 10,
        p_tag                 => 'MY_INCREMENTAL_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

# Sauvegarde d'un espace de table
<a name="Appendix.Oracle.CommonDBATasks.BackupTablespace"></a>

Vous pouvez sauvegarder un espace de table en utilisant la procédure Amazon RDS `rdsadmin.rdsadmin_rman_util.backup_tablespace`.

Cette procédure utilise les paramètres courants suivants pour les tâches RMAN :
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_include_archive_logs`
+ `p_include_controlfile`
+ `p_optimize`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

Pour plus d'informations, consultez [Paramètres communs pour les procédures RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

Cette procédure utilise également le paramètre supplémentaire suivant.


****  

| Nom du paramètre | Type de données | Valeurs valides | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | --- | 
|  `p_tablespace_name`  |  varchar2  |  Nom d'espace de table valide.  |  —  |  Oui  |  Nom de l'espace de table à sauvegarder.  | 

Cette procédure est prise en charge pour les versions suivantes du moteur de base de données Amazon RDS for Oracle :
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c (19.0.0)

L'exemple suivant effectue une sauvegarde d'espace de table à l'aide des valeurs spécifiées pour les paramètres.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_tablespace(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_tablespace_name     => 'MYTABLESPACE',
        p_parallel            => 4,  
        p_section_size_mb     => 10,
        p_tag                 => 'MYTABLESPACE_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

# Sauvegarde d'un fichier de contrôle
<a name="Appendix.Oracle.CommonDBATasks.backup-control-file"></a>

Vous pouvez sauvegarder un fichier de contrôle en utilisant la procédure Amazon RDS `rdsadmin.rdsadmin_rman_util.backup_current_controlfile`.

Cette procédure utilise les paramètres courants suivants pour les tâches RMAN :
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

Pour plus d'informations, consultez [Paramètres communs pour les procédures RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

Cette procédure est prise en charge pour les versions suivantes du moteur de base de données Amazon RDS for Oracle :
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c (19.0.0)

L'exemple suivant sauvegarde un fichier de contrôle à l'aide des valeurs spécifiées pour les paramètres.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_current_controlfile(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_tag                 => 'CONTROL_FILE_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

# Exécution de la récupération de supports par blocs
<a name="Appendix.Oracle.CommonDBATasks.block-media-recovery"></a>

Vous pouvez récupérer des blocs de données individuels, ce que l’on appelle la récupération de supports par blocs, à l’aide des procédures `rdsadmin.rdsadmin_rman_util.recover_datafile_block` Amazon RDS. Vous pouvez utiliser cette procédure surchargée pour récupérer un bloc de données individuel ou une série de blocs de données.

Cette procédure utilise le paramètre courant suivant pour les tâches RMAN :
+ `p_rman_to_dbms_output`

Pour plus d’informations, consultez [Paramètres communs pour les procédures RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

Cette procédure utilise les paramètres supplémentaires suivants.


****  

| Nom du paramètre | Type de données | Valeurs valides | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | --- | 
|  `p_datafile`  |  `NUMBER`  |  Numéro d’identification de fichier de données valide.  |  —  |  Oui  |  Le fichier de données contenant les blocs corrompus. Spécifiez le fichier de données de l’une des manières suivantes : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.block-media-recovery.html)  | 
|  `p_block`  |  `NUMBER`  |  Entier valide.  |  —  |  Oui  |  Le numéro d’un bloc individuel à récupérer. Les paramètres suivants s’excluent mutuellement : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.block-media-recovery.html)  | 
|  `p_from_block`  |  `NUMBER`  |  Entier valide.  |  —  |  Oui  |  Le premier numéro de bloc d’une plage de blocs à récupérer. Les paramètres suivants s’excluent mutuellement : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.block-media-recovery.html)  | 
|  `p_to_block`  |  `NUMBER`  |  Entier valide.  |  —  |  Oui  |  Le dernier numéro de bloc d’une plage de blocs à récupérer. Les paramètres suivants s’excluent mutuellement : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.block-media-recovery.html)  | 

Cette procédure est prise en charge pour les versions suivantes du moteur de base de données Amazon RDS for Oracle :
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c (19.0.0)

L’exemple suivant permet de récupérer le bloc 100 dans le fichier de données 5.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.recover_datafile_block(
        p_datafile            => 5, 
        p_block               => 100,
        p_rman_to_dbms_output => TRUE);
END;
/
```

L’exemple suivant permet de récupérer les blocs 100 à 150 dans le fichier de données 5.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.recover_datafile_block(
        p_datafile            => 5, 
        p_from_block          => 100,
        p_to_block            => 150,
        p_rman_to_dbms_output => TRUE);
END;
/
```

# Exécution des tâches de planification courantes pour les instances de base de données Oracle
<a name="Appendix.Oracle.CommonDBATasks.Scheduler"></a>

Certaines tâches Oracle Scheduler détenues par `SYS` peuvent interférer avec les opérations de base de données normales. Dans de tels cas, Oracle Support vous recommande de modifier le calendrier. Si vous devez activer ou désactiver des tâches `SYS`, testez le fonctionnement sur des tâches planifiées dans un environnement de test avant de l’implémenter dans un environnement de production. Utilisez le package Amazon RDS `rdsadmin.rdsadmin_dbms_scheduler` pour effectuer des tâches pour les tâches Oracle Scheduler détenues par `SYS`.

Les procédures `rdsadmin.rdsadmin_dbms_scheduler` sont prises en charge pour les versions du moteur de base de données Amazon RDS for Oracle indiqué dans le tableau suivant. Lorsque vous utilisez ce package, vous pouvez spécifier les tâches `SYS` répertoriées dans le tableau.


| Version de base de données | Tâches activées par défaut. | Tâches désactivés par défaut. | 
| --- | --- | --- | 
| Oracle Database 19c |  <pre>BSLN_MAINTAIN_STATS_JOB<br />CLEANUP_NON_EXIST_OBJ<br />CLEANUP_ONLINE_IND_BUILD<br />CLEANUP_ONLINE_PMO<br />CLEANUP_TAB_IOT_PMO<br />CLEANUP_TRANSIENT_PKG<br />CLEANUP_TRANSIENT_TYPE<br />DRA_REEVALUATE_OPEN_FAILURES<br />FILE_SIZE_UPD<br />ORA$AUTOTASK_CLEAN<br />PMO_DEFERRED_GIDX_MAINT_JOB<br />PURGE_LOG<br />RSE$CLEAN_RECOVERABLE_SCRIPT<br />SM$CLEAN_AUTO_SPLIT_MERGE</pre>  |  <pre>FGR$AUTOPURGE_JOB<br />FILE_WATCHER<br />HM_CREATE_OFFLINE_DICTIONARY<br />LOAD_OPATCH_INVENTORY<br />ORA$PREPLUGIN_BACKUP_JOB<br />XMLDB_NFS_CLEANUP_JOB</pre>  | 
| Oracle Database 21c |  <pre>BSLN_MAINTAIN_STATS_JOB<br />CLEANUP_NON_EXIST_OBJ<br />CLEANUP_ONLINE_IND_BUILD<br />CLEANUP_ONLINE_PMO<br />CLEANUP_TAB_IOT_PMO<br />CLEANUP_TRANSIENT_PKG<br />CLEANUP_TRANSIENT_TYPE<br />DRA_REEVALUATE_OPEN_FAILURES<br />FILE_SIZE_UPD<br />ORA$AUTOTASK_CLEAN<br />PMO_DEFERRED_GIDX_MAINT_JOB<br />PURGE_LOG</pre>  |  <pre>FGR$AUTOPURGE_JOB<br />FILE_WATCHER<br />HM_CREATE_OFFLINE_DICTIONARY<br />LOAD_OPATCH_INVENTORY<br />ORA$PREPLUGIN_BACKUP_JOB<br />ORA$_ATSK_AUTOSTS<br />XMLDB_NFS_CLEANUP_JOB</pre>  | 

## Paramètres communs pour les procédures d'Oracle Scheduler
<a name="Appendix.Oracle.CommonDBATasks.Scheduler.CommonParameters"></a>

Pour effectuer des tâches avec Oracle Scheduler, utilisez les procédures du package Amazon RDS `rdsadmin.rdsadmin_dbms_scheduler`. Plusieurs paramètres sont communs aux procédures figurant dans le package. Le package possède les paramètres communs suivants.


****  

| Nom du paramètre | Type de données | Valeurs valides | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | --- | 
|  `name`  |  varchar2  |  Les procédures répertoriées dans le tableau de [Exécution des tâches de planification courantes pour les instances de base de données Oracle](#Appendix.Oracle.CommonDBATasks.Scheduler)   |  —  |  Oui  |  Nom du travail à modifier.  | 
|  `attribute`  |  varchar2  |  `'REPEAT_INTERVAL'`,`'SCHEDULE_NAME'`  |  –  |  Oui  |  Attribut à modifier. Pour modifier l'intervalle de répétition du travail, spécifiez `'REPEAT_INTERVAL'`. Pour modifier le nom de planification du travail, spécifiez `'SCHEDULE_NAME'`.  | 
|  `value`  |  varchar2  |  Intervalle ou nom de planification valide, selon l'attribut utilisé.  |  –  |  Oui  |  Nouvelle valeur de l'attribut.  | 

## Modification des travaux DBMS\$1SCHEDULER
<a name="Appendix.Oracle.CommonDBATasks.ModifyScheduler"></a>

Utilisez la procédure Oracle `dbms_scheduler.set_attribute` pour modifier certains composants d'Oracle Scheduler. Pour plus d’informations, consultez [DBMS\$1SCHEDULER](https://docs.oracle.com/database/121/ARPLS/d_sched.htm#ARPLS72235) et la [procédure SET\$1ATTRIBUTE](https://docs.oracle.com/database/121/ARPLS/d_sched.htm#ARPLS72399) dans la documentation Oracle. 

Lorsque vous utilisez des instances de base de données Amazon RDS, ajoutez le nom du schéma `SYS` au début du nom de l'objet. L'exemple suivant définit l'attribut du plan de la ressource pour l'objet monday window.

```
BEGIN
    DBMS_SCHEDULER.SET_ATTRIBUTE(
        name      => 'SYS.MONDAY_WINDOW',
        attribute => 'RESOURCE_PLAN',
        value     => 'resource_plan_1');
END;
/
```

## Modification des fenêtres AutoTask de maintenance
<a name="Appendix.Oracle.CommonDBATasks.Scheduler.maintenance-windows"></a>

Les instances Amazon RDS for Oracle sont créées avec les paramètres par défaut pour les fenêtres de maintenance. Les tâches de maintenance automatisées, telles que la collecte de statistiques de l'optimiseur, s'exécutent lors de ces fenêtres. Par défaut, les fenêtres de maintenance activent le gestionnaire de ressources Oracle Database.

Pour modifier la fenêtre, utilisez le package `DBMS_SCHEDULER`. Vous devrez peut-être modifier les paramètres de la fenêtre de maintenance pour les raisons suivantes :
+ Vous voulez que les tâches de maintenance s'exécutent à un moment différent, avec des paramètres différents, ou pas du tout. Par exemple, vous souhaitez modifier la durée de la fenêtre ou modifier l'heure et l'intervalle de répétition.
+ Vous souhaitez éviter les répercussions sur les performances de l'activation du gestionnaire de ressources pendant la maintenance. Par exemple, si le plan de maintenance par défaut est spécifié et si la fenêtre de maintenance s'ouvre alors que la base de données est en cours de chargement, des événements d'attente tels que `resmgr:cpu quantum` peuvent apparaître. Cet événement d'attente est lié au gestionnaire de ressources de base de données. Vous avez les options suivantes :
  + Vérifiez que les fenêtres de maintenance sont actives pendant les heures creuses pour votre instance de base de données.
  + Désactivez le plan de maintenance par défaut en réglant l'attribut `resource_plan` sur une chaîne vide.
  + Définissez le paramètre `resource_manager_plan` de votre groupe de paramètres sur `FORCE:`. Si votre instance utilise Enterprise Edition, ce paramètre empêche l'activation des plans du gestionnaire de ressources de base de données.

**Pour modifier les paramètres de votre fenêtre de maintenance**

1. Connectez-vous à votre base de données à l'aide d'un client SQL Oracle.

1. Interrogez la configuration actuelle pour une fenêtre de planificateur. 

   L'exemple suivant interroge la configuration pour `MONDAY_WINDOW`.

   ```
   SELECT ENABLED, RESOURCE_PLAN, DURATION, REPEAT_INTERVAL
   FROM   DBA_SCHEDULER_WINDOWS 
   WHERE  WINDOW_NAME='MONDAY_WINDOW';
   ```

   La sortie suivante indique que la fenêtre utilise les valeurs par défaut.

   ```
   ENABLED         RESOURCE_PLAN                  DURATION         REPEAT_INTERVAL
   --------------- ------------------------------ ---------------- ------------------------------
   TRUE            DEFAULT_MAINTENANCE_PLAN       +000 04:00:00    freq=daily;byday=MON;byhour=22
                                                                   ;byminute=0; bysecond=0
   ```

1. Modifiez la fenêtre à l'aide du package `DBMS_SCHEDULER`.

   L'exemple suivant définit le plan de ressources sur null, afin que le gestionnaire de ressources ne s'exécute pas pendant la fenêtre de maintenance.

   ```
   BEGIN
     -- disable the window to make changes
     DBMS_SCHEDULER.DISABLE(name=>'"SYS"."MONDAY_WINDOW"',force=>TRUE);
   
     -- specify the empty string to use no plan
     DBMS_SCHEDULER.SET_ATTRIBUTE(name=>'"SYS"."MONDAY_WINDOW"', attribute=>'RESOURCE_PLAN', value=>'');
   
     -- re-enable the window
     DBMS_SCHEDULER.ENABLE(name=>'"SYS"."MONDAY_WINDOW"');
   END;
   /
   ```

   L'exemple suivant définit la durée maximale de la fenêtre sur 2 heures.

   ```
   BEGIN
     DBMS_SCHEDULER.DISABLE(name=>'"SYS"."MONDAY_WINDOW"',force=>TRUE);
     DBMS_SCHEDULER.SET_ATTRIBUTE(name=>'"SYS"."MONDAY_WINDOW"', attribute=>'DURATION', value=>'0 2:00:00');
     DBMS_SCHEDULER.ENABLE(name=>'"SYS"."MONDAY_WINDOW"');
   END;
   /
   ```

   L'exemple suivant définit l'intervalle de répétition sur tous les lundis, à 10 heures.

   ```
   BEGIN
     DBMS_SCHEDULER.DISABLE(name=>'"SYS"."MONDAY_WINDOW"',force=>TRUE);
     DBMS_SCHEDULER.SET_ATTRIBUTE(name=>'"SYS"."MONDAY_WINDOW"', attribute=>'REPEAT_INTERVAL', value=>'freq=daily;byday=MON;byhour=10;byminute=0;bysecond=0');
     DBMS_SCHEDULER.ENABLE(name=>'"SYS"."MONDAY_WINDOW"');
   END;
   /
   ```

## Définition du fuseau horaire pour les tâches d'Oracle Scheduler
<a name="Appendix.Oracle.CommonDBATasks.Scheduler.TimeZone"></a>

Pour modifier le fuseau horaire d'Oracle Scheduler, vous pouvez utiliser la procédure Oracle `dbms_scheduler.set_scheduler_attribute`. Pour plus d’informations sur le package `dbms_scheduler`, consultez [DBMS\$1SCHLENDER](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_SCHEDULER.html) et [SET\$1SCHENDER\$1ATTRIBUTE](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_SCHEDULER.html#GUID-2AB97BF7-7154-4E6C-933F-B2659B18A907) dans la documentation Oracle.

**Pour modifier le paramètre de fuseau horaire actuel**

1. Connectez-vous à la base de données à l'aide d'un client tel que SQL Developer. Pour plus d'informations, consultez [Connexion à votre instance de base de données à l'aide d'Oracle SQL Developer](USER_ConnectToOracleInstance.SQLDeveloper.md).

1. Définissez le fuseau horaire par défaut comme suit, en remplaçant votre fuseau horaire par `time_zone_name`.

   ```
   BEGIN
     DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE(
       attribute => 'default_timezone',
       value => 'time_zone_name'
     );
   END;
   /
   ```

Dans l'exemple suivant, vous changez le fuseau horaire pour Asia/Shanghai. 

Commencez par interroger le fuseau horaire actuel, comme indiqué ci-dessous.

```
SELECT VALUE FROM DBA_SCHEDULER_GLOBAL_ATTRIBUTE WHERE ATTRIBUTE_NAME='DEFAULT_TIMEZONE';
```

La sortie indique que le fuseau horaire actuel est ETC/UTC.

```
VALUE
-------
Etc/UTC
```

Ensuite, vous définissez le fuseau horaire sur Asia/Shanghai.

```
BEGIN
  DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE(
    attribute => 'default_timezone',
    value => 'Asia/Shanghai'
  );
END;
/
```

Pour plus d'informations sur la modification du fuseau horaire système, consultez [Fuseau horaire Oracle](Appendix.Oracle.Options.Timezone.md).

## Désactivation de travaux Oracle Scheduler détenus par SYS
<a name="Appendix.Oracle.CommonDBATasks.Scheduler.Disabling"></a>

Pour désactiver un travail Oracle Scheduler détenu par l'utilisateur SYS, utilisez la procédure `rdsadmin.rdsadmin_dbms_scheduler.disable`. 

Cette procédure utilise le paramètre commun `name` pour les tâches Oracle Scheduler. Pour plus d'informations, consultez [Paramètres communs pour les procédures d'Oracle Scheduler](#Appendix.Oracle.CommonDBATasks.Scheduler.CommonParameters).

L'exemple suivant désactive le travail Oracle Scheduler `SYS.CLEANUP_ONLINE_IND_BUILD`.

```
BEGIN
   rdsadmin.rdsadmin_dbms_scheduler.disable('SYS.CLEANUP_ONLINE_IND_BUILD');
END;
/
```

## Activation de travaux Oracle Scheduler détenus par SYS
<a name="Appendix.Oracle.CommonDBATasks.Scheduler.Enabling"></a>

Pour activer un travail Oracle Scheduler détenu par SYS, utilisez la procédure `rdsadmin.rdsadmin_dbms_scheduler.enable`.

Cette procédure utilise le paramètre commun `name` pour les tâches Oracle Scheduler. Pour plus d'informations, consultez [Paramètres communs pour les procédures d'Oracle Scheduler](#Appendix.Oracle.CommonDBATasks.Scheduler.CommonParameters).

L'exemple suivant active le travail Oracle Scheduler `SYS.CLEANUP_ONLINE_IND_BUILD`.

```
BEGIN
   rdsadmin.rdsadmin_dbms_scheduler.enable('SYS.CLEANUP_ONLINE_IND_BUILD');
END;
/
```

## Modification de l'intervalle de répétition Oracle Scheduler pour les travaux du type CALENDAR
<a name="Appendix.Oracle.CommonDBATasks.Scheduler.Modifying_Calendar"></a>

Pour modifier l'intervalle de répétition d'un travail Oracle Scheduler relevant de SYS de type `CALENDAR`, utilisez la procédure `rdsadmin.rdsadmin_dbms_scheduler.disable`.

Cette procédure utilise les paramètres communs suivants pour les tâches Oracle Scheduler :
+ `name`
+ `attribute`
+ `value`

Pour plus d'informations, consultez [Paramètres communs pour les procédures d'Oracle Scheduler](#Appendix.Oracle.CommonDBATasks.Scheduler.CommonParameters).

L'exemple suivant modifier l'intervalle de répétition du travail Oracle Scheduler `SYS.CLEANUP_ONLINE_IND_BUILD`.

```
BEGIN
     rdsadmin.rdsadmin_dbms_scheduler.set_attribute(
          name      => 'SYS.CLEANUP_ONLINE_IND_BUILD', 
          attribute => 'repeat_interval', 
          value     => 'freq=daily;byday=FRI,SAT;byhour=20;byminute=0;bysecond=0');
END;
/
```

## Modification de l'intervalle de répétition Oracle Scheduler pour les travaux du type NAMED
<a name="Appendix.Oracle.CommonDBATasks.Scheduler.Modifying_Named"></a>

Certains travaux Oracle Scheduler utilisent non pas un intervalle, mais un nom de planification. Pour ce type de travaux, vous devez créer une planification nommée dans le schéma d'utilisateur principal. Pour cela, utilisez la procédure Oracle standard `sys.dbms_scheduler.create_schedule`. De même, utilisez `rdsadmin.rdsadmin_dbms_scheduler.set_attribute procedure` pour affecter la nouvelle planification nommée à la tâche. 

Cette procédure utilise le paramètre commun suivant pour les tâches Oracle Scheduler :
+ `name`
+ `attribute`
+ `value`

Pour plus d'informations, consultez [Paramètres communs pour les procédures d'Oracle Scheduler](#Appendix.Oracle.CommonDBATasks.Scheduler.CommonParameters).

L'exemple suivant modifier l'intervalle de répétition du travail Oracle Scheduler `SYS.BSLN_MAINTAIN_STATS_JOB`.

```
BEGIN
     DBMS_SCHEDULER.CREATE_SCHEDULE (
          schedule_name   => 'rds_master_user.new_schedule',
          start_date      => SYSTIMESTAMP,
          repeat_interval => 'freq=daily;byday=MON,TUE,WED,THU,FRI;byhour=0;byminute=0;bysecond=0',
          end_date        => NULL,
          comments        => 'Repeats daily forever');
END;
/
 
BEGIN
     rdsadmin.rdsadmin_dbms_scheduler.set_attribute (
          name      => 'SYS.BSLN_MAINTAIN_STATS_JOB', 
          attribute => 'schedule_name',
          value     => 'rds_master_user.new_schedule');
END;
/
```

## Désactivation de la validation automatique pour la création de travaux Oracle Scheduler
<a name="Appendix.Oracle.CommonDBATasks.Scheduler.autocommit"></a>

Quand `DBMS_SCHEDULER.CREATE_JOB` crée des travaux Oracle Scheduler, il les crée immédiatement et valide les modifications. Vous devrez peut-être intégrer la création de travaux Oracle Scheduler dans la transaction utilisateur pour effectuer les opérations suivantes :
+ Annuler le travail Oracle Scheduler lorsque la transaction utilisateur est annulée.
+ Créer la tâche Oracle Scheduler lorsque la transaction utilisateur principale est validée.

Vous pouvez utiliser la procédure `rdsadmin.rdsadmin_dbms_scheduler.set_no_commit_flag` pour activer ce comportement. Cette procédure ne prend aucun paramètre. Vous pouvez utiliser cette procédure dans les versions suivantes de RDS for Oracle :
+ 21.0.0.0.ru-2022-07.rur-2022-07.r1 et versions ultérieures
+ 19.0.0.0.ru-2022-07.rur-2022-07.r1 et versions ultérieures

L'exemple suivant désactive la validation automatique pour Oracle Scheduler, crée un travail Oracle Scheduler, puis annule la transaction. Comme la validation automatique est désactivée, la base de données annule également la création du travail Oracle Scheduler.

```
BEGIN
  rdsadmin.rdsadmin_dbms_scheduler.set_no_commit_flag;
  DBMS_SCHEDULER.CREATE_JOB(job_name   => 'EMPTY_JOB', 
                            job_type   => 'PLSQL_BLOCK', 
                            job_action => 'begin null; end;',
                            auto_drop  => false);
  ROLLBACK;
END;
/

PL/SQL procedure successfully completed.

SELECT * FROM DBA_SCHEDULER_JOBS WHERE JOB_NAME='EMPTY_JOB';

no rows selected
```

# Diagnostic des problèmes liés à RDS pour les instances de base de données Oracle
<a name="Appendix.Oracle.CommonDBATasks.Diagnostics"></a>

Oracle Database inclut une infrastructure de diagnostic des pannes que vous pouvez utiliser pour analyser les problèmes de base de données. Dans la terminologie Oracle, un *problème* est une erreur critique, par exemple, un bogue de code ou une corruption de données. Un *incident* est la survenue d'un problème. Si la même erreur se produit trois fois, l'infrastructure affiche trois incidents de ce problème. Pour plus d’informations, consultez [Diagnostic et résolution de problèmes](https://docs.oracle.com/en/database/oracle/oracle-database/19/admin/diagnosing-and-resolving-problems.html#GUID-8DEB1BE0-8FB9-4FB2-A19A-17CF6F5791C3) dans la documentation Oracle Database.

L'utilitaire ADRCI (Automatic Diagnostic Repository Command Interpreter) est un outil de ligne de commande Oracle qui vous permet de gérer les données de diagnostic. Par exemple, vous pouvez utiliser cet outil pour analyser les problèmes et regrouper les données de diagnostic. Un *package d'incidents* inclut les données de diagnostic d'un incident ou de tous les incidents qui se rapportent à un problème spécifique. Vous pouvez charger un package d'incidents, qui est implémenté en tant que fichier .zip, vers le support Oracle.

Pour offrir une expérience de service géré, Amazon RDS ne fournit pas l'accès shell à ADRCI. Pour effectuer des tâches de diagnostic pour votre instance de base de données RDS for Oracle, utilisez plutôt le package Amazon RDS `rdsadmin.rdsadmin_adrci_util`.

Grâce aux fonctions incluses dans `rdsadmin_adrci_util`, vous pouvez répertorier et regrouper les problèmes et les incidents, et également afficher les fichiers de trace. Toutes les fonctions renvoient un ID de tâche. Cet ID fait partie du nom du fichier journal qui contient la sortie ADRCI, comme dans `dbtask-task_id.log`. Le fichier journal réside dans le répertoire BDUMP. Vous pouvez télécharger le fichier journal à l’aide de la procédure suivante décrite dans [Téléchargement d'un fichier journal de base de données](USER_LogAccess.Procedural.Downloading.md).

## Paramètres courants pour les procédures de diagnostic
<a name="Appendix.Oracle.CommonDBATasks.CommonDiagParameters"></a>

Pour effectuer des tâches de diagnostic, utilisez les fonctions du package Amazon RDS `rdsadmin.rdsadmin_adrci_util`. Le package possède les paramètres communs suivants.


****  

| Nom du paramètre | Type de données | Valeurs valides | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | --- | 
|  `incident_id`  |  nombre  |  Un ID d'incident valide ou null   |  Null  |  Non  |  Si la valeur est null, la fonction affiche tous les incidents. Si la valeur n'est pas null et représente un ID d'incident valide, la fonction affiche l'incident spécifié.   | 
|  `problem_id`  |  nombre  |  Un ID de problème valide ou null  |  Null  |  Non  |  Si la valeur est null, la fonction affiche tous les problèmes. Si la valeur n'est pas null et représente un ID de problème valide, la fonction affiche le problème spécifié.  | 
|  `last`  |  nombre  |  Un entier valide supérieur à 0 ou null  |  Null  |  Non  |  Si la valeur est null, la fonction affiche au maximum 50 éléments. Si la valeur n'est pas null, la fonction affiche le nombre spécifié.  | 

## Répertorier les incidents
<a name="Appendix.Oracle.CommonDBATasks.Incidents"></a>

Pour répertorier les incidents de diagnostic pour Oracle, utilisez la fonction Amazon RDS `rdsadmin.rdsadmin_adrci_util.list_adrci_incidents`. Vous pouvez répertorier les incidents en mode basique ou détaillé. Par défaut, la fonction répertorie les 50 incidents les plus récents.

Cette fonction utilise les paramètres communs suivants :
+  `incident_id`
+  `problem_id`
+  `last`

Si vous spécifiez `incident_id` et `problem_id`, alors `incident_id` remplace `problem_id`. Pour de plus amples informations, veuillez consulter [Paramètres courants pour les procédures de diagnostic](#Appendix.Oracle.CommonDBATasks.CommonDiagParameters).

Cette fonction utilise le paramètre supplémentaire suivant.


****  

| Nom du paramètre | Type de données | Valeurs valides | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | --- | 
|  `detail`  |  booléen  | TRUE ou FALSE |  `FALSE`  |  Non  |  Si `TRUE`, la fonction répertorie les incidents en mode détail. Si `FALSE`, la fonction répertorie les incidents en mode basique.  | 

Pour répertorier tous les incidents, effectuez une requête à la fonction `rdsadmin.rdsadmin_adrci_util.list_adrci_incidents` sans aucun argument. La requête renvoie l'ID de tâche.

```
SQL> SELECT rdsadmin.rdsadmin_adrci_util.list_adrci_incidents AS task_id FROM DUAL;

TASK_ID
------------------
1590786706158-3126
```

Ou appelez la fonction `rdsadmin.rdsadmin_adrci_util.list_adrci_incidents` sans aucun argument et stockez la sortie dans une variable client SQL. Vous pouvez utiliser la variable dans d'autres instructions.

```
SQL> VAR task_id VARCHAR2(80);
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.list_adrci_incidents;

PL/SQL procedure successfully completed.
```

Pour lire le fichier journal, appelez la procédure Amazon RDS `rdsadmin.rds_file_util.read_text_file`. Indiquez l'ID de tâche dans le nom du fichier. La sortie suivante montre trois incidents : 53523, 53522 et 53521.

```
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log'));

TEXT
-------------------------------------------------------------------------------------------------------------------------
2020-05-29 21:11:46.193 UTC [INFO ] Listing ADRCI incidents.
2020-05-29 21:11:46.256 UTC [INFO ]
ADR Home = /rdsdbdata/log/diag/rdbms/orcl_a/ORCL:
*************************************************************************
INCIDENT_ID PROBLEM_KEY                                                 CREATE_TIME
----------- ----------------------------------------------------------- ----------------------------------------
53523       ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_003 2020-05-29 20:15:20.928000 +00:00
53522       ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_002 2020-05-29 20:15:15.247000 +00:00
53521       ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_001 2020-05-29 20:15:06.047000 +00:00
3 rows fetched


2020-05-29 21:11:46.256 UTC [INFO ] The ADRCI incidents were successfully listed.
2020-05-29 21:11:46.256 UTC [INFO ] The task finished successfully.

14 rows selected.
```

Pour répertorier un incident particulier, spécifiez son ID à l'aide du paramètre `incident_id`. Dans l'exemple suivant, vous interroger le fichier journal pour l'incident 53523 uniquement.

```
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.list_adrci_incidents(incident_id=>53523);

PL/SQL procedure successfully completed.

SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log'));

TEXT
------------------------------------------------------------------------------------------------------------------
2020-05-29 21:15:25.358 UTC [INFO ] Listing ADRCI incidents.
2020-05-29 21:15:25.426 UTC [INFO ]
ADR Home = /rdsdbdata/log/diag/rdbms/orcl_a/ORCL:
*************************************************************************
INCIDENT_ID          PROBLEM_KEY                                                 CREATE_TIME
-------------------- ----------------------------------------------------------- ---------------------------------
53523                ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_003 2020-05-29 20:15:20.928000 +00:00
1 rows fetched


2020-05-29 21:15:25.427 UTC [INFO ] The ADRCI incidents were successfully listed.
2020-05-29 21:15:25.427 UTC [INFO ] The task finished successfully.

12 rows selected.
```

## Répertorier les problèmes
<a name="Appendix.Oracle.CommonDBATasks.Problems"></a>

Pour répertorier les problèmes de diagnostic pour Oracle, utilisez la fonction Amazon RDS `rdsadmin.rdsadmin_adrci_util.list_adrci_problems`.

Par défaut, la fonction répertorie les 50 problèmes les plus récents. 

Cette fonction utilise les paramètres courants `problem_id` et `last`. Pour de plus amples informations, veuillez consulter [Paramètres courants pour les procédures de diagnostic](#Appendix.Oracle.CommonDBATasks.CommonDiagParameters).

Pour obtenir l'ID de tâche pour tous les problèmes, appelez la fonction `rdsadmin.rdsadmin_adrci_util.list_adrci_problems` sans argument et stockez la sortie dans une variable client SQL.

```
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.list_adrci_problems;

PL/SQL procedure successfully completed.
```

Pour lire le fichier journal, appelez la fonction `rdsadmin.rds_file_util.read_text_file`, en fournissant l'ID de tâche dans le nom du fichier. Dans la sortie suivante, le fichier journal présente trois problèmes : 1, 2 et 3.

```
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log'));

TEXT
----------------------------------------------------------------------------------------------------------------------
2020-05-29 21:18:50.764 UTC [INFO ] Listing ADRCI problems.
2020-05-29 21:18:50.829 UTC [INFO ]
ADR Home = /rdsdbdata/log/diag/rdbms/orcl_a/ORCL:
*************************************************************************
PROBLEM_ID   PROBLEM_KEY                                                 LAST_INCIDENT        LASTINC_TIME
---------- ----------------------------------------------------------- ------------- ---------------------------------
2          ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_003 53523         2020-05-29 20:15:20.928000 +00:00
3          ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_002 53522         2020-05-29 20:15:15.247000 +00:00
1          ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_001 53521         2020-05-29 20:15:06.047000 +00:00
3 rows fetched


2020-05-29 21:18:50.829 UTC [INFO ] The ADRCI problems were successfully listed.
2020-05-29 21:18:50.829 UTC [INFO ] The task finished successfully.

14 rows selected.
```

Dans l'exemple suivant, vous répertoriez uniquement le problème 3.

```
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.list_adrci_problems(problem_id=>3);

PL/SQL procedure successfully completed.
```

Pour lire le fichier journal du problème 3, appelez `rdsadmin.rds_file_util.read_text_file`. Indiquez l'ID de tâche dans le nom du fichier.

```
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log'));

TEXT
-------------------------------------------------------------------------
2020-05-29 21:19:42.533 UTC [INFO ] Listing ADRCI problems.
2020-05-29 21:19:42.599 UTC [INFO ]
ADR Home = /rdsdbdata/log/diag/rdbms/orcl_a/ORCL:
*************************************************************************
PROBLEM_ID PROBLEM_KEY                                                 LAST_INCIDENT LASTINC_TIME
---------- ----------------------------------------------------------- ------------- ---------------------------------
3          ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_002 53522         2020-05-29 20:15:15.247000 +00:00
1 rows fetched


2020-05-29 21:19:42.599 UTC [INFO ] The ADRCI problems were successfully listed.
2020-05-29 21:19:42.599 UTC [INFO ] The task finished successfully.

12 rows selected.
```

## Création de packages d'incidents
<a name="Appendix.Oracle.CommonDBATasks.IncPackages"></a>

Vous pouvez créer des packages d'incident à l'aide de la fonction Amazon RDS `rdsadmin.rdsadmin_adrci_util.create_adrci_package`. La sortie est un fichier .zip que vous pouvez fournir au support Oracle.

Cette fonction utilise les paramètres communs suivants :
+ `problem_id`
+ `incident_id`

Assurez-vous de spécifier l'un des paramètres précédents. Si vous spécifiez les deux paramètres, `incident_id` remplace `problem_id`. Pour plus d'informations, consultez [Paramètres courants pour les procédures de diagnostic](#Appendix.Oracle.CommonDBATasks.CommonDiagParameters).

Pour créer un package pour un incident spécifique, appelez la fonction Amazon RDS `rdsadmin.rdsadmin_adrci_util.create_adrci_package` avec le paramètre `incident_id`. L'exemple suivant crée un package pour l'incident 53523.

```
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.create_adrci_package(incident_id=>53523);

PL/SQL procedure successfully completed.
```

Pour lire le fichier journal, appelez le fichier `rdsadmin.rds_file_util.read_text_file`. Vous pouvez fournir l'ID de tâche dans le nom du fichier. La sortie indique que vous avez généré le package d'incidents `ORA700EVE_20200529212043_COM_1.zip`.

```
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log'));

TEXT
--------------------------------------------------------------------------------------------------------------------------------------
2020-05-29 21:20:43.031 UTC [INFO ] The ADRCI package is being created.
2020-05-29 21:20:47.641 UTC [INFO ] Generated package 1 in file /rdsdbdata/log/trace/ORA700EVE_20200529212043_COM_1.zip, mode complete
2020-05-29 21:20:47.642 UTC [INFO ] The ADRCI package was successfully created.
2020-05-29 21:20:47.642 UTC [INFO ] The task finished successfully.
```

Pour regrouper les données de diagnostic concernant un problème particulier, spécifiez son ID à l'aide du paramètre `problem_id`. Dans l'exemple suivant, vous regrouper les données pour le problème 3 uniquement.

```
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.create_adrci_package(problem_id=>3);

PL/SQL procedure successfully completed.
```

Pour lire la sortie de la tâche, appelez `rdsadmin.rds_file_util.read_text_file`, en fournissant l'ID de la tâche dans le nom du fichier. La sortie indique que vous avez généré le package d'incidents `ORA700EVE_20200529212111_COM_1.zip`.

```
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log'));

TEXT
------------------------------------------------------------------------------------------------------------------------------------------------------------
2020-05-29 21:21:11.050 UTC [INFO ] The ADRCI package is being created.
2020-05-29 21:21:15.646 UTC [INFO ] Generated package 2 in file /rdsdbdata/log/trace/ORA700EVE_20200529212111_COM_1.zip, mode complete
2020-05-29 21:21:15.646 UTC [INFO ] The ADRCI package was successfully created.
2020-05-29 21:21:15.646 UTC [INFO ] The task finished successfully.
```

Vous pouvez également télécharger le fichier journal. Pour de plus amples informations, veuillez consulter [Téléchargement d'un fichier journal de base de données](USER_LogAccess.Procedural.Downloading.md).

## Affichage des fichiers de trace
<a name="Appendix.Oracle.CommonDBATasks.ShowTrace"></a>

Vous pouvez utiliser la fonction Amazon RDS `rdsadmin.rdsadmin_adrci_util.show_adrci_tracefile` pour répertorier les fichiers de suivi dans l'annuaire de suivi et tous les annuaires d'incidents sous la page d'accueil ADR actuelle. Vous pouvez également afficher le contenu des fichiers de suivi et des fichiers de suivi des incidents.

Cette fonction utilise le paramètre suivant.


****  

| Nom du paramètre | Type de données | Valeurs valides | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | --- | 
|  `filename`  |  varchar2  | Un nom de fichier de trace valide |  Null  |  Non  |  Si la valeur est null, la fonction affiche tous les fichiers de trace. Si elle n'est pas null, la fonction affiche le fichier spécifié.  | 

Pour afficher le fichier de suivi, appelez la fonction Amazon RDS `rdsadmin.rdsadmin_adrci_util.show_adrci_tracefile`.

```
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.show_adrci_tracefile;

PL/SQL procedure successfully completed.
```

Pour répertorier les noms des fichiers de trace, appelez la procédure Amazon RDS `rdsadmin.rds_file_util.read_text_file`, en fournissant l'ID de tâche dans le nom du fichier.

```
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')) WHERE TEXT LIKE '%/alert_%';

TEXT
---------------------------------------------------------------
     diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-28
     diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-27
     diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-26
     diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-25
     diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-24
     diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-23
     diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-22
     diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-21
     diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log

9 rows selected.
```

Dans l’exemple suivant, vous générez la sortie pour `alert_ORCL.log`.

```
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.show_adrci_tracefile('diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log');

PL/SQL procedure successfully completed.
```

Pour lire le fichier journal, appelez `rdsadmin.rds_file_util.read_text_file`. Indiquez l'ID de tâche dans le nom du fichier. La sortie affiche les 10 premières lignes d'alert\$1ORCL.log.

```
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')) WHERE ROWNUM <= 10;

TEXT
-----------------------------------------------------------------------------------------
2020-05-29 21:24:02.083 UTC [INFO ] The trace files are being displayed.
2020-05-29 21:24:02.128 UTC [INFO ] Thu May 28 23:59:10 2020
Thread 1 advanced to log sequence 2048 (LGWR switch)
  Current log# 3 seq# 2048 mem# 0: /rdsdbdata/db/ORCL_A/onlinelog/o1_mf_3_hbl2p8xs_.log
Thu May 28 23:59:10 2020
Archived Log entry 2037 added for thread 1 sequence 2047 ID 0x5d62ce43 dest 1:
Fri May 29 00:04:10 2020
Thread 1 advanced to log sequence 2049 (LGWR switch)
  Current log# 4 seq# 2049 mem# 0: /rdsdbdata/db/ORCL_A/onlinelog/o1_mf_4_hbl2qgmh_.log
Fri May 29 00:04:10 2020

10 rows selected.
```

Vous pouvez également télécharger le fichier journal. Pour de plus amples informations, veuillez consulter [Téléchargement d'un fichier journal de base de données](USER_LogAccess.Procedural.Downloading.md).

# Exécution des tâches diverses pour les instances de base de données Oracle
<a name="Appendix.Oracle.CommonDBATasks.Misc"></a>

Vous trouverez ci-dessous des informations sur la façon d'effectuer diverses tâches DBA sur vos instances de base de données Amazon RDS exécutant Oracle. Pour offrir une expérience de service géré, Amazon RDS ne fournit pas l'accès shell aux instances de base de données et limite l'accès à certaines tables et procédures système qui requièrent des privilèges avancés. 

**Topics**
+ [

## Création et suppression de répertoires dans l'espace de stockage de données principal
](#Appendix.Oracle.CommonDBATasks.NewDirectories)
+ [

## Établissement de la liste des fichiers situés dans un répertoire d'instance de base de données
](#Appendix.Oracle.CommonDBATasks.ListDirectories)
+ [

## Lecture de fichiers dans un répertoire d'instance de base de données
](#Appendix.Oracle.CommonDBATasks.ReadingFiles)
+ [

## Accès aux fichiers Opatch
](#Appendix.Oracle.CommonDBATasks.accessing-opatch-files)
+ [

## Gestion des tâches de conseiller
](#Appendix.Oracle.CommonDBATasks.managing-advisor-tasks)
+ [

# Transport des espaces de table
](rdsadmin_transport_util.md)

## Création et suppression de répertoires dans l'espace de stockage de données principal
<a name="Appendix.Oracle.CommonDBATasks.NewDirectories"></a>

Pour créer des répertoires, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.create_directory`. Vous pouvez créer jusqu'à 10 000 répertoires, tous situés dans votre espace principal de stockage des données. Pour supprimer des répertoires, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.drop_directory`.

Les procédures `create_directory` et `drop_directory` ont le paramètre requis suivant. 


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_directory_name`  |  VARCHAR2  |  —  |  Oui  |  Nom du répertoire.  | 

L'exemple suivant crée un répertoire nommé `PRODUCT_DESCRIPTIONS`. 

```
EXEC rdsadmin.rdsadmin_util.create_directory(p_directory_name => 'product_descriptions');
```

Le dictionnaire de données stocke le nom du répertoire en majuscules. Vous pouvez lister les répertoires en interrogeant `DBA_DIRECTORIES`. Le système choisit le nom du chemin réel de l'hôte automatiquement. L’exemple suivant récupère le chemin du répertoire nommé `PRODUCT_DESCRIPTIONS` : 

```
SELECT DIRECTORY_PATH 
  FROM DBA_DIRECTORIES 
 WHERE DIRECTORY_NAME='PRODUCT_DESCRIPTIONS';
        
DIRECTORY_PATH
----------------------------------------
/rdsdbdata/userdirs/01
```

Le nom d'utilisateur maître de l'instance de base de données possède des privilèges de lecture et d'écriture dans le nouveau répertoire et peut accorder l'accès à d'autres utilisateurs. Les privilèges `EXECUTE` ne sont pas disponibles pour les répertoires sur une instance de base de données. Les répertoires sont créés dans votre espace de stockage de données principal et consommeront de l'espace et de la I/O bande passante. 

L'exemple suivant supprime le répertoire nommé `PRODUCT_DESCRIPTIONS`. 

```
EXEC rdsadmin.rdsadmin_util.drop_directory(p_directory_name => 'product_descriptions');
```

**Note**  
Vous pouvez également supprimer un répertoire à l'aide de la commande SQL Oracle `DROP DIRECTORY`. 

La suppression d'un répertoire ne supprime pas son contenu. Étant donné que la procédure `rdsadmin.rdsadmin_util.create_directory` peut réutiliser les noms de chemin, les fichiers figurant dans les répertoires supprimés peuvent apparaître dans un répertoire nouvellement créé. Avant de supprimer un répertoire, nous vous recommandons d'utiliser `UTL_FILE.FREMOVE` pour supprimer les fichiers du répertoire. Pour plus d’informations, consultez [FREMOVE Procedure](https://docs.oracle.com/database/121/ARPLS/u_file.htm#ARPLS70924) dans la documentation Oracle.

## Établissement de la liste des fichiers situés dans un répertoire d'instance de base de données
<a name="Appendix.Oracle.CommonDBATasks.ListDirectories"></a>

Pour lister les fichiers contenus dans un répertoire, utilisez la procédure Amazon RDS `rdsadmin.rds_file_util.listdir`. Cette procédure n’est pas prise en charge sur un réplica Oracle. La procédure `listdir` possède les paramètres suivants. 


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_directory`  |  varchar2  |  —  |  Oui  |  Nom du répertoire à lister.  | 

L'exemple suivant accorde des read/write privilèges sur le répertoire `PRODUCT_DESCRIPTIONS` à l'utilisateur`rdsadmin`, puis répertorie les fichiers de ce répertoire. 

```
GRANT READ,WRITE ON DIRECTORY PRODUCT_DESCRIPTIONS TO rdsadmin;
SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => 'PRODUCT_DESCRIPTIONS'));
```

## Lecture de fichiers dans un répertoire d'instance de base de données
<a name="Appendix.Oracle.CommonDBATasks.ReadingFiles"></a>

Pour lire un fichier texte, utilisez la procédure Amazon RDS `rdsadmin.rds_file_util.read_text_file`. La procédure `read_text_file` possède les paramètres suivants. 


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_directory`  |  varchar2  |  —  |  Oui  |  Nom du répertoire qui contient le fichier.  | 
|  `p_filename`  |  varchar2  |  —  |  Oui  |  Nom du fichier à lire.  | 

L'exemple suivant lit le fichier `rice.txt` dans le répertoire `PRODUCT_DESCRIPTIONS`. 

```
declare
  fh sys.utl_file.file_type;
begin
  fh := utl_file.fopen(location=>'PRODUCT_DESCRIPTIONS', filename=>'rice.txt', open_mode=>'w');
  utl_file.put(file=>fh, buffer=>'AnyCompany brown rice, 15 lbs');
  utl_file.fclose(file=>fh);
end;
/
```

L'exemple suivant lit le fichier `rice.txt` figurant dans le répertoire `PRODUCT_DESCRIPTIONS`. 

```
SELECT * FROM TABLE
    (rdsadmin.rds_file_util.read_text_file(
        p_directory => 'PRODUCT_DESCRIPTIONS',
        p_filename  => 'rice.txt'));
```

## Accès aux fichiers Opatch
<a name="Appendix.Oracle.CommonDBATasks.accessing-opatch-files"></a>

Opatch est un utilitaire Oracle qui permet l'application et la restauration de correctifs sur le logiciel Oracle. Le mécanisme Oracle qui permet de déterminer les correctifs ayant été appliqués à une base de données est la commande `opatch lsinventory`. Pour ouvrir des demandes de service pour les clients Bring Your Own Licence (BYOL), le support Oracle demande le fichier `lsinventory` et parfois le fichier `lsinventory_detail` généré par Opatch.

Pour offrir une expérience de service géré, Amazon RDS ne fournit pas l'accès shell à Opatch. En lieu et place, le `lsinventory-dbv.txt` dans le répertoire BDUMP contient les informations de correctif relatives à la version actuelle de votre moteur. Lorsque vous effectuez une mise à niveau mineure ou majeure, Amazon RDS met à jour `lsinventory-dbv.txt` dans l'heure suivant l'application du correctif. Pour vérifier les correctifs appliqués, consultez `lsinventory-dbv.txt`. Cette action revient à exécuter la commande `opatch lsinventory`.

**Note**  
Les exemples de cette section supposent que le répertoire BDUMP est nommé `BDUMP`. Sur un réplica en lecture, le nom du répertoire BDUMP est différent. Pour savoir comment obtenir le nom BDUMP en interrogeant `V$DATABASE.DB_UNIQUE_NAME` sur un réplica en lecture, consultez [Liste de fichiers](USER_LogAccess.Concepts.Oracle.md#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.ViewingBackgroundDumpDest).

Les fichiers d'inventaire utilisent la convention de dénomination Amazon RDS `lsinventory-dbv.txt` et `lsinventory_detail-dbv.txt` indiquent où se *dbv* trouve le nom complet de votre version de base de données. Le fichier `lsinventory-dbv.txt` est disponible sur toutes les versions de base de données. La `lsinventory_detail-dbv.txt` correspondante est disponible sur 19.0.0.0, ru-2020-01.rur-2020-01.r1 ou version ultérieure.

Par exemple, si votre version de base de données est 19.0.0.0.ru-2021-07.rur-2021-07.r1, vos fichiers d'inventaire portent les noms suivants.

```
lsinventory-19.0.0.0.ru-2021-07.rur-2021-07.r1.txt
lsinventory_detail-19.0.0.0.ru-2021-07.rur-2021-07.r1.txt
```

Assurez-vous de télécharger les fichiers qui correspondent à la version actuelle de votre moteur de base de données.

### Console
<a name="Appendix.Oracle.CommonDBATasks.accessing-opatch-files.console"></a>

**Pour télécharger un fichier d'inventaire à l'aide de la console**

1. Ouvrez la console Amazon RDS à l'adresse [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Dans la panneau de navigation, choisissez **Databases (Bases de données)**.

1. Choisissez le nom de l’instance de base de données qui contient le fichier journal que vous voulez consulter.

1. Choisissez l’onglet **Logs & events** (Journaux et événements).

1. Faites défiler jusqu'à la section **Journaux**.

1. Dans la section **Logs (Journaux)** recherchez `lsinventory`.

1. Sélectionnez le fichier auquel vous souhaitez accéder, puis choisissez **Download (Télécharger)**.

### SQL
<a name="Appendix.Oracle.CommonDBATasks.accessing-opatch-files.sql"></a>

Pour lire le fichier `lsinventory-dbv.txt` dans un client SQL, vous pouvez utiliser une instruction `SELECT`. Pour cette technique, utilisez l'une des fonctions `rdsadmin` suivantes : `rdsadmin.rds_file_util.read_text_file` ou `rdsadmin.tracefile_listing`.

Dans l'exemple de requête suivant, remplacez-le *dbv* par votre version de base de données Oracle. Par exemple, la version de votre base de données peut être 19.0.0.0.ru-2020-04.rur-2020-04.r1.

```
SELECT text
FROM   TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'lsinventory-dbv.txt'));
```

### PL/SQL
<a name="Appendix.Oracle.CommonDBATasks.accessing-opatch-files.plsql"></a>

Pour lire le `lsinventory-dbv.txt` dans un client SQL, vous pouvez écrire un PL/SQL programme. Ce programme utilise `utl_file` pour lire le fichier et `dbms_output` pour l'imprimer. Ce sont des packages fournis par Oracle. 

Dans l'exemple de programme suivant, remplacez-le *dbv* par votre version de base de données Oracle. Par exemple, la version de votre base de données peut être 19.0.0.0.ru-2020-04.rur-2020-04.r1.

```
SET SERVEROUTPUT ON
DECLARE
  v_file              SYS.UTL_FILE.FILE_TYPE;
  v_line              VARCHAR2(1000);
  v_oracle_home_type  VARCHAR2(1000);
  c_directory         VARCHAR2(30) := 'BDUMP';
  c_output_file       VARCHAR2(30) := 'lsinventory-dbv.txt';
BEGIN
  v_file := SYS.UTL_FILE.FOPEN(c_directory, c_output_file, 'r');
  LOOP
    BEGIN
      SYS.UTL_FILE.GET_LINE(v_file, v_line,1000);
      DBMS_OUTPUT.PUT_LINE(v_line);
    EXCEPTION
      WHEN no_data_found THEN
        EXIT;
    END;
  END LOOP;
END;
/
```

Ou interrogez `rdsadmin.tracefile_listing` et spoulez la sortie vers un fichier. L'exemple suivant spoule la sortie vers `/tmp/tracefile.txt`.

```
SPOOL /tmp/tracefile.txt
SELECT * 
FROM   rdsadmin.tracefile_listing 
WHERE  FILENAME LIKE 'lsinventory%';
SPOOL OFF;
```

## Gestion des tâches de conseiller
<a name="Appendix.Oracle.CommonDBATasks.managing-advisor-tasks"></a>

Oracle Database comprend un nombre de conseillers. Chaque conseiller prend en charge des tâches automatisées et manuelles. Vous pouvez utiliser des procédures dans le package `rdsadmin.rdsadmin_util` pour gérer certaines tâches de conseiller.

Les procédures de tâches de conseiller sont disponibles dans les versions suivantes du moteur :
+ Oracle Database 21c (21.0.0)
+ Version 19.0.0.0.ru-2021-01.rur-2021-01.r1 et versions ultérieures de Oracle Database 19c 

  Pour plus d’informations, consultez [Version 19.0.0.0.ru-2021-01.rur-2021-01.r1](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/oracle-version-19-0.html#oracle-version-RU-RUR.19.0.0.0.ru-2021-01.rur-2021-01.r1) dans *Notes de mise à jour d’Amazon RDS for Oracle*.

**Topics**
+ [

### Définition des paramètres des tâches de conseiller
](#Appendix.Oracle.CommonDBATasks.setting-task-parameters)
+ [

### Désactivation de AUTO\$1STATS\$1ADVISOR\$1TASK
](#Appendix.Oracle.CommonDBATasks.dropping-advisor-task)
+ [

### Réactivation de AUTO\$1STATS\$1ADVISOR\$1TASK
](#Appendix.Oracle.CommonDBATasks.recreating-advisor-task)

### Définition des paramètres des tâches de conseiller
<a name="Appendix.Oracle.CommonDBATasks.setting-task-parameters"></a>

Pour définir les paramètres de certaines tâches de conseiller, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.advisor_task_set_parameter`. La procédure `advisor_task_set_parameter` possède les paramètres suivants.


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_task_name`  |  varchar2  |  —  |  Oui  |  Nom de la tâche de conseiller dont vous voulez modifier les paramètres. Les valeurs suivantes sont valides : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.Misc.html)  | 
|  `p_parameter`  |  varchar2  |  —  |  Oui  |  Nom du paramètre de la tâche. Pour rechercher des paramètres valides d'une tâche de conseiller, exécutez la requête suivante. Remplacez *p\$1task\$1name* par une valeur valide `p_task_name` : <pre>COL PARAMETER_NAME FORMAT a30<br />COL PARAMETER_VALUE FORMAT a30<br />SELECT PARAMETER_NAME, PARAMETER_VALUE<br />FROM DBA_ADVISOR_PARAMETERS<br />WHERE TASK_NAME='p_task_name'<br />AND PARAMETER_VALUE != 'UNUSED'<br />ORDER BY PARAMETER_NAME;</pre>  | 
|  `p_value`  |  varchar2  |  —  |  Oui  |  Valeur d'un paramètre de la tâche. Pour rechercher des valeurs valides pour des paramètres de la tâche, exécutez la requête suivante. Remplacez *p\$1task\$1name* par une valeur valide `p_task_name` : <pre>COL PARAMETER_NAME FORMAT a30<br />COL PARAMETER_VALUE FORMAT a30<br />SELECT PARAMETER_NAME, PARAMETER_VALUE<br />FROM DBA_ADVISOR_PARAMETERS<br />WHERE TASK_NAME='p_task_name'<br />AND PARAMETER_VALUE != 'UNUSED'<br />ORDER BY PARAMETER_NAME;</pre>  | 

Le PL/SQL programme suivant est défini `ACCEPT_PLANS` sur `FALSE` for`SYS_AUTO_SPM_EVOLVE_TASK`. La tâche automatisée SQL Plan Management vérifie les plans et génère un rapport de résultats, mais ne fait pas évoluer les plans automatiquement. Vous pouvez utiliser un rapport pour identifier de nouvelles lignes de base de SQL Plan et les accepter manuellement.

```
BEGIN 
  rdsadmin.rdsadmin_util.advisor_task_set_parameter(
    p_task_name => 'SYS_AUTO_SPM_EVOLVE_TASK',
    p_parameter => 'ACCEPT_PLANS',
    p_value     => 'FALSE');
END;
```

Le PL/SQL programme suivant est défini `EXECUTION_DAYS_TO_EXPIRE` sur `10` for`AUTO_STATS_ADVISOR_TASK`. La tâche prédéfinie `AUTO_STATS_ADVISOR_TASK` s'exécute dans la fenêtre de maintenance une fois par jour automatiquement. Dans l'exemple, la période de rétention pour l'exécution de la tâche est définie à 10 jours. 

```
BEGIN 
  rdsadmin.rdsadmin_util.advisor_task_set_parameter(
    p_task_name => 'AUTO_STATS_ADVISOR_TASK',
    p_parameter => 'EXECUTION_DAYS_TO_EXPIRE',
    p_value     => '10');
END;
```

### Désactivation de AUTO\$1STATS\$1ADVISOR\$1TASK
<a name="Appendix.Oracle.CommonDBATasks.dropping-advisor-task"></a>

Pour désactiver `AUTO_STATS_ADVISOR_TASK`, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.advisor_task_drop`. La procédure `advisor_task_drop` accepte les paramètres suivants.


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_task_name`  |  varchar2  |  —  |  Oui  |  Nom de la tâche de conseiller qui doit être désactivée. La seule valeur valide est `AUTO_STATS_ADVISOR_TASK`.  | 

La commande suivante désactive `AUTO_STATS_ADVISOR_TASK`.

```
EXEC rdsadmin.rdsadmin_util.advisor_task_drop('AUTO_STATS_ADVISOR_TASK')
```

Vous pouvez réactiver `AUTO_STATS_ADVISOR_TASK` en utilisant `rdsadmin.rdsadmin_util.dbms_stats_init`.

### Réactivation de AUTO\$1STATS\$1ADVISOR\$1TASK
<a name="Appendix.Oracle.CommonDBATasks.recreating-advisor-task"></a>

Pour réactiver `AUTO_STATS_ADVISOR_TASK`, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.dbms_stats_init`. La procédure `dbms_stats_init` n'accepte aucun paramètre.

La commande suivante réactive `AUTO_STATS_ADVISOR_TASK`.

```
EXEC rdsadmin.rdsadmin_util.dbms_stats_init()
```

# Transport des espaces de table
<a name="rdsadmin_transport_util"></a>

Utilisez le package Amazon RDS `rdsadmin.rdsadmin_transport_util` pour copier un ensemble d'espaces de table d'une base de données Oracle sur site vers une instance de base de données RDS for Oracle. Au niveau physique, la fonctionnalité d'espace de table transportable copie de manière incrémentielle les fichiers de données et de métadonnées sources vers votre instance cible. Vous pouvez transférer les fichiers à l'aide d'Amazon EFS ou d'Amazon S3. Pour de plus amples informations, consultez [Migration à l'aide des espaces de table transportables Oracle](oracle-migrating-tts.md).

**Topics**
+ [

# Importation des espaces de table transportés dans votre instance de base de données
](rdsadmin_transport_util_import_xtts_tablespaces.md)
+ [

# Importation des métadonnées d'espaces de table transportables dans votre instance de base de données
](rdsadmin_transport_util_import_xtts_metadata.md)
+ [

# Établissement de la liste des fichiers orphelins après une importation d'espace de table
](rdsadmin_transport_util_list_xtts_orphan_files.md)
+ [

# Suppression des fichiers de données devenus orphelins après une importation d'espace de table
](rdsadmin_transport_util_cleanup_incomplete_xtts_import.md)

# Importation des espaces de table transportés dans votre instance de base de données
<a name="rdsadmin_transport_util_import_xtts_tablespaces"></a>

Utilisez la procédure `rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces` pour restaurer les espaces de table que vous avez précédemment exportés depuis une instance de base de données source. Dans la phase de transport, vous sauvegardez vos espaces de table en lecture seule, exportez les métadonnées Data Pump, transférez ces fichiers vers votre instance de base de données cible, puis importez les espaces de table. Pour de plus amples informations, veuillez consulter [Phase 4 : Transport des espaces de table](oracle-migrating-tts.md#oracle-migrating-tts.final-br-phase). 

## Syntaxe
<a name="rdsadmin_transport_util_import_xtts_tablespaces-syntax"></a>

```
FUNCTION import_xtts_tablespaces(
    p_tablespace_list IN CLOB,
    p_directory_name  IN VARCHAR2,
    p_platform_id     IN NUMBER DEFAULT 13,
    p_parallel        IN INTEGER DEFAULT 0) RETURN VARCHAR2;
```

## Parameters
<a name="rdsadmin_transport_util_import_xtts_tablespaces-parameters"></a>


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_tablespace_list`  |  `CLOB`  |  —  |  Oui  |  Liste des espaces de table à importer.  | 
|  `p_directory_name`  |  `VARCHAR2`  |  —  |  Oui  | Répertoire qui contient les sauvegardes d'espaces de table. | 
|  `p_platform_id`  |  `NUMBER`  |  `13`  |  Non  |  Fournissez un ID de plateforme qui correspond à celui spécifié durant la phase de sauvegarde. Pour obtenir la liste des plateformes, interrogez `V$TRANSPORTABLE_PLATFORM`. La plateforme par défaut est Linux x86 64 bits, qui est au format Little Endian.  | 
|  `p_parallel`  |  `INTEGER`  |  `0`  |  Non  |  Degré de parallélisme. Par défaut, le parallélisme est désactivé.  | 

## Exemples
<a name="rdsadmin_transport_util_import_xtts_tablespaces-examples"></a>

L'exemple suivant importe les tablespaces *TBS1**TBS2*, et *TBS3* depuis le répertoire. *DATA\$1PUMP\$1DIR* La plateforme source est AIX-Based Systems (64 bits), dont l’ID de plateforme est `6`. Vous pouvez trouver la plateforme IDs en `V$TRANSPORTABLE_PLATFORM` interrogeant.

```
VAR task_id CLOB

BEGIN
  :task_id:=rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces(
        'TBS1,TBS2,TBS3',
        'DATA_PUMP_DIR',
        p_platform_id => 6);
END;
/

PRINT task_id
```

# Importation des métadonnées d'espaces de table transportables dans votre instance de base de données
<a name="rdsadmin_transport_util_import_xtts_metadata"></a>

Utilisez la procédure `rdsadmin.rdsadmin_transport_util.import_xtts_metadata` pour importer les métadonnées d'espaces de table transportables dans votre instance de base de données RDS for Oracle. Pendant l'opération, le statut de l'importation des métadonnées est indiqué dans la table `rdsadmin.rds_xtts_operation_info`. Pour de plus amples informations, veuillez consulter [Étape 5 : Importer les métadonnées d'espace de table dans votre instance de base de données cible](oracle-migrating-tts.md#oracle-migrating-tts.transport.import-dmp).

## Syntaxe
<a name="rdsadmin_transport_util_import_xtts_metadata-syntax"></a>

```
PROCEDURE import_xtts_metadata(
    p_datapump_metadata_file IN SYS.DBA_DATA_FILES.FILE_NAME%TYPE,
    p_directory_name         IN VARCHAR2,
    p_exclude_stats          IN BOOLEAN DEFAULT FALSE,
    p_remap_tablespace_list  IN CLOB DEFAULT NULL,
    p_remap_user_list        IN CLOB DEFAULT NULL);
```

## Parameters
<a name="rdsadmin_transport_util_import_xtts_metadata-parameters"></a>


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_datapump_metadata_file`  |  `SYS.DBA_DATA_FILES.FILE_NAME%TYPE`  |  —  |  Oui  |  Nom du fichier Data Pump d'Oracle qui contient les métadonnées de vos espaces de table transportables.  | 
|  `p_directory_name`  |  `VARCHAR2`  |  —  |  Oui  |  Répertoire qui contient le fichier Data Pump.  | 
|  `p_exclude_stats`  |  `BOOLEAN`  |  `FALSE`  |  Non  |  Indicateur qui indique s'il convient d'exclure les statistiques.  | 
|  `p_remap_tablespace_list`  |  `CLOB`  |  NULL  |  Non  |  Liste des espaces de table à remapper lors de l'importation des métadonnées. Utilisez le format `from_tbs:to_tbs`. Par exemple, spécifiez `users:user_data`.   | 
|  `p_remap_user_list`  |  `CLOB`  |  NULL  |  Non  |  Liste des schémas utilisateur à remapper lors de l'importation des métadonnées. Utilisez le format `from_schema_name:to_schema_name`. Par exemple, spécifiez `hr:human_resources`.   | 

## Exemples
<a name="rdsadmin_transport_util_import_xtts_metadata-examples"></a>

L'exemple importe les métadonnées de l'espace disque logique à partir du fichier*xttdump.dmp*, qui se trouve dans le répertoire. *DATA\$1PUMP\$1DIR*

```
BEGIN
  rdsadmin.rdsadmin_transport_util.import_xtts_metadata('xttdump.dmp','DATA_PUMP_DIR');
END;
/
```

# Établissement de la liste des fichiers orphelins après une importation d'espace de table
<a name="rdsadmin_transport_util_list_xtts_orphan_files"></a>

Utilisez la procédure `rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files` pour répertorier les fichiers de données devenus orphelins après une importation d'espace de table. Après avoir identifié les fichiers de données, vous pouvez les supprimer en appelant `rdsadmin.rdsadmin_transport_util.cleanup_incomplete_xtts_import`.

## Syntaxe
<a name="rdsadmin_transport_util_list_xtts_orphan_files-syntax"></a>

```
FUNCTION list_xtts_orphan_files RETURN xtts_orphan_files_list_t PIPELINED;
```

## Exemples
<a name="rdsadmin_transport_util_list_xtts_orphan_files-examples"></a>

L'exemple suivant exécute la procédure `rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files`. La sortie montre deux fichiers de données devenus orphelins.

```
SQL> SELECT * FROM TABLE(rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files);

FILENAME       FILESIZE
-------------- ---------
datafile_7.dbf 104865792
datafile_8.dbf 104865792
```

# Suppression des fichiers de données devenus orphelins après une importation d'espace de table
<a name="rdsadmin_transport_util_cleanup_incomplete_xtts_import"></a>

Utilisez la procédure `rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files` pour supprimer les fichiers de données devenus orphelins après une importation d'espace de table. L'exécution de cette commande génère un fichier journal qui utilise le format de noms `rds-xtts-delete_xtts_orphaned_files-YYYY-MM-DD.HH24-MI-SS.FF.log` dans le répertoire `BDUMP`. Utilisez la procédure `rdsadmin.rdsadmin_transport_util.cleanup_incomplete_xtts_import` pour trouver les fichiers orphelins. Vous pouvez lire le fichier journal en appelant la procédure `rdsadmin.rds_file_util.read_text_file`. Pour de plus amples informations, veuillez consulter [Phase 6 : Nettoyage des fichiers restants](oracle-migrating-tts.md#oracle-migrating-tts.cleanup).

## Syntaxe
<a name="rdsadmin_transport_util_cleanup_incomplete_xtts_import-syntax"></a>

```
PROCEDURE cleanup_incomplete_xtts_import(
    p_directory_name IN VARCHAR2);
```

## Parameters
<a name="rdsadmin_transport_util_cleanup_incomplete_xtts_import-parameters"></a>


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_directory_name`  |  `VARCHAR2`  |  —  |  Oui  |  Répertoire qui contient les fichiers de données orphelins.  | 

## Exemples
<a name="rdsadmin_transport_util_cleanup_incomplete_xtts_import-examples"></a>

L'exemple suivant supprime les fichiers de données orphelins dans. *DATA\$1PUMP\$1DIR*

```
BEGIN
  rdsadmin.rdsadmin_transport_util.cleanup_incomplete_xtts_import('DATA_PUMP_DIR');
END;
/
```

L'exemple suivant lit le fichier journal généré par la commande précédente. 

```
SELECT * 
FROM TABLE(rdsadmin.rds_file_util.read_text_file(
       p_directory => 'BDUMP',
       p_filename  => 'rds-xtts-delete_xtts_orphaned_files-2023-06-01.09-33-11.868894000.log'));

TEXT
--------------------------------------------------------------------------------
orphan transported datafile datafile_7.dbf deleted.
orphan transported datafile datafile_8.dbf deleted.
```

# Utilisation du stockage dans RDS pour Oracle
<a name="User_Oracle_AdditionalStorage"></a>

Chaque instance RDS pour Oracle possède un volume de stockage principal. Pour augmenter la capacité de stockage, vous pouvez associer jusqu'à trois volumes de stockage supplémentaires à votre instance de base de données. En fonction de vos exigences en matière de charge de travail, choisissez entre le stockage gp3 et io2 pour chaque volume. Par exemple, vous pouvez placer les données fréquemment consultées sur un volume io2 et les données historiques sur un volume gp3.

Utilisez des volumes de stockage supplémentaires pour bénéficier des avantages suivants :
+ **Capacité améliorée** : augmentez votre capacité de stockage totale jusqu'à 256 TiB par instance de base de données en associant jusqu'à trois volumes de stockage supplémentaires.
+ **Configuration flexible du stockage et optimisation des performances** : mélangez différents types de stockage (gp3 et io2) pour optimiser les coûts et les performances en fonction de vos modèles d'accès aux données. Séparez les données fréquemment consultées sur le stockage io2 hautes performances des données d'archivage sur un stockage gp3 économique.
+ **Étendez et réduisez la capacité de stockage selon les besoins** : attachez un volume lorsque vous avez besoin d'espace de stockage supplémentaire, par exemple lors de la migration des données, puis supprimez le volume ultérieurement. De cette façon, vous pouvez étendre et réduire le stockage total des instances de base de données.
+ **Déplacement des données en ligne** : utilisez les fonctionnalités intégrées de la base de données Oracle pour déplacer les données entre les volumes sans interruption de service.

**Note**  
Vous pouvez supprimer des volumes de stockage supplémentaires, mais vous ne pouvez pas supprimer le volume principal.

**Topics**
+ [

## Considérations relatives à l'utilisation de volumes de stockage supplémentaires avec RDS pour Oracle
](#User_Oracle_AdditionalStorage.considerations)
+ [

## Limitations liées à l'utilisation de volumes de stockage supplémentaires avec RDS pour Oracle
](#User_Oracle_AdditionalStorage.limitations)
+ [

## Opérations de gestion de base de données avec des volumes de stockage supplémentaires dans RDS pour Oracle
](#User_Oracle_AdditionalStorage.DBManagement)
+ [

# Ajouter, supprimer ou modifier des volumes de stockage avec RDS pour Oracle
](User_Oracle_AdditionalStorage.ModifyStorageVolumes.md)
+ [

# Sauvegarde et restauration de données avec des volumes de stockage supplémentaires dans RDS pour Oracle
](User_Oracle_AdditionalStorage.BackupRestore.md)
+ [

# Cas d'utilisation de volumes de stockage supplémentaires dans RDS pour Oracle
](User_Oracle_AdditionalStorage.UseCases.md)

## Considérations relatives à l'utilisation de volumes de stockage supplémentaires avec RDS pour Oracle
<a name="User_Oracle_AdditionalStorage.considerations"></a>

Tenez compte des points suivants lorsque vous utilisez des volumes de stockage supplémentaires avec RDS pour Oracle :
+ Vous pouvez ajouter jusqu'à 3 volumes de stockage supplémentaires par instance.
+ Les volumes de stockage supplémentaires doivent utiliser les noms de volume suivants :
  + rdsdbdata2
  + rdsdbdata3
  + rdsdbdata4
+ Vous ne pouvez ajouter que des types de stockage SSD à usage général (gp3) et SSD à IOPS provisionnés (io2).
+ Vous pouvez utiliser les fonctionnalités de relocalisation en ligne d'Oracle pour déplacer des données entre des volumes pendant que vos applications continuent de fonctionner.
+ Lorsque vous créez un volume de stockage supplémentaire en modifiant l'instance de base de données, RDS crée immédiatement le volume de stockage quel que soit le paramètre de modification du calendrier. L'ajout d'un volume de stockage est une opération en ligne qui n'a aucune incidence sur les performances de votre base de données. Consultez [Utilisation du paramètre de planification des modifications](USER_ModifyInstance.ApplyImmediately.md).

Pour des performances optimales, vérifiez les points suivants lorsque vous utilisez des volumes de stockage supplémentaires :
+ Planification du mouvement des données
  + Planifiez des mouvements importants en dehors des heures de pointe
  + Divisez les grandes opérations en plus petits morceaux
  + Surveillez les ressources du système pendant les déplacements
+ Gestion des ressources
  + Conservez suffisamment d'espace libre sur les deux volumes
  + Surveillez les I/O modèles à l'aide d'AWR ou de Statspack
  + Surveillez les scénarios où l'espace de stockage est plein
+ Bonnes pratiques
  + Utilisez les opérations de relocalisation de fichiers de données en ligne dans la mesure du possible
  + Maintenir des index appropriés
  + Surveillez régulièrement l'utilisation de l'espace

Lorsque vous utilisez des volumes de stockage supplémentaires avec des répliques :
+ Lorsque vous créez une réplique RDS pour Oracle pour une instance de base de données dotée de volumes de stockage supplémentaires, RDS configure automatiquement des volumes de stockage supplémentaires sur la réplique. Cependant, les modifications ultérieures apportées aux volumes de stockage de votre instance de base de données principale ne sont pas automatiquement appliquées à la réplique.
+ Lorsque vous gérez l'emplacement des fichiers de données sur plusieurs volumes, nous vous recommandons d'utiliser des paramètres de groupe de paramètres plutôt que des modifications au niveau de la session afin de garantir un comportement cohérent entre les instances principales et les instances de réplication.

## Limitations liées à l'utilisation de volumes de stockage supplémentaires avec RDS pour Oracle
<a name="User_Oracle_AdditionalStorage.limitations"></a>

Les limites suivantes s'appliquent à l'utilisation de volumes de stockage supplémentaires avec RDS pour Oracle :
+ Vous ne pouvez pas ajouter de volume de stockage aux types d'instance dotés de moins de 64 Go de mémoire, car ils ne disposent pas de suffisamment de mémoire pour prendre en charge de grands volumes de stockage.
+ La taille de stockage minimale est de 200 Go pour les volumes de stockage supplémentaires. Le volume de stockage principal de votre instance de base de données doit être égal ou supérieur à 200 Go pour associer des volumes de stockage supplémentaires. La taille de stockage maximale de votre instance de base de données est de 256 TiB au total sur tous les volumes.
+ Les fonctionnalités suivantes ne sont pas prises en charge pour les instances de base de données dotées de volumes de stockage supplémentaires :
  + Sauvegardes automatisées entre régions
  + Autoscaling du stockage (pour des volumes de stockage supplémentaires)
  + Copie instantanée entre comptes
  + Instantanés publics
+ Vous ne pouvez pas supprimer le volume de stockage principal (`rdsdbdata`), mais vous pouvez supprimer d'autres volumes de stockage supplémentaires tant qu'ils sont vides.
+ Vous ne pouvez pas stocker les journaux de rétablissement en ligne, les journaux de rétablissement archivés et les fichiers de contrôle dans des volumes de stockage supplémentaires. Ces fichiers ne peuvent être stockés que dans le volume de stockage principal (`rdsdbdata`).

## Opérations de gestion de base de données avec des volumes de stockage supplémentaires dans RDS pour Oracle
<a name="User_Oracle_AdditionalStorage.DBManagement"></a>

Vous pouvez effectuer des opérations de gestion de base de données telles que la création de tablespaces ou le déplacement de données entre volumes de stockage tout en utilisant des volumes de stockage supplémentaires dans RDS pour Oracle. Pour plus d'informations sur les opérations de gestion de base de données avec des volumes de stockage supplémentaires, consultez les sections suivantes :
+ [Spécification de l'emplacement des fichiers de base de données dans RDS pour Oracle](Appendix.Oracle.CommonDBATasks.TablespacesAndDatafiles.md#Appendix.Oracle.CommonDBATasks.DatabaseFileLocations)
+ [Création et dimensionnement de tablespaces dans RDS pour Oracle](Appendix.Oracle.CommonDBATasks.TablespacesAndDatafiles.md#Appendix.Oracle.CommonDBATasks.CreatingTablespacesAndDatafiles)
+ [Déplacement de fichiers de données entre volumes dans RDS pour Oracle](Appendix.Oracle.CommonDBATasks.MovingDataBetweenVolumes.md#Appendix.Oracle.CommonDBATasks.MovingDatafiles)

# Ajouter, supprimer ou modifier des volumes de stockage avec RDS pour Oracle
<a name="User_Oracle_AdditionalStorage.ModifyStorageVolumes"></a>

Vous pouvez ajouter, modifier et supprimer des volumes de stockage supplémentaires à l'aide du AWS Management Console ou AWS CLI. Toutes les opérations utilisent la `modify-db-instance` commande avec le `additional-storage-volumes` paramètre.

**Important**  
L'ajout ou la suppression de volumes de stockage supplémentaires crée une action de sauvegarde en attente et une fenêtre d'interdiction. La fenêtre de blocage se ferme lorsque le flux de sauvegarde est terminé.



## Ajouter des volumes de stockage
<a name="User_Oracle_AdditionalStorage.ModifyStorageVolumes.Add"></a>

Vous pouvez ajouter jusqu'à trois volumes de stockage en plus du volume de stockage principal. Pour ajouter un nouveau volume de stockage à votre instance de base de données RDS pour Oracle, utilisez la `modify-db-instance` commande avec le `additional-storage-volumes` paramètre.

L'extrait de code suivant ajoute un nouveau volume SSD à usage général (gp3) de 5 000 GiB avec un nom de 4000 IOPS de provision. `rdsdbdata3`

```
aws rds modify-db-instance \
  --db-instance-identifier my-oracle-instance \
  --region us-east-1 \
  --additional-storage-volumes '[
        {
            "VolumeName":"rdsdbdata3",
            "StorageType":"gp3",
            "AllocatedStorage":5000
            "IOPS":4000}
    ]' \
  --apply-immediately
```

## Modification des volumes de stockage
<a name="User_Oracle_AdditionalStorage.ModifyStorageVolumes.Modifying"></a>

Vous pouvez modifier le type de stockage, la taille de stockage allouée, les IOPS et les paramètres de débit de stockage de votre volume de stockage supplémentaire. L'extrait de code suivant modifie le paramètre IOPS du volume. `rdsdbdata2`

```
aws rds modify-db-instance \
  --db-instance-identifier my-oracle-instance \
  --region us-east-1 \
  --additional-storage-volumes '[
        {
            "VolumeName":"rdsdbdata2",
            "IOPS":8000}
    ]' \
  --apply-immediately
```

**Note**  
Vous ne pouvez pas réduire l'allocation de stockage pour un volume de stockage supplémentaire une fois que vous l'avez ajouté à l'instance.

## Suppression de volumes de stockage
<a name="User_Oracle_AdditionalStorage.ModifyStorageVolumes.Remove"></a>

Vous pouvez supprimer des volumes de stockage supplémentaires de RDS pour les instances de base de données Oracle lorsqu'ils ne sont plus nécessaires. Avant de supprimer un volume, assurez-vous que vous avez déplacé tous les fichiers de base de données du volume et qu'aucun objet de base de données ne le référence. Vérifiez que l'état du volume est`Not-in-use`. Vous pouvez supprimer des volumes de stockage supplémentaires, mais vous ne pouvez pas supprimer le volume de stockage principal. 

**Avertissement**  
Avant de supprimer un volume de stockage supplémentaire, assurez-vous qu'aucun fichier de base de données n'y est stocké. La suppression d'un volume contenant des fichiers de base de données actifs entraîne la corruption de la base de données.

L'exemple suivant supprime le `rdsdbdata4` volume.

```
aws rds modify-db-instance \
  --db-instance-identifier my-oracle-instance \
  --region us-east-1 \
  --additional-storage-volumes '[
        {
            "VolumeName":"rdsdbdata2",
            "SetForDelete":true}
    ]' \
  --apply-immediately
```

# Sauvegarde et restauration de données avec des volumes de stockage supplémentaires dans RDS pour Oracle
<a name="User_Oracle_AdditionalStorage.BackupRestore"></a>

Vous pouvez utiliser des sauvegardes automatisées et créer un instantané de base de données avec votre instance de base de données avec des volumes de stockage supplémentaires. Toutes les opérations de sauvegarde incluent à la fois le volume principal et les volumes de stockage supplémentaires. Vous pouvez également utiliser la point-in-time restauration pour votre instance de base de données avec des volumes de stockage supplémentaires. Lorsque vous restaurez votre base de données, vous pouvez ajouter des volumes de stockage. Vous pouvez également modifier les paramètres de stockage des volumes existants. Vous ne pouvez pas supprimer de volumes de stockage supplémentaires lorsque vous restaurez votre base de données à partir d'un instantané. 

**Topics**
+ [

## Création d'instantanés manuels
](#User_Oracle_AdditionalStorage.BackupRestore.ManualSnapshots)
+ [

## Restauration d'instantanés manuels
](#User_Oracle_AdditionalStorage.BackupRestore.RestoreSnapshots)
+ [

## Point-in-time rétablissement
](#User_Oracle_AdditionalStorage.BackupRestore.PitR)

## Création d'instantanés manuels
<a name="User_Oracle_AdditionalStorage.BackupRestore.ManualSnapshots"></a>

L'exemple suivant crée un instantané manuel de votre base de données avec des volumes de stockage supplémentaires :

```
aws rds create-db-snapshot \
--db-instance-identifier my-oracle-asv-instance \
--db-snapshot-identifier my-snapshot
```

## Restauration d'instantanés manuels
<a name="User_Oracle_AdditionalStorage.BackupRestore.RestoreSnapshots"></a>

Lors d'une restauration à partir d'un instantané, vous pouvez ajouter de nouveaux volumes de stockage supplémentaires ou modifier les paramètres d'IOPS ou de débit des volumes existants. L'exemple suivant restaure une instance de base de données à partir d'un instantané et modifie le paramètre IOPS du `rdsdbdata2` volume :

```
aws rds restore-db-instance-from-db-snapshot \
  --db-instance-identifier my-restored-instance \
  --db-snapshot-identifier my-snapshot \
  --region us-east-1 \
  --additional-storage-volumes '[
        {
            "VolumeName":"rdsdbdata2",
            "IOPS":5000
        }
    ]'
```

## Point-in-time rétablissement
<a name="User_Oracle_AdditionalStorage.BackupRestore.PitR"></a>

Pendant la point-in-time restauration (PITR), vous pouvez ajouter de nouveaux volumes de stockage supplémentaires avec des configurations personnalisées. L'exemple suivant exécute le PITR et ajoute un nouveau SSD à usage général (gp3) de 5 000 GiB avec 5 000 IOPS et un débit de stockage de MB/s 200 pour le volume : `rdsdbdata2` 

```
aws rds restore-db-instance-to-point-in-time \
  --source-db-instance-identifier my-source-instancemy-source-instance \
  --target-db-instance my-pitr-instance\
  --use-latest-restorable-time \
  --region us-east-1 \
  --additional-storage-volumes '[
        {
            "VolumeName":"rdsdbdata2",
            "StorageType":"gp3",
            "AllocatedStorage":5000,
            "IOPS":5000,
            "StorageThroughput":200
        }
    ]'
```

# Cas d'utilisation de volumes de stockage supplémentaires dans RDS pour Oracle
<a name="User_Oracle_AdditionalStorage.UseCases"></a>

Les volumes de stockage supplémentaires prennent en charge différents scénarios de gestion de base de données. Les sections suivantes décrivent les cas d'utilisation courants et les approches de mise en œuvre.

**Topics**
+ [

## Extension de la capacité de stockage au-delà de 64 TiB
](#User_Oracle_AdditionalStorage.UseCases.Extendingstoragecapacity)
+ [

## Hiérarchisation du stockage des données fréquemment et rarement consultées sur des volumes distincts
](#User_Oracle_AdditionalStorage.UseCases.Storagetiering)
+ [

## Stockage temporaire pour le chargement et le déchargement des données
](#User_Oracle_AdditionalStorage.UseCases.Temporarystorage)
+ [

## Utilisation des tablespaces transportables Oracle avec un volume de stockage supplémentaire
](#User_Oracle_AdditionalStorage.UseCases.TransportableTablespaces)

## Extension de la capacité de stockage au-delà de 64 TiB
<a name="User_Oracle_AdditionalStorage.UseCases.Extendingstoragecapacity"></a>

Vous pouvez utiliser des volumes de stockage supplémentaires lorsque votre volume de stockage principal approche la limite de 64 TiB, mais qu'il a besoin de plus d'espace de stockage dans votre base de données. Vous pouvez associer des volumes de stockage supplémentaires à votre instance de base de données, chacun jusqu'à 64 To, à l'aide de la `modify-db-instance` commande. Après avoir attaché des volumes de stockage supplémentaires, vous pouvez créer des espaces disque logiques sur des volumes de stockage supplémentaires et déplacer des objets tels que des tables, des index et des partitions vers ces espaces disque logiques à l'aide d'Oracle SQL standard. Pour de plus amples informations, veuillez consulter [Opérations de gestion de base de données avec des volumes de stockage supplémentaires dans RDS pour Oracle](User_Oracle_AdditionalStorage.md#User_Oracle_AdditionalStorage.DBManagement).

## Hiérarchisation du stockage des données fréquemment et rarement consultées sur des volumes distincts
<a name="User_Oracle_AdditionalStorage.UseCases.Storagetiering"></a>

Vous pouvez utiliser des volumes de stockage supplémentaires pour optimiser les coûts et les performances en configurant différents types de stockage entre les volumes. Par exemple, vous pouvez utiliser des volumes de stockage SSD IOPS provisionnés (io2) à hautes performances pour les données fréquemment consultées, tout en stockant les données historiques sur des volumes de stockage à usage général (gp3) économiques. Vous pouvez déplacer des objets de base de données spécifiques (tables, index et partitions) vers ces tablespaces à l'aide des commandes Oracle standard. Pour de plus amples informations, veuillez consulter [Opérations de gestion de base de données avec des volumes de stockage supplémentaires dans RDS pour Oracle](User_Oracle_AdditionalStorage.md#User_Oracle_AdditionalStorage.DBManagement).

## Stockage temporaire pour le chargement et le déchargement des données
<a name="User_Oracle_AdditionalStorage.UseCases.Temporarystorage"></a>

Vous pouvez utiliser des volumes de stockage supplémentaires comme stockage temporaire pour les chargements ou exportations de données importants en procédant comme suit :
+ Créez un répertoire sur un volume de stockage supplémentaire à l'aide de la commande suivante :

  ```
  BEGIN
  rdsadmin.rdsadmin_util.create_directory(
              p_directory_name => 'DATA_PUMP_DIR2',
              p_database_volume_name => 'rdsdbdata2');
  END;
  /
  ```
+ Après avoir créé le répertoire, suivez les étapes décrites dans la section [Importation à l'aide d'Oracle Data Pump](Oracle.Procedural.Importing.DataPump.md) pour exporter et importer vos données dans le nouveau répertoire. 
+ Une fois l'opération terminée, supprimez les fichiers et supprimez éventuellement le volume pour réduire les coûts de stockage. Vous ne pouvez supprimer le volume de stockage supplémentaire que lorsqu'il est vide.

## Utilisation des tablespaces transportables Oracle avec un volume de stockage supplémentaire
<a name="User_Oracle_AdditionalStorage.UseCases.TransportableTablespaces"></a>

Vous pouvez utiliser des volumes de stockage supplémentaires pour déplacer des fichiers de données vers un volume de stockage supplémentaire à l'aide des tablespaces transportables Oracle en procédant comme suit :
+ Définissez `db_create_file_dest` le paramètre au niveau de la session avant d'importer des tablespaces transportables dans la base de données cible avec un volume de stockage supplémentaire.

  ```
  ALTER SESSION SET db_create_file_dest = '/rdsdbdata2/db';
  
  VAR x CLOB;
  
  BEGIN
  :x := rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces(
  p_tablespace_list => 'TBTEST1',
  p_directory_name => 'XTTS_DIR_DATA2',
  p_platform_id => 13);
  END;
  /
  
  PRINT :x;
  ```
+ Vérifiez l'état d'importation du tablespace transportable :

  ```
  ALTER SESSION SET nls_date_format = 'DD.MM.YYYY HH24:MI:SS';
  
  COL xtts_operation_start_utc FORMAT A30
  COL xtts_operation_end_utc FORMAT A30
  COL xtts_operation_state FORMAT A30
  COL xtts_operation_type FORMAT A30
  
  SELECT xtts_operation_start_utc, xtts_operation_type, xtts_operation_state
  FROM rdsadmin.rds_xtts_operation_info;
  ```
+ Lorsque l'importation de l'espace disque logique transportable est terminée, importez les métadonnées de l'espace disque logique transportable.

  ```
  BEGIN
  rdsadmin.rdsadmin_transport_util.import_xtts_metadata(
  p_datapump_metadata_file => 'xttdump.dmp',
  p_directory_name => 'XTTS_DIR_DATA2');
  END;
  /
  ```

# Configuration des fonctions avancées RDS for Oracle
<a name="CHAP_Oracle.advanced-features"></a>

RDS for Oracle prend en charge diverses fonctions avancées, notamment HugePages, un stockage d'instances et des types de données étendus.

**Topics**
+ [

# Stockage de données temporaires dans un stockage d'instances RDS for Oracle
](CHAP_Oracle.advanced-features.instance-store.md)
+ [

# Activation de HugePages pour une instance RDS for Oracle
](Oracle.Concepts.HugePages.md)
+ [

# Activation des types de données étendus dans RDS for Oracle
](Oracle.Concepts.ExtendedDataTypes.md)

# Stockage de données temporaires dans un stockage d'instances RDS for Oracle
<a name="CHAP_Oracle.advanced-features.instance-store"></a>

Utilisez un stockage d'instances pour les espaces de table temporaires et le cache Smart Flash de la base de données (le cache flash) sur les classes d'instances de base de données RDS for Oracle prises en charge.

**Topics**
+ [

## Présentation du stockage d'instances RDS for Oracle
](#CHAP_Oracle.advanced-features.instance-store.overview)
+ [

## Activation d'un stockage d'instances RDS for Oracle
](#CHAP_Oracle.advanced-features.instance-store.Enable)
+ [

# Configuration d'un stockage d'instances RDS for Oracle
](CHAP_Oracle.advanced-features.instance-store.configuring.md)
+ [

# Utilisation d'un stockage d'instances sur un réplica en lecture Oracle
](CHAP_Oracle.advanced-features.instance-store.replicas.md)
+ [

# Configuration d'un groupe d'espaces de table temporaires sur un stockage d'instances et Amazon EBS
](CHAP_Oracle.advanced-features.instance-store.temp-ebs.md)
+ [

## Suppression d'un stockage d'instances RDS for Oracle
](#CHAP_Oracle.advanced-features.instance-store.Disable)

## Présentation du stockage d'instances RDS for Oracle
<a name="CHAP_Oracle.advanced-features.instance-store.overview"></a>

Un *stockage d'instances* fournit un stockage temporaire de niveau bloc pour votre instance de base de données RDS for Oracle. Vous pouvez utiliser un stockage d'instances pour stocker temporairement des informations qui changent fréquemment.

Un magasin d'instance est basé sur des périphériques Non-Volatile Memory Express (NVMe) physiquement connectés à l'ordinateur hôte. Le stockage est optimisé pour une faible latence, des I/O performances aléatoires et un débit de lecture séquentiel.

La taille du stockage d'instances varie selon le type d'instance de base de données. Pour plus d'informations sur le stockage d'instances, consultez [Stockage d'instances Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) dans le *Guide de l'utilisateur Amazon Elastic Compute Cloud pour les instances Linux*.

**Topics**
+ [

### Types de données dans le stockage d'instances RDS for Oracle
](#CHAP_Oracle.advanced-features.instance-store.overview.uses)
+ [

### Avantages du stockage d'instances RDS for Oracle
](#CHAP_Oracle.advanced-features.instance-store.overview.benefits)
+ [

### Classes d'instances prises en charge pour le stockage d'instances RDS for Oracle
](#CHAP_Oracle.advanced-features.instance-store.overview.instance-classes)
+ [

### Versions de moteur pris en charge pour le stockage d'instances RDS for Oracle
](#CHAP_Oracle.advanced-features.instance-store.overview.db-versions)
+ [

### Pris en charge Régions AWS pour le magasin d'instances RDS pour Oracle
](#CHAP_Oracle.advanced-features.instance-store.overview.regions)
+ [

### Coût du stockage d'instances RDS for Oracle
](#CHAP_Oracle.advanced-features.instance-store.overview.cost)

### Types de données dans le stockage d'instances RDS for Oracle
<a name="CHAP_Oracle.advanced-features.instance-store.overview.uses"></a>

Vous pouvez placer les types de données temporaires RDS for Oracle suivants dans un stockage d'instances :

Un espace de table temporaire  
Oracle Database utilise des espaces de table temporaires pour stocker les résultats de requêtes intermédiaires qui ne tiennent pas dans la mémoire. Les requêtes plus volumineuses peuvent générer de grandes quantités de données intermédiaires qui doivent être mises en cache temporairement, mais qui n'ont pas besoin de persister. Un espace de table temporaire est particulièrement utile pour les tris, les agrégations par hachage et les jointures. Si votre instance de base de données RDS for Oracle utilise Enterprise Edition ou Standard Edition 2, vous pouvez placer un espace de table temporaire dans un stockage d'instances.

Le cache flash  
Le cache flash améliore les performances des lectures aléatoires à bloc unique dans le chemin conventionnel. Il est recommandé de dimensionner le cache de manière à ce qu'il puisse contenir la majeure partie de votre jeu de données actif. Si votre instance de base de données RDS for Oracle utilise Enterprise Edition, vous pouvez placer le cache flash dans un stockage d'instances.

Par défaut, un stockage d'instances est configuré pour un espace de table temporaire, mais pas pour le cache flash. Vous ne pouvez pas placer les fichiers de données Oracle et les fichiers journaux de base de données dans un stockage d'instances.

### Avantages du stockage d'instances RDS for Oracle
<a name="CHAP_Oracle.advanced-features.instance-store.overview.benefits"></a>

Vous pouvez envisager d'utiliser un stockage d'instances pour stocker des fichiers et des caches temporaires que vous pouvez vous permettre de perdre. Si vous souhaitez améliorer les performances de votre base de données ou si l'augmentation de la charge de travail entraîne des problèmes de performances pour votre stockage Amazon EBS, envisagez de passer à une classe d'instance qui prend en charge un stockage d'instances.

En plaçant votre espace de table temporaire et votre cache flash sur un stockage d'instances, vous bénéficiez des avantages suivants :
+ Latences de lecture inférieures
+ Débit supérieur
+ Réduction de la charge sur vos volumes Amazon EBS
+ Coûts de stockage et d'instantanés réduits grâce à la réduction de la charge Amazon EBS
+ Moins de besoin d'approvisionner des IOPS élevées, ce qui peut réduire votre coût global

 En plaçant votre espace de table temporaire sur le stockage d'instances, vous augmentez immédiatement les performances des requêtes qui utilisent de l'espace temporaire. Lorsque vous placez le cache flash sur le stockage d'instances, les lectures de blocs en cache ont généralement une latence bien inférieure à celle des lectures Amazon EBS. Le cache flash doit être « préparé » avant d'offrir des avantages en termes de performances. Le cache se prépare tout seul car la base de données écrit des blocs dans le cache flash à mesure qu'ils sortent du cache de la base de données.

**Note**  
Dans certains cas, le cache flash entraîne une surcharge des performances en raison de la gestion du cache. Avant d'activer le cache flash dans un environnement de production, nous vous recommandons d'analyser votre charge de travail et de tester le cache dans un environnement de test.

### Classes d'instances prises en charge pour le stockage d'instances RDS for Oracle
<a name="CHAP_Oracle.advanced-features.instance-store.overview.instance-classes"></a>

Amazon RDS prend en charge le stockage d'instances pour les classes d'instances de base de données suivantes :
+ db.m5d
+ db.m6id
+ db.r5d
+ db.r6id
+ db.x2idn
+ db.x2iedn

RDS for Oracle prend en charge les classes d'instances de base de données précédentes uniquement pour le modèle de licence BYOL. Pour plus d’informations, consultez [Classes d’instance de base de données RDS for Oracle prises en charge](Oracle.Concepts.InstanceClasses.md#Oracle.Concepts.InstanceClasses.Supported) et [Bring Your Own License (BYOL) pour EE et SE2](Oracle.Concepts.Licensing.md#Oracle.Concepts.Licensing.BYOL).

Pour connaître le stockage d'instance total pour les types d'instances de base de données pris en charge, exécutez la commande suivante dans la AWS CLI. 

**Example**  

```
aws ec2 describe-instance-types \
  --filters "Name=instance-type,Values=*5d.*large*,*6id.*large*" \
  --query "InstanceTypes[?contains(InstanceType,'m5d')||contains(InstanceType,'r5d')||contains(InstanceType,'m6id')||contains(InstanceType,'r6id')][InstanceType, InstanceStorageInfo.TotalSizeInGB]" \
  --output table
```

La commande précédente renvoie la taille brute du périphérique pour le stockage d'instances. RDS for Oracle utilise une petite partie de cet espace pour la configuration. L'espace disponible dans le stockage d'instances pour les espaces de table temporaires ou le cache flash est légèrement plus petit.

### Versions de moteur pris en charge pour le stockage d'instances RDS for Oracle
<a name="CHAP_Oracle.advanced-features.instance-store.overview.db-versions"></a>

Le stockage d'instances est pris en charge pour les versions de moteur RDS for Oracle suivantes : 
+ Versions 21.0.0.0.ru-2022-01.rur-2022-01.r1 ou versions ultérieures d'Oracle Database 21c
+ Versions 19.0.0.0.ru-2021-10.rur-2021-10.r1 ou versions ultérieures d'Oracle Database 19c

### Pris en charge Régions AWS pour le magasin d'instances RDS pour Oracle
<a name="CHAP_Oracle.advanced-features.instance-store.overview.regions"></a>

Le magasin d'instances est disponible partout Régions AWS où un ou plusieurs de ces types d'instances sont pris en charge. Pour plus d'informations sur les classes d'instance db.m5d et db.r5d, consultez [Classes d'instances de base de données ](Concepts.DBInstanceClass.md). Pour plus d'informations sur les classes d'instance prises en charge par Amazon RDS for Oracle, consultez [Classes d’instance de base de données RDS for Oracle](Oracle.Concepts.InstanceClasses.md).

### Coût du stockage d'instances RDS for Oracle
<a name="CHAP_Oracle.advanced-features.instance-store.overview.cost"></a>

Le coût du stockage d'instances est intégré au coût du stockage d'instances activé sur les instances. Vous n'encourez aucun coût supplémentaire en activant un stockage d'instances sur une instance de base de données RDS for Oracle. Pour plus d'informations sur le stockage d'instances activé sur les instances, consultez [Classes d'instances prises en charge pour le stockage d'instances RDS for Oracle](#CHAP_Oracle.advanced-features.instance-store.overview.instance-classes).

## Activation d'un stockage d'instances RDS for Oracle
<a name="CHAP_Oracle.advanced-features.instance-store.Enable"></a>

Pour activer le stockage d'instances pour les données temporaires RDS for Oracle, effectuez l'une des opérations suivantes :
+ Créez une instance de base de données RDS for Oracle à l'aide d'une classe d'instance prise en charge. Pour plus d’informations, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md).
+ Modifiez une instance de base de données RDS for Oracle à l'aide d'une classe d'instance prise en charge. Pour plus d’informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md).

# Configuration d'un stockage d'instances RDS for Oracle
<a name="CHAP_Oracle.advanced-features.instance-store.configuring"></a>

Par défaut, 100 % de l'espace de stockage d'instances est alloué à l'espace de table temporaire. Pour configurer le stockage d'instances afin d'allouer de l'espace au cache flash et à l'espace de table temporaire, définissez les paramètres suivants dans le groupe de paramètres de votre instance :

**db\$1flash\$1cache\$1size=\$1DBInstanceStore\$1\$10,2,4,6,8,10\$1/10\$1**  
Ce paramètre indique la quantité d'espace de stockage allouée au cache flash. Ce paramètre n'est valide que pour Oracle Database Enterprise Edition. La valeur par défaut est `{DBInstanceStore*0/10}`. Si vous définissez une valeur différente de zéro pour `db_flash_cache_size`, votre instance RDS for Oracle active le cache flash après le redémarrage de l'instance.

**rds.instance\$1store\$1temp\$1size=\$1DBInstanceStore\$1\$10,2,4,6,8,10\$1/10\$1**  
Ce paramètre indique la quantité d'espace de stockage allouée à l'espace de table temporaire. La valeur par défaut est `{DBInstanceStore*10/10}`. Ce paramètre est modifiable pour Oracle Database Enterprise Edition et en lecture seule pour Standard Edition 2. Si vous définissez une valeur différente de zéro pour `rds.instance_store_temp_size`, Amazon RDS alloue de l'espace dans le stockage d'instances pour l'espace de table temporaire.  
Vous pouvez définir les paramètres `db_flash_cache_size` et `rds.instance_store_temp_size` pour les instances de base de données qui n'utilisent pas de stockage d'instances. Dans ce cas, les deux paramètres sont évalués sur `0`, ce qui désactive la fonction. Dans ce cas, vous pouvez utiliser le même groupe de paramètres pour différentes tailles d'instance et pour les instances qui n'utilisent pas de stockage d'instances. Si vous modifiez ces paramètres, veillez à redémarrer les instances associées afin que les modifications puissent prendre effet.  
Si vous allouez de l'espace à un espace de table temporaire, Amazon RDS ne crée pas automatiquement l'espace de table temporaire. Pour savoir comment créer l'espace de table temporaire sur le stockage d'instances, consultez [Création d'un espace de table temporaire sur le stockage d'instances](Appendix.Oracle.CommonDBATasks.TablespacesAndDatafiles.md#Appendix.Oracle.CommonDBATasks.creating-tts-instance-store).

La valeur combinée des paramètres précédents ne doit pas dépasser 10/10 ou 100 %. Le tableau suivant présente les paramètres valides et non valides.


| db\$1flash\$1cache\$1size setting | rds.instance\$1store\$1temp\$1size setting | Explication | 
| --- | --- | --- | 
|  db\$1flash\$1cache\$1size=\$1DBInstanceStore\$10/10\$1  |  rds.instance\$1store\$1temp\$1size=\$1DBInstanceStore\$110/10\$1  |  Il s'agit d'une configuration valide pour toutes les éditions d'Oracle Database. Amazon RDS alloue 100 % de l'espace de stockage d'instances dans l'espace de table temporaire. Il s’agit de l’option par défaut.  | 
|  db\$1flash\$1cache\$1size=\$1DBInstanceStore\$110/10\$1  |  rds.instance\$1store\$1temp\$1size=\$1DBInstanceStore\$10/10\$1  |  Cette configuration n'est valide que pour Oracle Database Enterprise Edition. Amazon RDS alloue 100 % de l'espace de stockage d'instances dans le cache flash.  | 
|  db\$1flash\$1cache\$1size=\$1DBInstanceStore\$12/10\$1  |  rds.instance\$1store\$1temp\$1size=\$1DBInstanceStore\$18/10\$1  |  Cette configuration n'est valide que pour Oracle Database Enterprise Edition. Amazon RDS alloue 20 % de l'espace de stockage d'instances au cache flash et 80 % de l'espace de stockage d'instances à l'espace de table temporaire.  | 
|  db\$1flash\$1cache\$1size=\$1DBInstanceStore\$16/10\$1  |  rds.instance\$1store\$1temp\$1size=\$1DBInstanceStore\$14/10\$1  |  Cette configuration n'est valide que pour Oracle Database Enterprise Edition. Amazon RDS alloue 60 % de l'espace de stockage d'instances au cache flash et 40 % de l'espace de stockage d'instances à l'espace de table temporaire.  | 
|  db\$1flash\$1cache\$1size=\$1DBInstanceStore\$12/10\$1  |  rds.instance\$1store\$1temp\$1size=\$1DBInstanceStore\$14/10\$1  | Cette configuration n'est valide que pour Oracle Database Enterprise Edition. Amazon RDS alloue 20 % de l'espace de stockage d'instances au cache flash et 40 % de l'espace de stockage d'instances à l'espace de table temporaire. | 
|  db\$1flash\$1cache\$1size=\$1DBInstanceStore\$18/10\$1  |  rds.instance\$1store\$1temp\$1size=\$1DBInstanceStore\$18/10\$1  |  Cette configuration n'est pas valide car le pourcentage combiné d'espace de stockage d'instances dépasse 100 %. Dans de tels cas, Amazon RDS échoue.  | 

## Considérations relatives à la modification du type d'instance de base de données
<a name="CHAP_Oracle.advanced-features.instance-store.configuring.modifying"></a>

Si vous modifiez votre type d'instance de base de données, cela peut affecter la configuration du cache flash ou de l'espace de table temporaire sur le stockage d'instances. Tenez compte des modifications suivantes et de leurs effets :

**Vous augmentez ou réduisez la taille de l'instance de base de données qui prend en charge le stockage d'instances.**  
Les valeurs suivantes augmentent ou diminuent proportionnellement à la nouvelle taille du stockage d'instances :  
+ La nouvelle taille du cache flash.
+ L'espace alloué aux espaces de table temporaires qui se trouvent dans le stockage d'instances.
Par exemple, le paramètre `db_flash_cache_size={DBInstanceStore*6/10}` d'une instance db.m5d.4xlarge fournit environ 340 Go d'espace de cache flash. Si vous augmentez le type d'instance à db.m5d.8xlarge, l'espace de cache flash augmente jusqu'à environ 680 Go.

**Vous modifiez une instance de base de données qui n'utilise pas de stockage d'instances en une instance qui utilise un stockage d'instances.**  
Si `db_flash_cache_size` est défini sur une valeur supérieure à `0`, le cache flash est configuré. Si `rds.instance_store_temp_size` est défini sur une valeur supérieure à `0`, l'espace de stockage d'instances est alloué pour être utilisé par un espace de table temporaire. RDS for Oracle ne déplace pas les fichiers temporaires vers le stockage d'instances automatiquement. Pour plus d'informations sur l'utilisation de l'espace alloué, consultez [Création d'un espace de table temporaire sur le stockage d'instances](Appendix.Oracle.CommonDBATasks.TablespacesAndDatafiles.md#Appendix.Oracle.CommonDBATasks.creating-tts-instance-store) ou [Ajout d'un fichier temporaire au stockage d'instances sur un réplica en lecture](Appendix.Oracle.CommonDBATasks.using-tempfiles.md#Appendix.Oracle.CommonDBATasks.adding-tempfile-replica).

**Vous modifiez une instance de base de données qui utilise un stockage d'instances en une instance qui n'utilise pas de stockage d'instances.**  
Dans ce cas, RDS for Oracle supprime le cache flash. RDS recrée le fichier temporaire qui se trouve actuellement sur le stockage d'instances d'un volume Amazon EBS. La taille maximale du nouveau fichier temporaire est l'ancienne taille du paramètre `rds.instance_store_temp_size`.

# Utilisation d'un stockage d'instances sur un réplica en lecture Oracle
<a name="CHAP_Oracle.advanced-features.instance-store.replicas"></a>

Les réplicas en lecture prennent en charge le cache flash et les espaces de table temporaires sur un stockage d'instances. Bien que le cache flash fonctionne de la même manière que sur l'instance de base de données principale, notez les différences suivantes pour les espaces de table temporaires :
+ Vous ne pouvez pas créer un espace de table temporaire sur un réplica en lecture. Si vous créez un nouvel espace de table temporaire sur l'instance principale, RDS for Oracle réplique les informations de l'espace de table sans fichiers temporaires. Pour ajouter un nouveau fichier temporaire, utilisez l'une des techniques suivantes :
  + Utiliser la procédure Amazon RDS `rdsadmin.rdsadmin_util.add_inst_store_tempfile`. RDS for Oracle crée un fichier temporaire dans le stockage d'instances de votre réplica en lecture et l'ajoute à l'espace de table temporaire spécifié.
  + Exécutez la commande `ALTER TABLESPACE … ADD TEMPFILE`. RDS for Oracle place le fichier temporaire sur le stockage Amazon EBS.
**Note**  
La taille du fichier temporaire et les types de stockage peuvent être différents sur l'instance de base de données principale et sur le réplica en lecture.
+ Vous pouvez gérer le paramètre d'espace de table temporaire par défaut uniquement sur l'instance de base de données principale. RDS for Oracle réplique le paramètre sur toutes les réplicas en lecture.
+ Vous pouvez configurer le paramètre d'espace de table temporaire par défaut uniquement sur l'instance de base de données principale. RDS for Oracle réplique le paramètre sur toutes les réplicas en lecture.

# Configuration d'un groupe d'espaces de table temporaires sur un stockage d'instances et Amazon EBS
<a name="CHAP_Oracle.advanced-features.instance-store.temp-ebs"></a>

Vous pouvez configurer un groupe d'espaces de table temporaires pour inclure des espaces de table temporaires à la fois sur un stockage d'instances et sur Amazon EBS. Cette technique est utile lorsque vous souhaitez disposer d'un espace de stockage temporaire supérieur à celui autorisé par le paramètre maximum de `rds.instance_store_temp_size`.

Lorsque vous configurez un groupe d'espaces de table temporaires à la fois sur un stockage d'instances et sur Amazon EBS, les deux espaces de table présentent des caractéristiques de performance très différentes. Oracle Database choisit l'espace de table pour traiter les requêtes en fonction d'un algorithme interne. Par conséquent, les requêtes similaires peuvent varier en termes de performances.

En général, vous créez un espace de table temporaire dans le stockage d'instances comme suit :

1. Créez un espace de table temporaire sur le stockage d'instances.

1. Définissez le nouvel espace de table comme l'espace de table temporaire par défaut de la base de données.

Si la taille de l'espace de table dans le stockage d'instances est insuffisante, vous pouvez créer un espace de stockage temporaire supplémentaire comme suit :

1. Attribuez l'espace de table temporaire du stockage d'instances à un groupe d'espaces de table temporaires.

1. Créez un nouvel espace de table temporaire dans Amazon EBS s'il n'en existe pas.

1. Attribuez l'espace de table temporaire dans Amazon EBS au même groupe d'espaces de table qui inclut l'espace de table du stockage d'instances.

1. Définissez le groupe d'espaces de table comme l'espace de table temporaire par défaut.

L'exemple suivant suppose que la taille de l'espace de table temporaire dans le stockage d'instances ne répond pas aux exigences de votre application. L'exemple crée l'espace de table temporaire `temp_in_inst_store` dans le stockage d'instances, l'attribue au groupe d'espaces de table `temp_group`, ajoute l'espace de table Amazon EBS existant nommé `temp_in_ebs` à ce groupe et définit ce groupe comme l'espace de table temporaire par défaut.

```
SQL> EXEC rdsadmin.rdsadmin_util.create_inst_store_tmp_tblspace('temp_in_inst_store');

PL/SQL procedure successfully completed.

SQL> ALTER TABLESPACE temp_in_inst_store TABLESPACE GROUP temp_group;

Tablespace altered.

SQL> ALTER TABLESPACE temp_in_ebs TABLESPACE GROUP temp_group;

Tablespace altered.

SQL> EXEC rdsadmin.rdsadmin_util.alter_default_temp_tablespace('temp_group');

PL/SQL procedure successfully completed.

SQL> SELECT * FROM DBA_TABLESPACE_GROUPS;

GROUP_NAME                     TABLESPACE_NAME
------------------------------ ------------------------------
TEMP_GROUP                     TEMP_IN_EBS
TEMP_GROUP                     TEMP_IN_INST_STORE

SQL> SELECT PROPERTY_VALUE FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME='DEFAULT_TEMP_TABLESPACE';

PROPERTY_VALUE
--------------
TEMP_GROUP
```

## Suppression d'un stockage d'instances RDS for Oracle
<a name="CHAP_Oracle.advanced-features.instance-store.Disable"></a>

Pour supprimer le stockage d'instances, modifiez votre instance de base de données RDS for Oracle pour utiliser un type d'instance qui ne prend pas en charge le stockage d'instances, tel que db.m5 ou db.r5.

# Activation de HugePages pour une instance RDS for Oracle
<a name="Oracle.Concepts.HugePages"></a>

Amazon RDS for Oracle prend en charge la fonctionnalité HugePages du noyau Linux pour obtenir une base de données plus évolutive. HugePages réduit la taille des tables de page et le temps UC de gestion de la mémoire, ce qui augmente les performances des instances de bases de données volumineuses. Pour plus d'informations, consultez [Overview of HugePages (Présentation des grandes pages)](https://docs.oracle.com/database/121/UNXAR/appi_vlm.htm#UNXAR400) dans la documentation Oracle. 

Vous pouvez utiliser HugePages avec toutes les versions et éditions de RDS for Oracle prises en charge.

 Le paramètre `use_large_pages` contrôle si HugePages est activé pour une instance de base de données. Les valeurs possibles pour ce paramètre sont `ONLY`, `FALSE` et `{DBInstanceClassHugePagesDefault}`. Le paramètre `use_large_pages` est défini sur `{DBInstanceClassHugePagesDefault}` dans le groupe de paramètres DB par défaut pour Oracle. 

Pour contrôler si HugePages est activé automatiquement pour une instance de base de données, vous pouvez utiliser la variable de formule `DBInstanceClassHugePagesDefault` dans les groupes de paramètres. La valeur est déterminée comme suit :
+ Pour les classes d'instance de base de données indiquées dans le tableau suivant, `DBInstanceClassHugePagesDefault` a toujours la valeur `FALSE` par défaut, et `use_large_pages` a la valeur `FALSE`. Vous pouvez activer HugePages manuellement pour ces instances de base de données si la classe d'instance de bases de données dispose d'au moins 14 Gio de mémoire.
+ Pour les classes d'instance de base de données non mentionnées dans le tableau suivant, si la classe d'instance de base de données possède au moins 14 Gio de mémoire, `DBInstanceClassHugePagesDefault` a toujours la valeur `FALSE`. En outre, `use_large_pages` a la valeur `FALSE`.
+ Pour les classes d'instance de base de données non mentionnées dans le tableau suivant, si la classe d'instance possède au moins 14 Gio de mémoire et moins de 100 Gio de mémoire, `DBInstanceClassHugePagesDefault` a la valeur `TRUE` par défaut. En outre, `use_large_pages` a la valeur `ONLY`. Vous pouvez désactiver HugePages manuellement en définissant `use_large_pages` sur `FALSE`.
+ Pour les classes d'instance de base de données non mentionnées dans le tableau suivant, si la classe d'instance possède au moins 100 Gio de mémoire, `DBInstanceClassHugePagesDefault` a toujours la valeur `TRUE`. En outre, `use_large_pages` a la valeur `ONLY` et HugePages ne peut pas être désactivé.

HugePages n'est pas activé par défaut pour les classes d'instance de base de données suivantes. 


****  

| Famille de classes d'instance de base de données | Classes d'instance de base de données avec HugePages non activé par défaut | 
| --- | --- | 
|  db.m5  |  db.m5.large  | 
|  db.m4  |  db.m4.large, db.m4.xlarge, db.m4.2xlarge, db.m4.4xlarge, db.m4.10xlarge  | 
|  db.t3  |  db.t3.micro, db.t3.small, db.t3.medium, db.t3.large  | 

Pour plus d'informations sur les classes d'instance DB, consultez [Spécifications matérielles pour les classes d'instances de base de données ](Concepts.DBInstanceClass.Summary.md). 

Pour activer manuellement HugePages pour des instances de bases de données nouvelles ou existantes, définissez le paramètre `use_large_pages` sur `ONLY`. Vous ne pouvez pas utiliser HugePages avec Oracle Automatic Memory Management (AMM). Si vous définissez le paramètre `use_large_pages` sur `ONLY`, vous devez aussi définir `memory_target` et `memory_max_target` sur `0`. Pour plus d'informations sur la définition des paramètres de votre instance de base de données, consultez [Groupes de paramètres pour Amazon RDS](USER_WorkingWithParamGroups.md). 

Vous pouvez aussi définir les paramètres `sga_target`, `sga_max_size` et `pga_aggregate_target`. Lorsque vous définissez les paramètres de mémoire des zones SGA (System Global Area) et PGA (Program Global Area), ajoutez les valeurs ensemble. Soustrayez ce total de votre mémoire d'instance disponible (`DBInstanceClassMemory`) pour déterminer l'espace mémoire libre restant au-delà de l'attribution par HugePages. Vous devez conserver une mémoire libre d'au moins 2 Gio ou égale à 10 pourcent de la mémoire totale disponible de l'instance, la plus petite des deux valeurs étant retenue. 

Après avoir configuré vos paramètres, vous devez redémarrer votre instance de base de données pour que les modifications soient effectives. Pour plus d'informations, consultez [Redémarrage d'une instance de base de données cluster de base de données](USER_RebootInstance.md). 

**Note**  
L'instance de base de données Oracle diffère les modifications apportées aux paramètres d'initialisation liés à la SGA jusqu'à ce que vous redémarriez l'instance sans basculement. Dans la console Amazon RDS, choisissez **Redémarrer**, mais *ne choisissez pas* **Redémarrer avec basculement**. Dans la AWS CLI, appelez la commande `reboot-db-instance` avec le paramètre `--no-force-failover`. L'instance de base de données ne traite pas les paramètres liés à la SGA pendant le basculement ou lors d'autres opérations de maintenance qui provoquent le redémarrage de l'instance.

Voici un exemple de configuration de paramètres pour HugePages activant manuellement HugePages. Vous devez définir les valeurs qui répondent à vos besoins. 

```
1. memory_target            = 0
2. memory_max_target        = 0
3. pga_aggregate_target     = {DBInstanceClassMemory*1/8}
4. sga_target               = {DBInstanceClassMemory*3/4}
5. sga_max_size             = {DBInstanceClassMemory*3/4}
6. use_large_pages          = ONLY
```

Supposons que les valeurs des paramètres suivantes sont définies dans un groupe de paramètres.

```
1. memory_target            = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4})
2. memory_max_target        = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4})
3. pga_aggregate_target     = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*1/8}, 0)
4. sga_target               = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0)
5. sga_max_size             = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0)
6. use_large_pages          = {DBInstanceClassHugePagesDefault}
```

Le groupe de paramètres est utilisé par une classe d'instance de base de données db.r4 dotée de moins de 100 Gio de mémoire. Avec ces paramètres et `use_large_pages` défini sur `{DBInstanceClassHugePagesDefault}`, HugePages est activé sur l'instance db.r4.

Supposons que les valeurs des paramètres suivantes sont définies dans un groupe de paramètres.

```
1. memory_target           = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4})
2. memory_max_target       = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4})
3. pga_aggregate_target    = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*1/8}, 0)
4. sga_target              = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0)
5. sga_max_size            = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0)
6. use_large_pages         = FALSE
```

Le groupe de paramètres est utilisé par une classe d'instance de base de données db.r4 et une classe d'instance de base de données db.r5, toutes deux avec plus de 100 Gio de mémoire. Avec ces paramètres, HugePages est désactivé sur les instances db.r4 et db.r5.

**Note**  
Si ce groupe de paramètres est utilisé par une classe d'instance de base de données db.r4 ou db.r5 avec au moins 100 Gio de mémoire, la valeur de `FALSE` pour `use_large_pages` est remplacée et définie sur `ONLY`. Dans ce cas, une notification concernant le remplacement est envoyée au client.

Lorsque HugePages est activé sur votre instance de base de données, vous pouvez afficher les informations sur HugePages en activant la surveillance améliorée. Pour de plus amples informations, consultez [Surveillance des métriques du système d’exploitation à l’aide de la Surveillance améliorée](USER_Monitoring.OS.md). 

# Activation des types de données étendus dans RDS for Oracle
<a name="Oracle.Concepts.ExtendedDataTypes"></a>

Amazon RDS for Oracle prend en charge les types de données étendus. Avec les types de données étendus, la taille maximale est de 32 767 octets pour les types de données `VARCHAR2`, `NVARCHAR2` et `RAW`. Pour utiliser les types de données étendus, définissez le paramètre `MAX_STRING_SIZE` sur `EXTENDED`. Pour plus d'informations, consultez [Extended Data Types](https://docs.oracle.com/database/121/SQLRF/sql_elements001.htm#SQLRF55623) dans la documentation Oracle. 

Si vous ne souhaitez pas utiliser les types de données étendus, gardez le paramètre `MAX_STRING_SIZE` défini sur `STANDARD` (par défaut). Dans ce cas, les limites de taille sont 4 000 octets pour les types de données `VARCHAR2` et `NVARCHAR2`, et 2 000 octets pour le type de données RAW.

Vous pouvez activer les types de données étendus sur une instance de base de données nouvelle ou existante. Pour les nouvelles instances de base de données, la durée nécessaire pour créer une instance de base de données est généralement plus longue lorsque vous activez les types de données étendus. Pour les instances de base de données existantes, l'instance de base de données n'est pas disponible pendant le processus de conversion.

## Considérations relatives aux types de données étendus
<a name="Oracle.Concepts.ExtendedDataTypes.considerations"></a>

Tenez compte des points suivants lorsque vous activez des types de données étendus pour votre instance de base de données :
+ Lorsque vous activez les types de données étendus pour une instance de base de données nouvelle ou existante, vous devez redémarrer l’instance pour que la modification prenne effet. 
+ Après avoir activé les types de données étendus, vous ne pouvez pas modifier l’instance de base de données pour qu’elle utilise à nouveau la taille standard pour les types de données. Si vous redéfinissez le paramètre `MAX_STRING_SIZE` à nouveau sur `STANDARD`, cela entraîne le statut `incompatible-parameters`.
+ Lorsque vous restaurez une instance de base de données qui utilise des types de données étendus, vous devez spécifier un groupe de paramètres avec le paramètre `MAX_STRING_SIZE` défini sur `EXTENDED`. Pendant la restauration, si vous spécifiez le groupe de paramètres par défaut ou tout autre groupe de paramètres avec le paramètre `MAX_STRING_SIZE` défini sur `STANDARD` le statut devient `incompatible-parameters`.
+ Lorsque l'état de l'instance de base de données est `incompatible-parameters` à cause du paramètre `MAX_STRING_SIZE`, l'instance de base de données reste indisponible jusqu'à ce que le paramètre `MAX_STRING_SIZE` soit défini sur `EXTENDED` et que l'instance de base de données soit redémarrée.

## Activation des types de données étendus pour une nouvelle instance de base de données
<a name="Oracle.Concepts.ExtendedDataTypes.CreateDBInstance"></a>

Lorsque vous créez une instance de base de données avec `MAX_STRING_SIZE` défini sur `EXTENDED`, l’instance affiche `MAX_STRING_SIZE` défini sur la valeur par défaut `STANDARD`. Redémarrez l’instance pour activer la modification.

**Activer les types de données étendus pour une nouvelle instance de base de données**

1. Définissez le paramètre `MAX_STRING_SIZE` sur `EXTENDED` dans un groupe de paramètres.

   Pour définir le paramètre, vous pouvez créer un groupe de paramètres de base de données ou modifier un groupe de paramètres existant.

   Pour plus d’informations, consultez [Groupes de paramètres pour Amazon RDS](USER_WorkingWithParamGroups.md).

1. Créez une nouvelle instance de base de données RDS for Oracle.

   Pour plus d’informations, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md).

1. Associez le groupe de paramètres avec `MAX_STRING_SIZE` défini sur `EXTENDED` à l'instance de base de données.

   Pour plus d’informations, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md).

1. Redémarrez l'instance de base de données pour que la modification des paramètres prenne effet.

   Pour plus d’informations, consultez [Redémarrage d'une instance de base de données cluster de base de données](USER_RebootInstance.md).

## Activation des types de données étendus pour une instance de base de données existante
<a name="Oracle.Concepts.ExtendedDataTypes.ModifyDBInstance"></a>

Lorsque vous modifiez une instance de base de données afin d'activer les types de données étendus, RDS convertit les données de la base de données afin d'utiliser les tailles étendues. La conversion et les temps d'arrêt interviennent lors du prochain redémarrage de la base de données après la modification du paramètre. L'instance de base de données n'est pas disponible pendant la conversion. 

La durée nécessaire pour convertir les données dépend de la classe d'instances de base de données, de la taille de la base de données et de l'heure du dernier instantané de base de données. Pour réduire les temps d'arrêt, pensez à prendre un instantané juste avant le redémarrage. Cela permet de raccourcir la durée de la sauvegarde qui a lieu pendant le flux de travail de conversion.

**Note**  
Une fois que vous avez activé les types de données étendus, vous ne pouvez pas effectuer de point-in-time restauration à un moment donné pendant la conversion. Vous pouvez restaurer au moment précédant immédiatement la conversion ou au moment suivant immédiatement la conversion.

**Activer les types de données étendus pour une instance de base de données existante**

1. Créez un instantané de la base de données.

   S'il existe des objets no valides dans la base de données, Amazon RDS tente de les recompiler. La conversion en vue d'activer les types de données étendus peut échouer si Amazon RDS ne peut pas recompiler un objet non valide. L'instantané vous permet de restaurer la base de données en cas de problème avec la conversion. Vérifiez toujours la présence d'objets non valides avant la conversion afin d'y apporter une solution ou de les supprimer. Pour les bases de données de production, nous vous conseillons d'abord de tester le processus de conversion sur une copie de votre instance de base de données.

   Pour plus d'informations, consultez [Création d’un instantané de base de données pour une instance de base de données mono-AZ pour Amazon RDS](USER_CreateSnapshot.md).

1. Définissez le paramètre `MAX_STRING_SIZE` sur `EXTENDED` dans un groupe de paramètres.

   Pour définir le paramètre, vous pouvez créer un groupe de paramètres de base de données ou modifier un groupe de paramètres existant.

   Pour plus d'informations, consultez [Groupes de paramètres pour Amazon RDS](USER_WorkingWithParamGroups.md).

1. Modifiez l'instance de base de données afin de l'associer au groupe de paramètres avec le paramètre `MAX_STRING_SIZE` défini sur `EXTENDED`.

   Pour plus d'informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md).

1. Redémarrez l'instance de base de données pour que la modification des paramètres prenne effet.

   Pour plus d'informations, consultez [Redémarrage d'une instance de base de données cluster de base de données](USER_RebootInstance.md).

# Importation de données dans Oracle sur Amazon RDS
<a name="Oracle.Procedural.Importing"></a>

La façon dont vous importez des données dans une instance de base de données Amazon RDS for Oracle dépend des éléments suivants : 
+ La quantité de données dont vous disposez
+ Le nombre d'objets de base de données dans votre base de données
+ La variété d'objets de base de données dans votre base de données

Par exemple, vous pouvez utiliser les outils suivants, en fonction de vos besoins :
+ Oracle SQL Developer – Importez une base de données simple de 20 Mo.
+ Oracle Data Pump – Importez des bases de données complexes ou des bases de données de centaines de mégaoctets ou de plusieurs téraoctets. Par exemple, vous pouvez transporter des espaces de table depuis une base de données sur site vers votre instance de base de données RDS for Oracle. Vous pouvez utiliser Amazon S3 ou Amazon EFS pour transférer les fichiers de données et les métadonnées. Pour plus d’informations, consultez [Migration à l'aide des espaces de table transportables Oracle](oracle-migrating-tts.md), [Intégration Amazon EFS](oracle-efs-integration.md) et [Intégration Amazon S3](oracle-s3-integration.md).
+ AWS Database Migration Service (AWS DMS) – Migrez des bases de données sans interruption. Pour plus d'informations sur AWS DMS, consultez [Présentation d'AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) et le billet de blog [Migration de bases de données Oracle avec un temps d'arrêt quasi nul à l'aide d'AWS DMS](https://aws.amazon.com/blogs/database/migrating-oracle-databases-with-near-zero-downtime-using-aws-dms/).

**Important**  
Avant d'utiliser les techniques de migration précédentes, nous vous recommandons de sauvegarder votre base de données. Après avoir importé les données, vous pouvez sauvegarder vos instances de base de données RDS for Oracle en créant des instantanés. Vous pouvez restaurer ultérieurement les instantanés. Pour plus d'informations, consultez [Sauvegarde, restauration et exportation de données](CHAP_CommonTasks.BackupRestore.md).

Pour de nombreux moteurs de base de données, la réplication en cours peut se poursuivre jusqu'à ce que vous soyez prêt à basculer sur la base de données cible. Vous pouvez utiliser AWS DMS pour migrer vers RDS for Oracle à partir du même moteur de base de données ou d'un moteur différent. Si vous migrez à partir d'un moteur de base de données différent, vous pouvez utiliser l'AWS Schema Conversion Tool pour migrer les objets de schéma que AWS DMS ne migre pas.

**Topics**
+ [

# Importation à l'aide d'Oracle SQL Developer
](Oracle.Procedural.Importing.SQLDeveloper.md)
+ [

# Migration à l'aide des espaces de table transportables Oracle
](oracle-migrating-tts.md)
+ [

# Importation à l'aide d'Oracle Data Pump
](Oracle.Procedural.Importing.DataPump.md)
+ [

# Importation avec les utilitaires d’importation/importation d’Oracle
](Oracle.Procedural.Importing.ExportImport.md)
+ [

# Importation avec Oracle SQL\$1Loader
](Oracle.Procedural.Importing.SQLLoader.md)
+ [

# Migration avec les vues matérialisées d'Oracle
](Oracle.Procedural.Importing.Materialized.md)

# Importation à l'aide d'Oracle SQL Developer
<a name="Oracle.Procedural.Importing.SQLDeveloper"></a>

Oracle SQL Developer est un outil Java graphique distribué gratuitement par Oracle. SQL Developer offre des options pour la migration des données entre deux bases de données Oracle, ou pour la migration des données d'autres bases de données, telles que MySQL, vers une base de données Oracle. Cet outil convient parfaitement à la migration de bases de données peu volumineuses. 

Vous pouvez installer cet outil sur votre ordinateur de bureau (Windows, Linux ou Mac) ou l'un de vos serveurs. Après avoir installé SQL Developer, vous pouvez l'utiliser pour vous connecter à vos bases de données source et cible. Utilisez la commande **Copie de la base de données** dans le menu Outils pour copier vos données vers votre instance de base de données RDS for Oracle. 

Pour télécharger SQL Developer, consultez [ http://www.oracle.com/technetwork/developer-tools/sql-developer](http://www.oracle.com/technetwork/developer-tools/sql-developer). 

Nous vous recommandons de lire la documentation de produit Oracle SQL Developer avant de commencer à migrer vos données. Oracle possède également une documentation sur la façon de migrer depuis d'autres bases de données dont MySQL et SQL Server. Pour plus d'informations, consultez [http://www.oracle.com/technetwork/database/migration](http://www.oracle.com/technetwork/database/migration) dans la documentation Oracle. 

# Migration à l'aide des espaces de table transportables Oracle
<a name="oracle-migrating-tts"></a>

Vous pouvez utiliser la fonctionnalité d'espaces de table transportables Oracle pour copier un ensemble d'espaces de table à partir d'une base de données Oracle sur site vers une instance de base de données RDS for Oracle. Au niveau physique, vous transférez les fichiers de données et de métadonnées sources vers votre instance de base de données cible avec Amazon EFS ou Amazon S3. La fonctionnalité de tablespaces transportables utilise le package `rdsadmin.rdsadmin_transport_util`. Pour la syntaxe et la sémantique de ce package, consultez [Transport des espaces de table](rdsadmin_transport_util.md).

Pour les articles de blog expliquant comment transporter des espaces disque logiques, consultez les sections [Migrer les bases de données Oracle vers des tablespaces transportables et Amazon RDS for Oracle Transportable Tablespaces à l' AWS aide](https://aws.amazon.com/blogs/database/migrate-oracle-databases-to-aws-using-transportable-tablespace/) [de RMAN.](https://aws.amazon.com/blogs/database/amazon-rds-for-oracle-transportable-tablespaces-using-rman/)

**Topics**
+ [

## Vue d'ensemble des espaces de table transportables Oracle
](#oracle-migrating-tts.overview)
+ [

## Phase 1 : Configuration de votre hôte source
](#oracle-migrating-tts.setup-phase)
+ [

## Phase 2 : Préparation de la sauvegarde complète des espaces de table
](#oracle-migrating-tts.initial-br-phase)
+ [

## Phase 3 : Création et transfert de sauvegardes incrémentielles
](#oracle-migrating-tts.roll-forward-phase)
+ [

## Phase 4 : Transport des espaces de table
](#oracle-migrating-tts.final-br-phase)
+ [

## Phase 5 : Validation des espaces de table transportés
](#oracle-migrating-tts.validate)
+ [

## Phase 6 : Nettoyage des fichiers restants
](#oracle-migrating-tts.cleanup)

## Vue d'ensemble des espaces de table transportables Oracle
<a name="oracle-migrating-tts.overview"></a>

Un ensemble d'espaces de table transportables se compose de fichiers de données pour l'ensemble d'espaces de table en cours de transport et d'un fichier de vidage d'exportation contenant les métadonnées des espaces de table. Dans une solution de migration physique telle que les espaces de table transportables, vous transférez des fichiers physiques : fichiers de données, fichiers de configuration et fichiers de vidage Data Pump.

**Topics**
+ [

### Avantages et inconvénients des espaces de table transportables
](#oracle-migrating-tts.overview.benefits)
+ [

### Limitations applicables aux espaces de table transportables
](#oracle-migrating-tts.limitations)
+ [

### Prérequis pour les espaces de table transportables
](#oracle-migrating-tts.requirements)

### Avantages et inconvénients des espaces de table transportables
<a name="oracle-migrating-tts.overview.benefits"></a>

Nous vous recommandons d'utiliser des espaces de table transportables lorsque vous devez migrer un ou plusieurs espaces de table volumineux vers RDS avec un minimum de temps d'arrêt. Les espaces de table transportables offrent les avantages suivants par rapport à la migration logique :
+ Les temps d'arrêt sont inférieurs à ceux de la plupart des autres solutions de migration Oracle.
+ Comme la fonctionnalité des espaces de table transportables copie uniquement les fichiers physiques, elle évite les erreurs d'intégrité des données et la corruption logique qui peuvent survenir lors d'une migration logique.
+ Aucune licence supplémentaire n'est requise.
+ Vous pouvez migrer un ensemble d'espaces de table entre différentes plateformes et différents types d'endianisme, par exemple d'une plateforme Oracle Solaris vers Linux. Toutefois, le transport des espaces de table vers et depuis des serveurs Windows n'est pas pris en charge.
**Note**  
Linux est entièrement testé et pris en charge. Toutes les variantes UNIX n'ont pas été testées.

Si vous utilisez des espaces de table transportables, vous pouvez transporter les données à l'aide d'Amazon S3 ou d'Amazon EFS :
+ Lorsque vous utilisez EFS, vos sauvegardes restent dans le système de fichiers EFS pendant toute la durée de l'importation. Vous pouvez ensuite supprimer les fichiers. Dans cette technique, vous n'avez pas besoin de provisionner le stockage EBS pour votre instance de base de données. C'est pourquoi nous vous recommandons d'utiliser Amazon EFS plutôt que S3. Pour plus d’informations, consultez [Intégration Amazon EFS](oracle-efs-integration.md).
+ Lorsque vous utilisez S3, vous téléchargez des sauvegardes RMAN sur le stockage EBS attaché à votre instance de base de données. Les fichiers restent dans votre stockage EBS pendant l'importation. Après l'importation, vous pouvez libérer cet espace, qui reste alloué à votre instance de base de données.

Le principal inconvénient des espaces de table transportables est que vous nécessitez une connaissance relativement avancée d'Oracle Database. Pour plus d'informations, consultez [Transport des espaces de table entre bases de données](https://docs.oracle.com/en/database/oracle/oracle-database/19/admin/transporting-data.html#GUID-F7B2B591-AA88-4D16-8DCF-712763923FFB) dans le *Guide de l'administrateur Oracle Database* (langue française non garantie).

### Limitations applicables aux espaces de table transportables
<a name="oracle-migrating-tts.limitations"></a>

Les limitations Oracle Database pour les espaces de table transportables s'appliquent lorsque vous utilisez cette fonctionnalité dans RDS for Oracle. Pour plus d'informations, consultez [Limitations relatives aux espaces de table transportables]( https://docs.oracle.com/en/database/oracle/oracle-database/19/admin/transporting-data.html#GUID-DAB51E42-9BBC-4001-B5CB-0ECDBE128787) et [Limitations générales relatives au transport de données](https://docs.oracle.com/en/database/oracle/oracle-database/19/admin/transporting-data.html#GUID-28800719-6CB9-4A71-95DD-4B61AA603173) dans le *Guide de l'administrateur Oracle Database* (langue française non garantie). Notez les limitations supplémentaires suivantes pour les espaces de table transportables dans RDS for Oracle :
+ Ni la base de données source ni la base de données cible ne peuvent utiliser Standard Edition 2 (SE2). Seule Enterprise Edition est prise en charge.
+ Vous ne pouvez pas utiliser une base de données Oracle Database 11g comme source. La fonctionnalité de tablespaces transportables multiplateformes RMAN repose sur le mécanisme de transport RMAN, qu’Oracle Database 11g ne prend pas en charge.
+ Vous ne pouvez pas migrer des données depuis une instance de base de données RDS for Oracle en utilisant des espaces de table transportables. Vous pouvez uniquement utiliser des espaces de table transportables pour migrer des données vers une instance de base de données RDS for Oracle.
+ Le système d'exploitation Windows n'est pas pris en charge.
+ Vous ne pouvez pas transporter des espaces de table vers une base de données à un niveau de version inférieur. La base de données cible doit être à un niveau de version égal ou supérieur à celui de la base de données source. Par exemple, vous ne pouvez pas transporter des espaces de table d'Oracle Database 21c vers Oracle Database 19c.
+ Vous ne pouvez pas transporter des espaces de table administratifs tels que `SYSTEM` et `SYSAUX`.
+ Vous ne pouvez pas transporter d'objets autres que des données tels que des PL/SQL packages, des classes Java, des vues, des déclencheurs, des séquences, des utilisateurs, des rôles et des tables temporaires. Pour transporter des objets autres que des données, créez-les manuellement ou utilisez l’exportation et l’importation de métadonnées Data Pump. Pour plus d’informations, consultez la [Note de support My Oracle 1454872.1](https://support.oracle.com/knowledge/Oracle%20Cloud/1454872_1.html).
+ Vous ne pouvez pas transporter des espaces de table chiffrés ou qui utilisent des colonnes chiffrées.
+ Si vous transférez des fichiers à l'aide d'Amazon S3, la taille de fichier maximale prise en charge est de 5 Tio.
+ Si la base de données source utilise des options Oracle telles que Spatial, vous ne pouvez pas transporter des espaces de table à moins que les mêmes options soient configurées sur la base de données cible.
+ Vous ne pouvez pas transporter des espaces de table vers une instance de base de données RDS for Oracle dans une configuration de réplicas Oracle. Pour contourner ce problème, vous pouvez supprimer tous les réplicas, transporter les espaces de table, puis recréer les réplicas.

### Prérequis pour les espaces de table transportables
<a name="oracle-migrating-tts.requirements"></a>

 Avant de commencer, effectuez les tâches suivantes :
+ Passez en revue les exigences en matière d'espaces de table transportables, décrites dans les documents suivants figurant dans My Oracle Support :
  + [Réduire les temps d'arrêt des espaces de table transportables en utilisant la sauvegarde incrémentielle multiplateforme (ID de document 2471245.1)](https://support.oracle.com/epmos/faces/DocumentDisplay?id=2471245.1) (langue française non garantie)
  + [Restrictions et limites relatives aux espaces de table transportables (TTS) : détails, référence et version, le cas échéant (ID de document 1454872.1)](https://support.oracle.com/epmos/faces/DocumentDisplay?id=1454872.1) (langue française non garantie)
  + [Note principale concernant les espaces de table transportables (TTS) -- Questions et problèmes courants (ID de document 1166564.1)](https://support.oracle.com/epmos/faces/DocumentDisplay?id=1166564.1) (langue française non garantie)
+ Prévoyez la conversion de l'endianisme. Si vous spécifiez l'identifiant de la plateforme source, RDS for Oracle convertit automatiquement l'endianisme. Pour savoir comment trouver une plateforme IDs, consultez [Data Guard Support for Heterogenous Primary and Physical Standbys in Same Data Guard configuration (Doc ID](https://support.oracle.com/epmos/faces/DocumentDisplay?id=413484.1) 413484.1). 
+ Assurez-vous que la fonctionnalité des espaces de table transportables est activée sur votre instance de base de données cible. Cette fonctionnalité est activée uniquement si vous n'obtenez pas une erreur `ORA-20304` lorsque vous exécutez la requête suivante :

  ```
  SELECT * FROM TABLE(rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files);
  ```

  Si la fonctionnalité des espaces de table transportables n'est pas activée, redémarrez votre instance de base de données. Pour plus d’informations, consultez [Redémarrage d'une instance de base de données cluster de base de données](USER_RebootInstance.md).
+ Assurez-vous que le fichier de fuseau horaire est identique dans les bases de données source et cible.
+ Assurez-vous que les jeux de caractères des bases de données source et cible répondent à l’une des exigences suivantes :
  + Les jeux de caractères sont identiques.
  + Les jeux de caractères sont compatibles. Pour obtenir la liste des exigences de compatibilité, consultez [Limitations générales relatives au transport de données](https://docs.oracle.com/en/database/oracle/oracle-database/19/spmdu/general-limitations-on-transporting-data.html#GUID-28800719-6CB9-4A71-95DD-4B61AA603173) dans la documentation d’Oracle Database.
+ Si vous envisagez de transférer des fichiers à l'aide d'Amazon S3, procédez comme suit :
  + Assurez-vous qu'un compartiment Amazon S3 est disponible pour les transferts de fichiers et qu'il se trouve dans la même AWS région que votre instance de base de données. Pour plus d’informations, consultez [Créer un compartiment](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingABucket.html) dans le *Guide de démarrage d’Amazon Simple Storage Service*.
  + Préparez le compartiment Amazon S3 pour l'intégration d'Amazon RDS en suivant les instructions fournies dans [Configuration des autorisations IAM pour l'intégration de RDS for Oracle à Amazon S3](oracle-s3-integration.preparing.md).
+ Si vous envisagez de transférer des fichiers à l'aide d'Amazon EFS, assurez-vous d'avoir configuré EFS conformément aux instructions fournies dans [Intégration Amazon EFS](oracle-efs-integration.md).
+ Nous vous recommandons vivement d'activer les sauvegardes automatiques dans votre instance de base de données cible. Comme l'[étape d'importation des métadonnées](#oracle-migrating-tts.transport.import-dmp) peut échouer, il est important de pouvoir restaurer votre instance de base de données dans son état d'avant l'importation, afin d'éviter d'avoir à sauvegarder, transférer et importer à nouveau vos espaces de table.

## Phase 1 : Configuration de votre hôte source
<a name="oracle-migrating-tts.setup-phase"></a>

Au cours de cette étape, vous copiez les scripts de transport des espaces de table fournis par My Oracle Support et configurez les fichiers de configuration nécessaires. Dans les étapes suivantes, l'*hôte source* exécute la base de données qui contient les espaces de table à transporter vers votre *instance cible*.

**Pour configurer votre hôte source**

1. Connectez-vous à votre hôte source en tant que propriétaire de votre répertoire de base Oracle.

1. Assurez-vous que vos variables d'environnement `ORACLE_HOME` et `ORACLE_SID` pointent vers votre base de données source.

1. Connectez-vous à votre base de données en tant qu'administrateur et vérifiez que la version de fuseau horaire, le jeu de caractères de base de données et le jeu de caractères national sont identiques à ceux de votre base de données cible.

   ```
   SELECT * FROM V$TIMEZONE_FILE;
   SELECT * FROM NLS_DATABASE_PARAMETERS 
     WHERE PARAMETER IN ('NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET');
   ```

1. Configurez l'utilitaire d'espace de table transportable comme décrit dans la [note de support Oracle 2471245.1](https://support.oracle.com/epmos/faces/DocumentDisplay?id=2471245.1) (langue française non garantie). 

   La configuration inclut la modification du fichier `xtt.properties` sur votre hôte source. L'exemple de fichier `xtt.properties` suivant spécifie les sauvegardes de trois espaces de table dans le répertoire `/dsk1/backups`. Il s'agit des espaces de table que vous souhaitez transporter vers votre instance de base de données cible. Il spécifie également l'identifiant de la plateforme source pour convertir automatiquement l'endianisme.
**Note**  
Pour une plate-forme valide IDs, consultez [Data Guard Support pour les systèmes de secours primaires et physiques hétérogènes dans la même configuration Data Guard (Doc ID](https://support.oracle.com/epmos/faces/DocumentDisplay?id=413484.1) 413484.1). 

   ```
   #linux system 
   platformid=13
   #list of tablespaces to transport
   tablespaces=TBS1,TBS2,TBS3
   #location where backup will be generated
   src_scratch_location=/dsk1/backups
   #RMAN command for performing backup
   usermantransport=1
   ```

## Phase 2 : Préparation de la sauvegarde complète des espaces de table
<a name="oracle-migrating-tts.initial-br-phase"></a>

Au cours de cette phase, vous sauvegardez vos espaces de table pour la première fois, vous transférez les sauvegardes vers votre hôte cible, puis vous les restaurez à l'aide de la procédure `rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces`. Lorsque cette phase est terminée, les sauvegardes initiales des espaces de table résident sur votre instance de base de données cible et peuvent être mises à jour avec des sauvegardes incrémentielles.

**Topics**
+ [

### Étape 1 : Sauvegarder les espaces de table sur votre hôte source
](#oracle-migrating-tts.backup-full)
+ [

### Étape 2 : Transférer les fichiers de sauvegarde vers votre instance de base de données cible
](#oracle-migrating-tts.transfer-full)
+ [

### Étape 3 : Importer les espaces de table dans votre instance de base de données cible
](#oracle-migrating-tts.initial-tts-import)

### Étape 1 : Sauvegarder les espaces de table sur votre hôte source
<a name="oracle-migrating-tts.backup-full"></a>

Au cours de cette étape, vous utilisez le script `xttdriver.pl` pour effectuer une sauvegarde complète de vos espaces de table. La sortie de `xttdriver.pl` est stockée dans la variable d'environnement `TMPDIR`.

**Pour sauvegarder vos espaces de table**

1. Si vos espaces disque logiques sont en mode lecture seule, connectez-vous à votre base de données source en tant qu'utilisateur autorisé et placez vos `ALTER TABLESPACE` espaces disque logiques en mode. read/write Sinon, passez à l’étape suivante.

   L'exemple suivant place `tbs1``tbs2`, et `tbs3` en read/write mode.

   ```
   ALTER TABLESPACE tbs1 READ WRITE;
   ALTER TABLESPACE tbs2 READ WRITE;
   ALTER TABLESPACE tbs3 READ WRITE;
   ```

1. Sauvegardez vos espaces de table à l'aide du script `xttdriver.pl`. Vous pouvez éventuellement spécifier `--debug` pour exécuter le script en mode débogage.

   ```
   export TMPDIR=location_of_log_files
   cd location_of_xttdriver.pl
   $ORACLE_HOME/perl/bin/perl xttdriver.pl --backup
   ```

### Étape 2 : Transférer les fichiers de sauvegarde vers votre instance de base de données cible
<a name="oracle-migrating-tts.transfer-full"></a>

Au cours de cette étape, copiez les fichiers de sauvegarde et de configuration à partir de votre emplacement zéro vers votre instance de base de données cible. Choisissez l’une des options suivantes :
+ Si les hôtes source et cible partagent un système de fichiers Amazon EFS, utilisez un utilitaire de système d'exploitation tel que `cp` pour copier vos fichiers de sauvegarde et le fichier `res.txt` à partir de votre emplacement zéro vers un répertoire partagé. Passez ensuite à [Étape 3 : Importer les espaces de table dans votre instance de base de données cible](#oracle-migrating-tts.initial-tts-import).
+ Si vous devez organiser vos sauvegardes vers un compartiment Amazon S3, procédez comme suit.

![\[Transférez les fichiers en utilisant Amazon S3 ou Amazon EFS.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/oracle-tts.png)


#### Étape 2.2 : Charger les sauvegardes dans votre compartiment Amazon S3
<a name="oracle-migrating-tts.upload-full"></a>

Chargez vos sauvegardes et le fichier `res.txt` depuis votre répertoire zéro vers votre compartiment Amazon S3. Pour plus d'informations, consultez [Chargement d'objets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html) dans le *Guide de l'utilisateur Amazon Simple Storage Service*.

#### Étape 2.3 : Télécharger les sauvegardes depuis votre compartiment Amazon S3 vers votre instance de base de données cible
<a name="oracle-migrating-tts.download-full"></a>

Au cours de cette étape, vous utilisez la procédure `rdsadmin.rdsadmin_s3_tasks.download_from_s3` pour télécharger vos sauvegardes dans votre instance de base de données RDS for Oracle.

**Pour télécharger vos sauvegardes depuis votre compartiment Amazon S3**

1. Lancez SQL\$1Plus ou Oracle SQL Developer et connectez-vous à votre instance de base de données RDS for Oracle.

1. Téléchargez les sauvegardes depuis le compartiment Amazon S3 vers votre instance de base de données cible en utilisant la procédure Amazon RDS `rdsadmin.rdsadmin_s3_tasks.download_from_s3`. L'exemple suivant télécharge tous les fichiers d'un compartiment Amazon S3 nommé `amzn-s3-demo-bucket` vers le répertoire `DATA_PUMP_DIR`.

   ```
   EXEC UTL_FILE.FREMOVE ('DATA_PUMP_DIR', 'res.txt');
   SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3(
     p_bucket_name    =>  'amzn-s3-demo-bucket',
     p_directory_name =>  'DATA_PUMP_DIR') 
   AS TASK_ID FROM DUAL;
   ```

   L'instruction `SELECT` renvoie l'ID de la tâche dans un type de données `VARCHAR2`. Pour plus d’informations, consultez [Téléchargement des fichiers d'un compartiment Amazon S3 vers une instance de base de données Oracle](oracle-s3-integration.using.md#oracle-s3-integration.using.download).

### Étape 3 : Importer les espaces de table dans votre instance de base de données cible
<a name="oracle-migrating-tts.initial-tts-import"></a>

Utilisez la procédure `rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces` pour restaurer vos tablespaces vers votre instance de base de données cible. Cette procédure convertit automatiquement les fichiers de données au format endian approprié.

Si vous importez depuis une plateforme autre que Linux, spécifiez la plateforme source à l’aide du paramètre `p_platform_id` lorsque vous appelez `import_xtts_tablespaces`. Assurez-vous que l’ID de plateforme que vous spécifiez correspond à celui spécifié dans le fichier `xtt.properties` dans [Étape 2 : Exporter les métadonnées d'espace de table sur votre hôte source](#oracle-migrating-tts.transport.export).

**Pour importer les espaces de table dans votre instance de base de données cible**

1. Démarrez un client Oracle SQL et connectez-vous en tant qu'utilisateur principal à votre instance de base de données RDS for Oracle cible.

1. Exécutez la procédure `rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces` en spécifiant les espaces de table à importer et le répertoire contenant les sauvegardes.

   L'exemple suivant importe les tablespaces *TBS1**TBS2*, et *TBS3* depuis le répertoire. *DATA\$1PUMP\$1DIR* La plateforme source est AIX-Based Systems (64 bits), dont l’ID de plateforme est `6`. Vous pouvez trouver la plateforme IDs en `V$TRANSPORTABLE_PLATFORM` interrogeant.

   ```
   VAR task_id CLOB
   
   BEGIN
     :task_id:=rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces(
           'TBS1,TBS2,TBS3',
           'DATA_PUMP_DIR',
           p_platform_id => 6);
   END;
   /
   
   PRINT task_id
   ```

1. (Facultatif) Surveillez la progression en interrogeant la table `rdsadmin.rds_xtts_operation_info`. La colonne `xtts_operation_state` indique la valeur `EXECUTING`, `COMPLETED` ou `FAILED`.

   ```
   SELECT * FROM rdsadmin.rds_xtts_operation_info;
   ```
**Note**  
Pour les opérations de longue durée, vous pouvez également interroger `V$SESSION_LONGOPS`, `V$RMAN_STATUS` et `V$RMAN_OUTPUT`.

1. Consultez le journal de l'importation terminée en utilisant l'ID de tâche issu de l'étape précédente.

   ```
   SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||'&task_id'||'.log'));
   ```

   Assurez-vous de la réussite de l'importation avant de passer à l'étape suivante.

## Phase 3 : Création et transfert de sauvegardes incrémentielles
<a name="oracle-migrating-tts.roll-forward-phase"></a>

Dans cette phase, vous effectuez et transférez régulièrement des sauvegardes incrémentielles pendant que la base de données source est active. Cette technique réduit la taille de la sauvegarde finale de vos espaces de table. Si vous effectuez plusieurs sauvegardes incrémentielles, vous devez copier le fichier `res.txt` après la dernière sauvegarde incrémentielle afin de pouvoir l'appliquer à l'instance cible.

Les étapes sont les mêmes que dans [Phase 2 : Préparation de la sauvegarde complète des espaces de table](#oracle-migrating-tts.initial-br-phase), si ce n'est que l'étape d'importation est facultative.

## Phase 4 : Transport des espaces de table
<a name="oracle-migrating-tts.final-br-phase"></a>

Dans cette phase, vous sauvegardez vos espaces de table en lecture seule et exportez les métadonnées Data Pump, transférez ces fichiers vers votre hôte cible et importez à la fois les espaces de table et les métadonnées.

**Topics**
+ [

### Étape 1 : Sauvegarder vos espaces de table en lecture seule
](#oracle-migrating-tts.final-backup)
+ [

### Étape 2 : Exporter les métadonnées d'espace de table sur votre hôte source
](#oracle-migrating-tts.transport.export)
+ [

### Étape 3 : (Amazon S3 uniquement) Transférer les fichiers de sauvegarde et d'exportation vers votre instance de base de données cible
](#oracle-migrating-tts.transport)
+ [

### Étape 4 : Importer les espaces de table dans votre instance de base de données cible
](#oracle-migrating-tts.restore-full)
+ [

### Étape 5 : Importer les métadonnées d'espace de table dans votre instance de base de données cible
](#oracle-migrating-tts.transport.import-dmp)

### Étape 1 : Sauvegarder vos espaces de table en lecture seule
<a name="oracle-migrating-tts.final-backup"></a>

Cette étape est identique à [Étape 1 : Sauvegarder les espaces de table sur votre hôte source](#oracle-migrating-tts.backup-full), mais présente une différence clé : vous placez vos espaces de table en mode lecture seule avant de les sauvegarder pour la dernière fois.

L'exemple suivant place `tbs1`, `tbs2` et `tbs3` en mode lecture seule.

```
ALTER TABLESPACE tbs1 READ ONLY;
ALTER TABLESPACE tbs2 READ ONLY;
ALTER TABLESPACE tbs3 READ ONLY;
```

### Étape 2 : Exporter les métadonnées d'espace de table sur votre hôte source
<a name="oracle-migrating-tts.transport.export"></a>

Exportez les métadonnées de vos espaces de table en exécutant l'utilitaire `expdb` sur votre hôte source. L'exemple suivant exporte des tablespaces *TBS1**TBS2*, et *TBS3* vers un fichier de sauvegarde *xttdump.dmp* dans un répertoire. *DATA\$1PUMP\$1DIR*

```
expdp username/pwd \
dumpfile=xttdump.dmp \
directory=DATA_PUMP_DIR \
statistics=NONE \
transport_tablespaces=TBS1,TBS2,TBS3 \
transport_full_check=y \
logfile=tts_export.log
```

S'il s'*DATA\$1PUMP\$1DIR*agit d'un répertoire partagé dans Amazon EFS, passez directement à[Étape 4 : Importer les espaces de table dans votre instance de base de données cible](#oracle-migrating-tts.restore-full).

### Étape 3 : (Amazon S3 uniquement) Transférer les fichiers de sauvegarde et d'exportation vers votre instance de base de données cible
<a name="oracle-migrating-tts.transport"></a>

Si vous utilisez Amazon S3 pour organiser vos sauvegardes d'espaces de table et votre fichier d'exportation Data Pump, procédez comme suit.

#### Étape 3.1 : Charger les sauvegardes et le fichier de vidage depuis votre hôte source dans votre compartiment Amazon S3
<a name="oracle-migrating-tts.transport.upload-dmp"></a>

Chargez vos fichiers de sauvegarde et de vidage depuis votre hôte source dans votre compartiment Amazon S3. Pour plus d'informations, consultez [Chargement d'objets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html) dans le *Guide de l'utilisateur Amazon Simple Storage Service*.

#### Étape 3.2 : Télécharger les sauvegardes et le fichier de vidage depuis votre compartiment Amazon S3 vers votre instance de base de données cible
<a name="oracle-migrating-tts.transport.download-dmp"></a>

Au cours de cette étape, vous utilisez la procédure `rdsadmin.rdsadmin_s3_tasks.download_from_s3` pour télécharger vos sauvegardes et le fichier de vidage vers votre instance de base de données RDS for Oracle. Suivez les étapes de [Étape 2.3 : Télécharger les sauvegardes depuis votre compartiment Amazon S3 vers votre instance de base de données cible](#oracle-migrating-tts.download-full).

### Étape 4 : Importer les espaces de table dans votre instance de base de données cible
<a name="oracle-migrating-tts.restore-full"></a>

Utilisez la procédure `rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces` pour restaurer les espaces de table. Pour la syntaxe et la sémantique de cette procédure, consultez [Importation des espaces de table transportés dans votre instance de base de données](rdsadmin_transport_util_import_xtts_tablespaces.md)

**Important**  
Une fois l'importation finale de vos espaces de table terminée, l'étape suivante consiste à [importer les métadonnées Oracle Data Pump](#oracle-migrating-tts.transport.export). Si l'importation échoue, il est important de rétablir l'état de votre instance de base de données avant l'échec. Nous vous recommandons donc de créer un instantané de base de données de votre instance de base de données en suivant les instructions fournies dans [Création d’un instantané de base de données pour une instance de base de données mono-AZ pour Amazon RDS](USER_CreateSnapshot.md). Cet instantané contiendra tous les espaces de table importés. Ainsi, si l'importation échoue, vous n'avez pas besoin de répéter le processus de sauvegarde et d'importation.   
Si les sauvegardes automatiques de votre instance de base de données cible sont activées et qu'Amazon RDS ne détecte pas qu'un instantané valide a été lancé avant que vous importiez les métadonnées, RDS tente de créer un instantané. En fonction de l'activité de votre instance, cet instantané peut réussir ou non. Si aucun instantané valide n'est détecté ou si un instantané ne peut pas être lancé, l'importation des métadonnées se termine avec des erreurs.

**Pour importer les espaces de table dans votre instance de base de données cible**

1. Démarrez un client Oracle SQL et connectez-vous en tant qu'utilisateur principal à votre instance de base de données RDS for Oracle cible.

1. Exécutez la procédure `rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces` en spécifiant les espaces de table à importer et le répertoire contenant les sauvegardes.

   L'exemple suivant importe les tablespaces *TBS1**TBS2*, et *TBS3* depuis le répertoire. *DATA\$1PUMP\$1DIR*

   ```
   BEGIN
     :task_id:=rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces('TBS1,TBS2,TBS3','DATA_PUMP_DIR');
   END;
   /
   PRINT task_id
   ```

1. (Facultatif) Surveillez la progression en interrogeant la table `rdsadmin.rds_xtts_operation_info`. La colonne `xtts_operation_state` indique la valeur `EXECUTING`, `COMPLETED` ou `FAILED`.

   ```
   SELECT * FROM rdsadmin.rds_xtts_operation_info;
   ```
**Note**  
Pour les opérations de longue durée, vous pouvez également interroger `V$SESSION_LONGOPS`, `V$RMAN_STATUS` et `V$RMAN_OUTPUT`.

1. Consultez le journal de l'importation terminée en utilisant l'ID de tâche issu de l'étape précédente.

   ```
   SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||'&task_id'||'.log'));
   ```

   Assurez-vous de la réussite de l'importation avant de passer à l'étape suivante.

1. Prenez un instantané de base de données manuel en suivant les instructions fournies dans [Création d’un instantané de base de données pour une instance de base de données mono-AZ pour Amazon RDS](USER_CreateSnapshot.md).

### Étape 5 : Importer les métadonnées d'espace de table dans votre instance de base de données cible
<a name="oracle-migrating-tts.transport.import-dmp"></a>

Au cours de cette étape, vous importez les métadonnées d'espace de table transportable dans votre instance de base de données RDS for Oracle en utilisant la procédure `rdsadmin.rdsadmin_transport_util.import_xtts_metadata`. Pour la syntaxe et la sémantique de cette procédure, consultez [Importation des métadonnées d'espaces de table transportables dans votre instance de base de données](rdsadmin_transport_util_import_xtts_metadata.md). Pendant l'opération, le statut de l'importation est indiqué dans la table `rdsadmin.rds_xtts_operation_info`.

**Important**  
Avant d'importer les métadonnées, nous vous recommandons vivement de confirmer qu'un instantané de base de données a bien été créé après l'importation de vos espaces de table. Si l'étape d'importation échoue, restaurez votre instance de base de données, corrigez les erreurs d'importation, puis retentez l'importation.

**Pour importer les métadonnées Data Pump dans votre instance de base de données RDS for Oracle**

1. Démarrez votre client Oracle SQL et connectez-vous en tant qu'utilisateur principal à votre instance de base de données cible.

1. Créez les utilisateurs propriétaires des schémas dans vos espaces de table transportés, si ces utilisateurs n'existent pas encore.

   ```
   CREATE USER tbs_owner IDENTIFIED BY password;
   ```

1. Importez les métadonnées en spécifiant le nom du fichier de vidage et l'emplacement du répertoire.

   ```
   BEGIN
     rdsadmin.rdsadmin_transport_util.import_xtts_metadata('xttdump.dmp','DATA_PUMP_DIR');
   END;
   /
   ```

1. (Facultatif) Interrogez la table d'historique des espaces de table transportables pour voir le statut de l'importation des métadonnées.

   ```
   SELECT * FROM rdsadmin.rds_xtts_operation_info;
   ```

   Une fois l'opération terminée, vos espaces de table sont en mode lecture seule.

1. (Facultatif) Affichez le fichier journal.

   L'exemple suivant répertorie le contenu du répertoire BDUMP, puis interroge le journal d'importation.

   ```
   SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => 'BDUMP'));
   
   SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file(
     p_directory => 'BDUMP',
     p_filename => 'rds-xtts-import_xtts_metadata-2023-05-22.01-52-35.560858000.log'));
   ```

## Phase 5 : Validation des espaces de table transportés
<a name="oracle-migrating-tts.validate"></a>

Dans cette étape facultative, vous validez vos espaces disque logiques transportés à l'aide de la procédure`rdsadmin.rdsadmin_rman_util.validate_tablespace`, puis vous les placez en mode. read/write 

**Pour valider les données transportées**

1. Lancez SQL\$1Plus ou SQL Developer et connectez-vous en tant qu'utilisateur principal à votre instance de base de données cible.

1. Validez les espaces de table à l'aide de la procédure `rdsadmin.rdsadmin_rman_util.validate_tablespace`.

   ```
   SET SERVEROUTPUT ON
   BEGIN
       rdsadmin.rdsadmin_rman_util.validate_tablespace(
           p_tablespace_name     => 'TBS1',
           p_validation_type     => 'PHYSICAL+LOGICAL',
           p_rman_to_dbms_output => TRUE);
       rdsadmin.rdsadmin_rman_util.validate_tablespace(
           p_tablespace_name     => 'TBS2',
           p_validation_type     => 'PHYSICAL+LOGICAL',
           p_rman_to_dbms_output => TRUE);
       rdsadmin.rdsadmin_rman_util.validate_tablespace(
           p_tablespace_name     => 'TBS3',
           p_validation_type     => 'PHYSICAL+LOGICAL',
           p_rman_to_dbms_output => TRUE);
   END;
   /
   ```

1. Placez vos tablespaces en mode. read/write 

   ```
   ALTER TABLESPACE TBS1 READ WRITE;
   ALTER TABLESPACE TBS2 READ WRITE;
   ALTER TABLESPACE TBS3 READ WRITE;
   ```

## Phase 6 : Nettoyage des fichiers restants
<a name="oracle-migrating-tts.cleanup"></a>

Au cours de cette étape facultative, vous supprimez tous les fichiers inutiles. Utilisez la procédure `rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files` pour répertorier les fichiers de données devenus orphelins après une importation d'espace de table, puis utilisez la procédure `rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files` pour les supprimer. Pour la syntaxe et la sémantique de ces procédures, consultez [Établissement de la liste des fichiers orphelins après une importation d'espace de table](rdsadmin_transport_util_list_xtts_orphan_files.md) et [Suppression des fichiers de données devenus orphelins après une importation d'espace de table](rdsadmin_transport_util_cleanup_incomplete_xtts_import.md).

**Pour nettoyer les fichiers restants**

1. Supprimez les anciennes sauvegardes *DATA\$1PUMP\$1DIR* comme suit :

   1. Répertoriez les fichiers de sauvegarde en exécutant `rdsadmin.rdsadmin_file_util.listdir`.

      ```
      SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => 'DATA_PUMP_DIR'));
      ```

   1. Supprimez les sauvegardes une par une en appelant `UTL_FILE.FREMOVE`.

      ```
      EXEC UTL_FILE.FREMOVE ('DATA_PUMP_DIR', 'backup_filename');
      ```

1. Si vous avez importé des espaces de table mais n'avez pas importé de métadonnées pour ces espaces de table, vous pouvez supprimer les fichiers de données orphelins comme suit :

   1. Répertoriez les fichiers de données orphelins que vous devez supprimer. L'exemple suivant exécute la procédure `rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files`.

      ```
      SQL> SELECT * FROM TABLE(rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files);
      
      FILENAME       FILESIZE
      -------------- ---------
      datafile_7.dbf 104865792
      datafile_8.dbf 104865792
      ```

   1. Supprimez les fichiers orphelins en exécutant la procédure `rdsadmin.rdsadmin_transport_util.cleanup_incomplete_xtts_import`.

      ```
      BEGIN
        rdsadmin.rdsadmin_transport_util.cleanup_incomplete_xtts_import('DATA_PUMP_DIR');
      END;
      /
      ```

      L'opération de nettoyage génère un fichier journal qui utilise le format de nom `rds-xtts-delete_xtts_orphaned_files-YYYY-MM-DD.HH24-MI-SS.FF.log` dans le répertoire `BDUMP`.

   1. Lisez le fichier journal généré à l'étape précédente. L'exemple suivant lit le journal `rds-xtts-delete_xtts_orphaned_files-2023-06-01.09-33-11.868894000.log`.

      ```
      SELECT * 
      FROM TABLE(rdsadmin.rds_file_util.read_text_file(
             p_directory => 'BDUMP',
             p_filename  => 'rds-xtts-delete_xtts_orphaned_files-2023-06-01.09-33-11.868894000.log'));
      
      TEXT
      --------------------------------------------------------------------------------
      orphan transported datafile datafile_7.dbf deleted.
      orphan transported datafile datafile_8.dbf deleted.
      ```

1. Si vous avez importé des espaces de table et importé des métadonnées pour ces espaces de table, mais que vous avez rencontré des erreurs de compatibilité ou d'autres problèmes liés à Oracle Data Pump, nettoyez les fichiers de données partiellement transportés comme suit :

   1. Répertoriez les espaces de table qui contiennent des fichiers de données partiellement transportés en interrogeant `DBA_TABLESPACES`.

      ```
      SQL> SELECT TABLESPACE_NAME FROM DBA_TABLESPACES WHERE PLUGGED_IN='YES';
      
      TABLESPACE_NAME
      --------------------------------------------------------------------------------
      TBS_3
      ```

   1. Supprimez les espaces de table et les fichiers de données partiellement transportés.

      ```
      DROP TABLESPACE TBS_3 INCLUDING CONTENTS AND DATAFILES;
      ```

# Importation à l'aide d'Oracle Data Pump
<a name="Oracle.Procedural.Importing.DataPump"></a>

Oracle Data Pump est un utilitaire qui vous permet d'exporter des données Oracle vers un fichier de vidage et de les importer dans une autre base de données Oracle. Il s'agit d'un remplacement à long terme des Export/Import utilitaires Oracle. Oracle Data Pump est le moyen recommandé pour déplacer de grandes quantités de données d'une base de données Oracle vers une instance de base de données Amazon RDS.

Les exemples de cette section montrent une façon d'importer des données dans une base de données Oracle, mais Oracle Data Pump prend en charge d'autres techniques. Pour plus d'informations, consultez la [documentation Oracle Database](https://docs.oracle.com/en/database/oracle/oracle-database/19/sutil/oracle-data-pump.html#GUID-501A9908-BCC5-434C-8853-9A6096766B5A).

Les exemples de cette section utilisent le package `DBMS_DATAPUMP`. Vous pouvez accomplir les mêmes tâches en utilisant les utilitaires de ligne de commande Oracle Data Pump `impdp` et `expdp`. Vous pouvez installer ces utilitaires sur un hôte distant dans le cadre d'une installation de client Oracle, y compris Oracle Instant Client. Pour obtenir plus d'informations, consultez la section [How do I use Oracle Instant Client to run Data Pump Import or Export for my Amazon RDS for Oracle DB instance?](https://aws.amazon.com/premiumsupport/knowledge-center/rds-oracle-instant-client-datapump/) (Comment utiliser Oracle Instant Client pour exécuter Data Pump Import ou Export pour mon instance de base de données Amazon RDS for Oracle ?

**Topics**
+ [

## Présentation d'Oracle Data Pump
](#Oracle.Procedural.Importing.DataPump.Overview)
+ [

## Importation de données avec Oracle Data Pump et un compartiment Amazon S3
](#Oracle.Procedural.Importing.DataPump.S3)
+ [

## Importation de données avec Oracle Data Pump et un lien de base de données
](#Oracle.Procedural.Importing.DataPump.DBLink)

## Présentation d'Oracle Data Pump
<a name="Oracle.Procedural.Importing.DataPump.Overview"></a>

Oracle Data Pump est constitué des composants suivants :
+ Clients de la ligne de commande `expdp` et `impdp`
+ Le package `DBMS_DATAPUMP` PL/SQL 
+ Le package `DBMS_METADATA` PL/SQL 

Vous pouvez utiliser Oracle Data Pump dans les scénarios suivants :
+ Importez des données d'une base de données Oracle, sur site ou sur une instance Amazon EC2, vers une instance de base de données RDS for Oracle.
+ Importez des données d'une instance de base de données RDS for Oracle vers une base de données Oracle, sur site ou sur une instance Amazon EC2.
+ Importez des données entre des instances de base de données RDS for Oracle, par exemple pour migrer des données de EC2-Classic vers un VPC.

Pour télécharger les utilitaires Oracle Data Pump, consultez [Oracle Database Software Downloads](http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html) sur le site web Oracle Technology Network. Pour en savoir plus sur la compatibilité lors de la migration entre les versions d’Oracle Database, consultez [la documentation Oracle Database](https://docs.oracle.com/en/database/oracle/oracle-database/19/sutil/oracle-data-pump-overview.html#GUID-BAA3B679-A758-4D55-9820-432D9EB83C68).

### Flux de travail Oracle Data Pump
<a name="Oracle.Procedural.Importing.DataPump.Overview.how-it-works"></a>

En général, vous utilisez Oracle Data Pump pour les opérations suivantes :

1. Exportez vos données dans un fichier de vidage sur la base de données source.

1. Chargez votre fichier de vidage sur votre instance de base de données RDS for Oracle de destination. Vous pouvez effectuer le transfert à l'aide d'un compartiment Amazon S3 ou en utilisant un lien de base de données entre les deux bases de données.

1. Importez les données de votre fichier de vidage dans votre instance de base de données RDS for Oracle.

### Bonnes pratiques d'Oracle Data Pump
<a name="Oracle.Procedural.Importing.DataPump.Overview.best-practices"></a>

Lorsque vous utilisez Oracle Data Pump pour importer des données dans une instance RDS for Oracle, nous vous recommandons de suivre les bonnes pratiques suivantes :
+ Effectuez les importations en mode `schema` ou `table` pour importer des schémas et des objets spécifiques.
+ Limitez les schémas que vous importez à ceux requis par votre application.
+ N’importez pas en mode `full` ou importez des schémas pour les composants maintenus par le système.

  Comme RDS for Oracle n'autorise pas l'accès aux utilisateurs administratifs `SYS` ou `SYSDBA`, ces actions peuvent endommager le dictionnaire de données Oracle et affecter la stabilité de votre base de données.
+ Lorsque vous chargez de grandes quantités de données, procédez comme suit :

  1. Transférez le fichier de vidage vers l'instance de base de données RDS for Oracle cible.

  1. Prenez un instantané de base de données de votre instance.

  1. Testez l'importation pour en vérifier le bon fonctionnement.

  Si les composants de la base de données sont invalidés, vous pouvez supprimer l'instance de base de données et la recréer à partir de l'instantané de base de données. L'instance de base de données restaurée inclut les fichiers de vidage intermédiaires sur l'instance de base de données lorsque vous avez pris l'instantané de base de données.
+ N'importez pas de fichiers de vidage qui ont été créés à l'aide des paramètres d'exportation d'Oracle Data Pump `TRANSPORT_TABLESPACES`, `TRANSPORTABLE` ou `TRANSPORT_FULL_CHECK`. Les instances de base de données RDS for Oracle ne prennent pas en charge l'importation de ces fichiers de vidage.
+ N'importez pas de fichiers de vidage contenant des objets Oracle Scheduler dans `SYS`, `SYSTEM`, `RDSADMIN`, `RDSSEC`, et `RDS_DATAGUARD` et appartenant aux catégories suivantes :
  + Tâches
  + Programmes
  + Schedules
  + Chaînes
  + Rules
  + Contextes d'évaluation
  + Ensemble de règles

  Les instances de base de données RDS for Oracle ne prennent pas en charge l'importation de ces fichiers de vidage. 
+ Pour exclure les objets Oracle Scheduler non pris en charge, utilisez des directives supplémentaires lors de l'exportation Data Pump. Si vous utilisez `DBMS_DATAPUMP`, vous pouvez ajouter un `METADATA_FILTER` supplémentaire avant le `DBMS_METADATA.START_JOB` :

  ```
  DBMS_DATAPUMP.METADATA_FILTER(
    v_hdnl,
    'EXCLUDE_NAME_EXPR',
    q'[IN (SELECT NAME FROM SYS.OBJ$ 
           WHERE TYPE# IN (66,67,74,79,59,62,46) 
           AND OWNER# IN
             (SELECT USER# FROM SYS.USER$ 
              WHERE NAME IN ('RDSADMIN','SYS','SYSTEM','RDS_DATAGUARD','RDSSEC')
              )
          )
    ]',
    'PROCOBJ'
  );
  ```

  Si vous utilisez `expdp`, créez un fichier de paramètres contenant la directive `exclude` indiquée dans l'exemple suivant. Ensuite, utilisez `PARFILE=parameter_file` avec votre commande `expdp`.

  ```
  exclude=procobj:"IN 
    (SELECT NAME FROM sys.OBJ$
     WHERE TYPE# IN (66,67,74,79,59,62,46) 
     AND OWNER# IN 
       (SELECT USER# FROM SYS.USER$ 
        WHERE NAME IN ('RDSADMIN','SYS','SYSTEM','RDS_DATAGUARD','RDSSEC')
       )
    )"
  ```

## Importation de données avec Oracle Data Pump et un compartiment Amazon S3
<a name="Oracle.Procedural.Importing.DataPump.S3"></a>

Le processus d'importation suivant utilise Oracle Data Pump et un compartiment Amazon S3. La procédure est la suivante :

1. Exportez les données de la base de données source à l'aide du package Oracle [DBMS\$1DATAPUMP](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_DATAPUMP.html).

1. Placez le fichier de vidage dans un compartiment Amazon S3.

1. Téléchargez le fichier de vidage depuis le compartiment Amazon S3 vers le répertoire `DATA_PUMP_DIR` de l'instance de base de données RDS for Oracle cible. 

1. Importez les données du fichier de vidage copié dans l'instance de base de données RDS for Oracle à l'aide du package `DBMS_DATAPUMP`.

**Topics**
+ [

### Conditions requises pour importer des données avec Oracle Data Pump et un compartiment Amazon S3
](#Oracle.Procedural.Importing.DataPumpS3.requirements)
+ [

### Étape 1 : accordez des privilèges à l'utilisateur de la base de données sur l'instance de base de données cible RDS for Oracle.
](#Oracle.Procedural.Importing.DataPumpS3.Step1)
+ [

### Étape 2 : exporter les données dans un fichier de vidage en utilisant DBMS\$1DATAPUMP
](#Oracle.Procedural.Importing.DataPumpS3.Step2)
+ [

### Étape 3 : Charger le fichier de vidage dans votre compartiment Amazon S3
](#Oracle.Procedural.Importing.DataPumpS3.Step3)
+ [

### Étape 4 : téléchargez le fichier de vidage depuis votre compartiment Amazon S3 vers votre instance de base de données cible.
](#Oracle.Procedural.Importing.DataPumpS3.Step4)
+ [

### Étape 5 : importez votre fichier de vidage dans votre instance de base de données cible en utilisant DBMS\$1DATAPUMP.
](#Oracle.Procedural.Importing.DataPumpS3.Step5)
+ [

### Étape 6 : nettoyer
](#Oracle.Procedural.Importing.DataPumpS3.Step6)

### Conditions requises pour importer des données avec Oracle Data Pump et un compartiment Amazon S3
<a name="Oracle.Procedural.Importing.DataPumpS3.requirements"></a>

Le processus est soumis aux exigences suivantes :
+ Assurez-vous qu'un compartiment Amazon S3 est disponible pour les transferts de fichiers et que le compartiment Amazon S3 se trouve dans le même emplacement Région AWS que l'instance de base de données. Pour plus d’informations, consultez [Créer un compartiment](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingABucket.html) dans le *Guide de démarrage d’Amazon Simple Storage Service*.
+ L'objet que vous téléchargez dans le compartiment Amazon S3 doit être d'une taille inférieure ou égale à 5 To. Pour plus d'informations sur l'utilisation des objets dans Amazon S3, consultez le [Guide de l'utilisateur Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingObjects.html).
**Note**  
Si le fichier de vidage dépasse 5 To, vous pouvez exécuter l'exportation Oracle Data Pump avec l'option parallèle. Cette opération répartit les données dans plusieurs fichiers de vidage de sorte que la taille de chaque fichier ne dépasse pas la limite de 5 To.
+ Vous devez préparer le compartiment Amazon S3 pour l'intégration Amazon RDS en suivant les instructions de [Configuration des autorisations IAM pour l'intégration de RDS for Oracle à Amazon S3](oracle-s3-integration.preparing.md).
+ Vous devez veiller à disposer de suffisamment d'espace de stockage pour stocker le fichier de vidage sur l'instance source et l'instance de base de données cible.

**Note**  
Ce processus importe un fichier de vidage dans le répertoire `DATA_PUMP_DIR`, qui est préconfiguré sur toutes les instances de bases de données Oracle. Ce répertoire est situé sur le même volume de stockage que vos fichiers de données. Lorsque vous importez le fichier de vidage, les fichiers de données Oracle existants utilisent davantage d'espace. Vous devez donc veiller à ce que votre instance de base de données puisse répondre aux besoins de cette utilisation d'espace supplémentaire. Le fichier de vidage importé n'est pas automatiquement supprimé ou purgé du répertoire `DATA_PUMP_DIR`. Pour supprimer le fichier de vidage importé, utilisez [UTL\$1FILE.FREMOVE](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/UTL_FILE.html#GUID-09B09C2A-2C21-4F70-BF04-D0EEA7B59CAF), disponible sur le site web d’Oracle. 

### Étape 1 : accordez des privilèges à l'utilisateur de la base de données sur l'instance de base de données cible RDS for Oracle.
<a name="Oracle.Procedural.Importing.DataPumpS3.Step1"></a>

Dans cette étape, vous créez les schémas dans lesquels vous prévoyez d'importer des données et vous accordez aux utilisateurs les privilèges nécessaires.

**Pour créer des utilisateurs et accorder les privilèges nécessaires sur l'instance cible RDS for Oracle**

1. Utilisez SQL\$1Plus ou Oracle SQL Developer pour vous connecter en tant qu'utilisateur principal à l'instance de la base de données RDS for Oracle dans laquelle les données seront importées. Pour en savoir plus sur la connexion à une instance de base de données, consultez [Connexion à votre instance de base de données Oracle](USER_ConnectToOracleInstance.md).

1. Créez les espaces de table requis avant d’importer les données. Pour plus d’informations, consultez [Création et dimensionnement de tablespaces dans RDS pour Oracle](Appendix.Oracle.CommonDBATasks.TablespacesAndDatafiles.md#Appendix.Oracle.CommonDBATasks.CreatingTablespacesAndDatafiles).

1. Créez le compte utilisateur et accordez les autorisations et les rôles nécessaires si le compte utilisateur dans lequel les données sont importées n'existe pas. Si vous importez des données avec plusieurs schémas d’utilisateur, créez chaque compte d’utilisateur et accordez-lui les privilèges et rôles nécessaires.

   Par exemple, les instructions SQL suivantes créent un utilisateur et lui accordent les autorisations et rôles nécessaires pour importer les données dans le schéma de celui-ci : Remplacez `schema_1` par le nom de votre schéma dans cette étape et dans les étapes suivantes.

   ```
   CREATE USER schema_1 IDENTIFIED BY my_password;
   GRANT CREATE SESSION, RESOURCE TO schema_1;
   ALTER USER schema_1 QUOTA 100M ON users;
   ```
**Note**  
Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.

   Les instructions précédentes accordent au nouvel utilisateur le privilège `CREATE SESSION` et le rôle `RESOURCE`. Vous pouvez avoir besoin de privilèges et de rôles supplémentaires en fonction des objets de la base de données que vous importez.

### Étape 2 : exporter les données dans un fichier de vidage en utilisant DBMS\$1DATAPUMP
<a name="Oracle.Procedural.Importing.DataPumpS3.Step2"></a>

Pour créer un fichier de vidage, utilisez le package `DBMS_DATAPUMP`.

**Pour exporter des données Oracle dans un fichier de vidage**

1. Utilisez SQL Plus ou Oracle SQL Developer pour vous connecter à l'instance de base de données RDS for Oracle source avec un utilisateur administratif. Si la base de données source est une instance de base de données RDS for Oracle, connectez-vous avec l'utilisateur principal Amazon RDS.

1. Exportez les données en appelant des procédures `DBMS_DATAPUMP`.

   Le script suivant exporte le schéma `SCHEMA_1` dans un fichier de vidage nommé `sample.dmp` dans le répertoire `DATA_PUMP_DIR`. Remplacez `SCHEMA_1` par le nom du schéma que vous souhaitez exporter.

   ```
   DECLARE
     v_hdnl NUMBER;
   BEGIN
     v_hdnl := DBMS_DATAPUMP.OPEN(
       operation => 'EXPORT', 
       job_mode  => 'SCHEMA', 
       job_name  => null
     );
     DBMS_DATAPUMP.ADD_FILE( 
       handle    => v_hdnl         , 
       filename  => 'sample.dmp'   , 
       directory => 'DATA_PUMP_DIR', 
       filetype  => dbms_datapump.ku$_file_type_dump_file
     );
     DBMS_DATAPUMP.ADD_FILE( 
       handle    => v_hdnl, 
       filename  => 'sample_exp.log', 
       directory => 'DATA_PUMP_DIR' , 
       filetype  => dbms_datapump.ku$_file_type_log_file
     );
     DBMS_DATAPUMP.METADATA_FILTER(v_hdnl,'SCHEMA_EXPR','IN (''SCHEMA_1'')');
     DBMS_DATAPUMP.METADATA_FILTER(
       v_hdnl,
       'EXCLUDE_NAME_EXPR',
       q'[IN (SELECT NAME FROM SYS.OBJ$ 
              WHERE TYPE# IN (66,67,74,79,59,62,46) 
              AND OWNER# IN 
                (SELECT USER# FROM SYS.USER$ 
                 WHERE NAME IN ('RDSADMIN','SYS','SYSTEM','RDS_DATAGUARD','RDSSEC')
                )
             )
       ]',
       'PROCOBJ'
     );
     DBMS_DATAPUMP.START_JOB(v_hdnl);
   END;
   /
   ```
**Note**  
Data Pump lance les tâches de manière asynchrone. Pour obtenir des informations sur la surveillance d’une tâche Data Pump, consultez [Monitoring Job Status](https://docs.oracle.com/en/database/oracle/oracle-database/19/sutil/oracle-data-pump-overview.html#GUID-E365D74E-12CD-495C-BA23-5A55F679C7E7) dans la documentation Oracle. 

1. (Facultatif) Visualisez le contenu du journal d'exportation en appelant la procédure `rdsadmin.rds_file_util.read_text_file`. Pour plus d’informations, consultez [Lecture de fichiers dans un répertoire d'instance de base de données](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ReadingFiles).

### Étape 3 : Charger le fichier de vidage dans votre compartiment Amazon S3
<a name="Oracle.Procedural.Importing.DataPumpS3.Step3"></a>

Utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_s3_tasks.upload_to_s3` pour copier le fichier de vidage dans le compartiment Amazon S3. L’exemple suivant charge tous les fichiers du répertoire `DATA_PUMP_DIR` dans le compartiment Amazon S3 nommé `amzn-s3-demo-bucket`.

```
SELECT rdsadmin.rdsadmin_s3_tasks.upload_to_s3(
  p_bucket_name    =>  'amzn-s3-demo-bucket',       
  p_directory_name =>  'DATA_PUMP_DIR') 
AS TASK_ID FROM DUAL;
```

L'instruction `SELECT` renvoie l'ID de la tâche dans un type de données `VARCHAR2`. Pour plus d’informations, consultez [Chargement de fichiers depuis votre instance de base de données RDS for Oracle vers un compartiment Amazon S3](oracle-s3-integration.using.md#oracle-s3-integration.using.upload).

### Étape 4 : téléchargez le fichier de vidage depuis votre compartiment Amazon S3 vers votre instance de base de données cible.
<a name="Oracle.Procedural.Importing.DataPumpS3.Step4"></a>

Effectuez cette étape en utilisant la procédure Amazon RDS `rdsadmin.rdsadmin_s3_tasks.download_from_s3`. Lorsque vous téléchargez un fichier dans un répertoire, la procédure `download_from_s3` ignore le téléchargement si un fichier de même nom existe déjà dans le répertoire. Pour supprimer un fichier du répertoire de téléchargement, utilisez [UTL\$1FILE.FREMOVE](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/UTL_FILE.html#GUID-09B09C2A-2C21-4F70-BF04-D0EEA7B59CAF), que vous trouverez sur le site Web d'Oracle.

**Pour télécharger votre fichier de vidage**

1. Lancez SQL\$1Plus ou Oracle SQL Developer et connectez-vous en tant que maître sur votre instance de base de données Oracle cible Amazon RDS.

1. Téléchargez le fichier de vidage en utilisant la procédure Amazon RDS `rdsadmin.rdsadmin_s3_tasks.download_from_s3`.

   L'exemple suivant télécharge tous les fichiers d'un compartiment Amazon S3 nommé `amzn-s3-demo-bucket` dans le répertoire `DATA_PUMP_DIR`.

   ```
   SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3(
     p_bucket_name    =>  'amzn-s3-demo-bucket',
     p_directory_name =>  'DATA_PUMP_DIR')
   AS TASK_ID FROM DUAL;
   ```

   L’instruction `SELECT` renvoie l’ID de la tâche dans un type de données `VARCHAR2`. Pour plus d’informations, consultez [Téléchargement des fichiers d'un compartiment Amazon S3 vers une instance de base de données Oracle](oracle-s3-integration.using.md#oracle-s3-integration.using.download).

### Étape 5 : importez votre fichier de vidage dans votre instance de base de données cible en utilisant DBMS\$1DATAPUMP.
<a name="Oracle.Procedural.Importing.DataPumpS3.Step5"></a>

Utilisez `DBMS_DATAPUMP` pour importer le schéma dans votre instance de base de données RDS for Oracle. Des options supplémentaires telles que `METADATA_REMAP` peuvent être nécessaires.

**Pour importer des données dans votre instance de base de données cible**

1. Lancez SQL\$1Plus ou SQL Developer et connectez-vous en tant qu’utilisateur principal à votre instance de base de données RDS for Oracle.

1. Importez les données en appelant des procédures `DBMS_DATAPUMP`.

   L'exemple suivant importe les *SCHEMA\$11* données depuis votre `sample_copied.dmp` instance de base de données cible.

   ```
   DECLARE
     v_hdnl NUMBER;
   BEGIN
     v_hdnl := DBMS_DATAPUMP.OPEN( 
       operation => 'IMPORT', 
       job_mode  => 'SCHEMA', 
       job_name  => null);
     DBMS_DATAPUMP.ADD_FILE( 
       handle    => v_hdnl, 
       filename  => 'sample_copied.dmp', 
       directory => 'DATA_PUMP_DIR', 
       filetype  => dbms_datapump.ku$_file_type_dump_file);
     DBMS_DATAPUMP.ADD_FILE( 
       handle    => v_hdnl, 
       filename  => 'sample_imp.log', 
       directory => 'DATA_PUMP_DIR', 
       filetype  => dbms_datapump.ku$_file_type_log_file);
     DBMS_DATAPUMP.METADATA_FILTER(v_hdnl,'SCHEMA_EXPR','IN (''SCHEMA_1'')');
     DBMS_DATAPUMP.START_JOB(v_hdnl);
   END;
   /
   ```
**Note**  
Les tâches de vidage de données sont démarrées de façon asynchrone. Pour obtenir des informations sur la surveillance d’une tâche Data Pump, consultez [Monitoring Job Status](https://docs.oracle.com/en/database/oracle/oracle-database/19/sutil/oracle-data-pump-overview.html#GUID-E365D74E-12CD-495C-BA23-5A55F679C7E7) dans la documentation Oracle. Vous pouvez afficher le contenu du journal d'importation à l'aide de la procédure `rdsadmin.rds_file_util.read_text_file`. Pour plus d’informations, consultez [Lecture de fichiers dans un répertoire d'instance de base de données](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ReadingFiles).

1. Vérifiez l'importation des données en listant les tables de schéma sur votre instance de base de données cible.

   Par exemple, la requête suivante renvoie le nombre de tables de `SCHEMA_1`. 

   ```
   SELECT COUNT(*) FROM DBA_TABLES WHERE OWNER='SCHEMA_1';
   ```

### Étape 6 : nettoyer
<a name="Oracle.Procedural.Importing.DataPumpS3.Step6"></a>

Après l’importation des données, vous pouvez supprimer les fichiers que vous ne souhaitez plus conserver.

**Pour supprimer les fichiers inutiles**

1. Lancez SQL\$1Plus ou SQL Developer et connectez-vous en tant qu'utilisateur principal à votre instance de base de données RDS for Oracle.

1. Listez les fichiers dans `DATA_PUMP_DIR` en utilisant la commande suivante.

   ```
   SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir('DATA_PUMP_DIR')) ORDER BY MTIME;
   ```

1. Supprimez des fichiers dont vous n'avez plus besoin dans `DATA_PUMP_DIR`, utilisez la commande suivante :

   ```
   EXEC UTL_FILE.FREMOVE('DATA_PUMP_DIR','filename');
   ```

   Par exemple, la commande suivante supprime le fichier appelé `sample_copied.dmp`.

   ```
   EXEC UTL_FILE.FREMOVE('DATA_PUMP_DIR','sample_copied.dmp'); 
   ```

## Importation de données avec Oracle Data Pump et un lien de base de données
<a name="Oracle.Procedural.Importing.DataPump.DBLink"></a>

Le processus d'importation suivant utilise Oracle Data Pump et le package [DBMS\$1FILE\$1TRANSFER](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_FILE_TRANSFER.html). La procédure est la suivante :

1. Connectez-vous à une base de données Oracle source, qui peut être une base de données sur site, une instance Amazon EC2 ou une instance de base de données RDS for Oracle. 

1. Exportez des données à l'aide du package [DBMS\$1DATAPUMP](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_DATAPUMP.html).

1. Utilisez `DBMS_FILE_TRANSFER.PUT_FILE` pour copier le fichier de vidage de la base de données Oracle dans le répertoire `DATA_PUMP_DIR` de l'instance de base de données RDS for Oracle cible qui est connectée à l'aide d'un lien de base de données. 

1. Importez les données du fichier de vidage copié dans l'instance de base de données RDS for Oracle à l'aide du package ` DBMS_DATAPUMP`.

Le processus d'importation utilisant Oracle Data Pump et le package `DBMS_FILE_TRANSFER` comporte les étapes suivantes :

**Topics**
+ [

### Conditions requises pour importer des données avec Oracle Data Pump et un lien vers une base de données
](#Oracle.Procedural.Importing.DataPumpDBLink.requirements)
+ [

### Étape 1 : accorder des privilèges à l'utilisateur sur l'instance de base de données cible de RDS for Oracle
](#Oracle.Procedural.Importing.DataPumpDBLink.Step1)
+ [

### Étape 2 : Accorder des privilèges à l'utilisateur sur la base de données source
](#Oracle.Procedural.Importing.DataPumpDBLink.Step2)
+ [

### Étape 3 : créer un fichier de vidage en utilisant DBMS\$1DATAPUMP
](#Oracle.Procedural.Importing.DataPumpDBLink.Step3)
+ [

### Étape 4 : créer un lien de base de données vers l'instance de base de données cible
](#Oracle.Procedural.Importing.DataPumpDBLink.Step4)
+ [

### Étape 5 : copier le fichier de vidage exporté vers l'instance de base de données cible en utilisant DBMS\$1FILE\$1TRANSFER
](#Oracle.Procedural.Importing.DataPumpDBLink.Step5)
+ [

### Étape 6 : importer le fichier de données vers l'instance de base de données cible en utilisant DBMS\$1DATAPUMP
](#Oracle.Procedural.Importing.DataPumpDBLink.Step6)
+ [

### Étape 7 : nettoyer
](#Oracle.Procedural.Importing.DataPumpDBLink.Step7)

### Conditions requises pour importer des données avec Oracle Data Pump et un lien vers une base de données
<a name="Oracle.Procedural.Importing.DataPumpDBLink.requirements"></a>

Le processus est soumis aux exigences suivantes :
+ Vous devez disposer des privilèges d'exécution sur les packages `DBMS_FILE_TRANSFER` et `DBMS_DATAPUMP`.
+ Vous devez disposer de privilèges d'écriture sur le répertoire `DATA_PUMP_DIR` de l'instance de base de données source.
+ Vous devez veiller à disposer de suffisamment d'espace de stockage pour stocker le fichier de vidage sur l'instance source et l'instance de base de données cible.

**Note**  
Ce processus importe un fichier de vidage dans le répertoire `DATA_PUMP_DIR`, qui est préconfiguré sur toutes les instances de bases de données Oracle. Ce répertoire est situé sur le même volume de stockage que vos fichiers de données. Lorsque vous importez le fichier de vidage, les fichiers de données Oracle existants utilisent davantage d'espace. Vous devez donc veiller à ce que votre instance de base de données puisse répondre aux besoins de cette utilisation d'espace supplémentaire. Le fichier de vidage importé n'est pas automatiquement supprimé ou purgé du répertoire `DATA_PUMP_DIR`. Pour supprimer le fichier de vidage importé, utilisez [UTL\$1FILE.FREMOVE](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/UTL_FILE.html#GUID-09B09C2A-2C21-4F70-BF04-D0EEA7B59CAF), disponible sur le site web d’Oracle. 

### Étape 1 : accorder des privilèges à l'utilisateur sur l'instance de base de données cible de RDS for Oracle
<a name="Oracle.Procedural.Importing.DataPumpDBLink.Step1"></a>

Pour accorder des privilèges à l'utilisateur sur l'instance de base de données cible RDS for Oracle, procédez comme suit :

1. Utilisez SQL Plus ou Oracle SQL Developer pour vous connecter à l'instance de la base de données RDS for Oracle dans laquelle vous souhaitez importer les données. Connectez-vous à l'utilisateur principal Amazon RDS. Pour plus d'informations sur la connexion à votre instance de base de données, consultez [Connexion à votre instance de base de données Oracle](USER_ConnectToOracleInstance.md).

1. Créez les espaces de table requis avant d'importer les données. Pour plus d'informations, consultez [Création et dimensionnement de tablespaces dans RDS pour Oracle](Appendix.Oracle.CommonDBATasks.TablespacesAndDatafiles.md#Appendix.Oracle.CommonDBATasks.CreatingTablespacesAndDatafiles).

1. Si le compte d'utilisateur dans lequel les données seront importées n'existe pas, créez-en un et accordez-lui les autorisations et rôles nécessaires. Si vous importez des données avec plusieurs schémas d’utilisateur, créez chaque compte d’utilisateur et accordez-lui les privilèges et rôles nécessaires.

   Par exemple, les commandes suivantes créent un nouvel utilisateur nommé *schema\$11* et accordent les autorisations et les rôles nécessaires pour importer les données dans le schéma de cet utilisateur.

   ```
   CREATE USER schema_1 IDENTIFIED BY my-password;
   GRANT CREATE SESSION, RESOURCE TO schema_1;
   ALTER USER schema_1 QUOTA 100M ON users;
   ```
**Note**  
Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.

   L’exemple précédent montre comment accorder au nouvel utilisateur le privilège `CREATE SESSION` et le rôle `RESOURCE`. Des privilèges et rôles supplémentaires peuvent être requis en fonction des objets de la base de données que vous allez importer. 
**Note**  
Remplacez `schema_1` par le nom de votre schéma dans cette étape et dans les étapes suivantes.

### Étape 2 : Accorder des privilèges à l'utilisateur sur la base de données source
<a name="Oracle.Procedural.Importing.DataPumpDBLink.Step2"></a>

Utilisez SQL\$1Plus ou Oracle SQL Developer pour vous connecter à l'instance de la base de données RDS for Oracle qui contient les données à importer. Le cas échéant, créez un compte utilisateur et accordez les autorisations nécessaires. 

**Note**  
Si la base de données source est une instance Amazon RDS, vous pouvez ignorer cette étape. Vous allez utiliser votre compte d'utilisateur principal Amazon RDS for effectuer l'exportation.

Les commandes suivantes créent un nouvel utilisateur et accordent les autorisations nécessaires.

```
CREATE USER export_user IDENTIFIED BY my-password;
GRANT CREATE SESSION, CREATE TABLE, CREATE DATABASE LINK TO export_user;
ALTER USER export_user QUOTA 100M ON users;
GRANT READ, WRITE ON DIRECTORY data_pump_dir TO export_user;
GRANT SELECT_CATALOG_ROLE TO export_user;
GRANT EXECUTE ON DBMS_DATAPUMP TO export_user;
GRANT EXECUTE ON DBMS_FILE_TRANSFER TO export_user;
```

**Note**  
Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.

### Étape 3 : créer un fichier de vidage en utilisant DBMS\$1DATAPUMP
<a name="Oracle.Procedural.Importing.DataPumpDBLink.Step3"></a>

Pour créer un fichier de vidage, procédez comme suit :

1. Utilisez SQL\$1Plus ou Oracle SQL Developer pour vous connecter à l'instance Oracle source avec un utilisateur administrateur ou avec l'utilisateur créé à l'étape 2. Si la base de données source est une instance de base de données Amazon RDS for Oracle, connectez-vous avec l'utilisateur principal Amazon RDS.

1. Créez un fichier de vidage à l'aide de l'utilitaire Oracle Data Pump.

   Le script suivant crée un fichier de vidage appelé *sample.dmp* dans le répertoire `DATA_PUMP_DIR`. 

   ```
   DECLARE
     v_hdnl NUMBER;
   BEGIN
     v_hdnl := DBMS_DATAPUMP.OPEN( 
       operation => 'EXPORT' , 
       job_mode  => 'SCHEMA' , 
       job_name  => null
     );
     DBMS_DATAPUMP.ADD_FILE( 
       handle    => v_hdnl, 
       filename  => 'sample.dmp'    , 
       directory => 'DATA_PUMP_DIR' , 
       filetype  => dbms_datapump.ku$_file_type_dump_file
     );
     DBMS_DATAPUMP.ADD_FILE( 
       handle    => v_hdnl           , 
       filename  => 'sample_exp.log' , 
       directory => 'DATA_PUMP_DIR'  , 
       filetype  => dbms_datapump.ku$_file_type_log_file
     );
     DBMS_DATAPUMP.METADATA_FILTER(
       v_hdnl              ,
       'SCHEMA_EXPR'       ,
       'IN (''SCHEMA_1'')'
     );
     DBMS_DATAPUMP.METADATA_FILTER(
       v_hdnl,
       'EXCLUDE_NAME_EXPR',
       q'[IN (SELECT NAME FROM sys.OBJ$ 
              WHERE TYPE# IN (66,67,74,79,59,62,46) 
              AND OWNER# IN 
                (SELECT USER# FROM SYS.USER$ 
                 WHERE NAME IN ('RDSADMIN','SYS','SYSTEM','RDS_DATAGUARD','RDSSEC')
                )
             )
       ]',
       'PROCOBJ'
     );
     DBMS_DATAPUMP.START_JOB(v_hdnl);
   END;
   /
   ```
**Note**  
Les tâches de vidage de données sont démarrées de façon asynchrone. Pour obtenir des informations sur la surveillance d’une tâche Data Pump, consultez [Monitoring Job Status](https://docs.oracle.com/en/database/oracle/oracle-database/19/sutil/oracle-data-pump-overview.html#GUID-E365D74E-12CD-495C-BA23-5A55F679C7E7) dans la documentation Oracle. Vous pouvez afficher le contenu du journal d'exportation à l'aide de la procédure `rdsadmin.rds_file_util.read_text_file`. Pour plus d'informations, consultez [Lecture de fichiers dans un répertoire d'instance de base de données](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ReadingFiles).

### Étape 4 : créer un lien de base de données vers l'instance de base de données cible
<a name="Oracle.Procedural.Importing.DataPumpDBLink.Step4"></a>

Créez un lien de base de données entre votre instance de base de données source et votre instance de base de données cible. Notez que votre instance Oracle locale doit avoir une connectivité réseau à l'instance de base de données pour créer un lien de base de données et transférer votre fichier de vidage. 

Exécutez cette étape en étant connecté au même compte d'utilisateur qu'à l'étape précédente.

Si vous créez un lien de base de données entre deux instances de base de données au sein du même VPC ou peered VPCs, les deux instances de base de données doivent avoir une route valide entre elles. Le groupe de sécurité de chaque instance de base de données doit autoriser le trafic entrant dans l'autre instance de base de données et le trafic sortant de cette instance. Les règles entrantes et sortantes des groupes de sécurité peuvent faire référence à des groupes de sécurité à partir du même VPC ou d'un VPC appairé. Pour plus d'informations, consultez [Réglage des liens de base de données pour une utilisation avec les instances de base de données dans un VPC](Appendix.Oracle.CommonDBATasks.DBLinks.md). 

La commande suivante crée un lien de base de données appelé `to_rds` qui se connecte à l'utilisateur principal Amazon RDS au niveau de l'instance de base de données cible : 

```
CREATE DATABASE LINK to_rds 
  CONNECT TO <master_user_account> IDENTIFIED BY <password>
  USING '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<dns or ip address of remote db>)
         (PORT=<listener port>))(CONNECT_DATA=(SID=<remote SID>)))';
```

### Étape 5 : copier le fichier de vidage exporté vers l'instance de base de données cible en utilisant DBMS\$1FILE\$1TRANSFER
<a name="Oracle.Procedural.Importing.DataPumpDBLink.Step5"></a>

Utilisez `DBMS_FILE_TRANSFER` pour copier le fichier de vidage depuis l'instance de base de données source vers l'instance de base de données cible. Le script suivant copie un fichier de vidage appelé sample.dmp depuis l'instance source vers un lien de base de données cible appelé *to\$1rds* (créé dans l'étape précédente) : 

```
BEGIN
  DBMS_FILE_TRANSFER.PUT_FILE(
    source_directory_object       => 'DATA_PUMP_DIR',
    source_file_name              => 'sample.dmp',
    destination_directory_object  => 'DATA_PUMP_DIR',
    destination_file_name         => 'sample_copied.dmp', 
    destination_database          => 'to_rds' );
END;
/
```

### Étape 6 : importer le fichier de données vers l'instance de base de données cible en utilisant DBMS\$1DATAPUMP
<a name="Oracle.Procedural.Importing.DataPumpDBLink.Step6"></a>

Utilisez Oracle Data Pump pour importer le schéma dans l'instance de base de données. Notez que des options supplémentaires comme METADATA\$1REMAP pourraient être obligatoires. 

 Connectez-vous à l'instance de base de données avec le compte d'utilisateur principal Amazon RDS for effectuer l'importation. 

```
DECLARE
  v_hdnl NUMBER;
BEGIN
  v_hdnl := DBMS_DATAPUMP.OPEN( 
    operation => 'IMPORT', 
    job_mode  => 'SCHEMA', 
    job_name  => null);
  DBMS_DATAPUMP.ADD_FILE( 
    handle    => v_hdnl, 
    filename  => 'sample_copied.dmp',
    directory => 'DATA_PUMP_DIR', 
    filetype  => dbms_datapump.ku$_file_type_dump_file );
  DBMS_DATAPUMP.ADD_FILE( 
    handle    => v_hdnl, 
    filename  => 'sample_imp.log', 
    directory => 'DATA_PUMP_DIR', 
    filetype  => dbms_datapump.ku$_file_type_log_file);
  DBMS_DATAPUMP.METADATA_FILTER(v_hdnl,'SCHEMA_EXPR','IN (''SCHEMA_1'')');
  DBMS_DATAPUMP.START_JOB(v_hdnl);
END;
/
```

**Note**  
Les tâches de vidage de données sont démarrées de façon asynchrone. Pour obtenir des informations sur la surveillance d’une tâche Data Pump, consultez [Monitoring Job Status](https://docs.oracle.com/en/database/oracle/oracle-database/19/sutil/oracle-data-pump-overview.html#GUID-E365D74E-12CD-495C-BA23-5A55F679C7E7) dans la documentation Oracle. Vous pouvez afficher le contenu du journal d'importation à l'aide de la procédure `rdsadmin.rds_file_util.read_text_file`. Pour plus d'informations, consultez [Lecture de fichiers dans un répertoire d'instance de base de données](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ReadingFiles).

Vous pouvez vérifier l'importation des données en consultant les table de l'utilisateur sur l'instance de base de données. Par exemple, la requête suivante renvoie le nombre de tables de `schema_1`. 

```
SELECT COUNT(*) FROM DBA_TABLES WHERE OWNER='SCHEMA_1'; 
```

### Étape 7 : nettoyer
<a name="Oracle.Procedural.Importing.DataPumpDBLink.Step7"></a>

Après l'importation des données, vous pouvez supprimer les fichiers que vous ne souhaitez plus conserver. Vous pouvez répertorier les fichiers de `DATA_PUMP_DIR` à l'aide de la commande suivante.

```
SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir('DATA_PUMP_DIR')) ORDER BY MTIME;
```

Pour supprimer des fichiers dont vous n'avez plus besoin dans `DATA_PUMP_DIR`, utilisez la commande suivante : 

```
EXEC UTL_FILE.FREMOVE('DATA_PUMP_DIR','<file name>');
```

Par exemple, la commande suivante supprime le fichier appelé `"sample_copied.dmp"`. 

```
EXEC UTL_FILE.FREMOVE('DATA_PUMP_DIR','sample_copied.dmp'); 
```

# Importation avec les utilitaires d’importation/importation d’Oracle
<a name="Oracle.Procedural.Importing.ExportImport"></a>

Vous pouvez envisager les utilitaires d’importation/importation d’Oracle pour les migrations dans les conditions suivantes :
+ La taille de vos données est réduite.
+ Les types de données tels que les nombres flottants binaires et doubles ne sont pas nécessaires.

Le processus d'importation crée les objets de schéma nécessaires. Ainsi, vous n'avez pas besoin d'exécuter un script pour créer les objets au préalable. 

La méthode la plus simple pour installer les utilitaires d'exportation et d'importation d'Oracle est d'installer le client instantané Oracle. Pour télécharger le logiciel, accédez à [https://www.oracle.com/database/technologies/instant-client.html](https://www.oracle.com/database/technologies/instant-client.html). Pour la documentation, consultez [Instant Client for SQL\$1Loader, Export, and Import](https://docs.oracle.com/en/database/oracle/oracle-database/21/sutil/instant-client-sql-loader-export-import.html#GUID-FF1B6F75-09F5-4911-9317-9776FAD15965) (Instant Client pour SQL\$1Loader, export et importation) dans le manuel *Oracle Database Utilities*.

**Pour exporter des tables et les importer ensuite**

1. Exportez les tables depuis la base de données source en utilisant la commande `exp`.

   La commande suivante exporte les tables nommées `tab1`, `tab2` et `tab3`. Le fichier de vidage est `exp_file.dmp`.

   ```
   exp cust_dba@ORCL FILE=exp_file.dmp TABLES=(tab1,tab2,tab3) LOG=exp_file.log
   ```

   L'exportation crée un fichier de vidage binaire qui contient le schéma et les données pour les tables spécifiées. 

1. Importez le schéma et les données dans une base de données cible à l'aide de la commande `imp`.

   La commande suivante importe les tables `tab1`, `tab2` et `tab3` depuis le fichier de vidage `exp_file.dmp`.

   ```
   imp cust_dba@targetdb FROMUSER=cust_schema TOUSER=cust_schema \  
   TABLES=(tab1,tab2,tab3) FILE=exp_file.dmp LOG=imp_file.log
   ```

L'exportation et l'importation ont d'autres variantes qui pourraient être mieux adaptées à vos besoins. Consultez la documentation de la base de données Oracle pour plus de détails.

# Importation avec Oracle SQL\$1Loader
<a name="Oracle.Procedural.Importing.SQLLoader"></a>

Vous pouvez envisager Oracle SQL\$1Loader pour les grandes bases de données qui contiennent un nombre limité d'objets. Comme le processus d'exportation à partir d'une base de données source et de chargement dans une base de données cible est spécifique au schéma, l'exemple suivant crée les objets du schéma type, exporte à partir d'une source, puis charge les données dans une base de données cible. 

La méthode la plus simple pour installer Oracle SQL\$1Loader est d'installer Oracle Instant Client. Pour télécharger le logiciel, accédez à [https://www.oracle.com/database/technologies/instant-client.html](https://www.oracle.com/database/technologies/instant-client.html). Pour la documentation, consultez [Instant Client for SQL\$1Loader, Export, and Import](https://docs.oracle.com/en/database/oracle/oracle-database/21/sutil/instant-client-sql-loader-export-import.html#GUID-FF1B6F75-09F5-4911-9317-9776FAD15965) (Instant Client pour SQL\$1Loader, export et importation) dans le manuel *Oracle Database Utilities*.

**Pour importer des données avec Oracle SQL\$1Loader**

1. Créez une table source type en utilisant l'instruction SQL suivante.

   ```
   CREATE TABLE customer_0 TABLESPACE users 
      AS (SELECT ROWNUM id, o.* 
          FROM   ALL_OBJECTS o, ALL_OBJECTS x 
          WHERE  ROWNUM <= 1000000);
   ```

1. Sur l'instance de base de données RDS for Oracle cible, créez une table de destination pour le chargement des données. La clause `WHERE 1=2` permet de copier la structure de `ALL_OBJECTS` sans copier aucune ligne.

   ```
   CREATE TABLE customer_1 TABLESPACE users 
     AS (SELECT 0 AS ID, OWNER, OBJECT_NAME, CREATED
         FROM   ALL_OBJECTS
         WHERE  1=2);
   ```

1. Exportez les données de la base de données source vers un fichier texte. L'exemple suivant utilise SQL\$1Plus. Pour vos données, vous pourrez avoir besoin de générer un script qui exporte tous les objets dans la base de données. 

   ```
   ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY/MM/DD HH24:MI:SS'
   
   SET LINESIZE 800 HEADING OFF FEEDBACK OFF ARRAY 5000 PAGESIZE 0
   SPOOL customer_0.out 
   SET MARKUP HTML PREFORMAT ON
   SET COLSEP ','
   
   SELECT id, owner, object_name, created 
   FROM   customer_0; 
   
   SPOOL OFF
   ```

1. Créez un fichier de contrôle pour décrire les données. Vous devrez peut-être écrire un script pour réaliser cette étape. 

   ```
   cat << EOF > sqlldr_1.ctl 
   load data
   infile customer_0.out
   into table customer_1
   APPEND
   fields terminated by "," optionally enclosed by '"'
   (
     id           POSITION(01:10)    INTEGER EXTERNAL,
     owner        POSITION(12:41)    CHAR,
     object_name  POSITION(43:72)    CHAR,
     created      POSITION(74:92)    date "YYYY/MM/DD HH24:MI:SS"
   )
   ```

   Le cas échéant, copiez les fichiers générés par le code précédent vers une zone tampon comme une instance Amazon EC2.

1. Importez les données en utilisant SQL\$1Loader avec le nom d'utilisateur et le mot de passe appropriés pour la base de données cible. 

   ```
   sqlldr cust_dba@targetdb CONTROL=sqlldr_1.ctl BINDSIZE=10485760 READSIZE=10485760 ROWS=1000 
   ```

# Migration avec les vues matérialisées d'Oracle
<a name="Oracle.Procedural.Importing.Materialized"></a>

Pour migrer efficacement de grands jeux de données, vous pouvez utiliser la réplication de vues matérialisées Oracle. Avec la réplication, vous pouvez maintenir les tables cibles synchronisées avec les tables sources. Ainsi, vous pouvez passer à Amazon RDS plus tard, si nécessaire. 

Avant de procéder à une migration à l'aide de vues matérialisées, assurez-vous que vous remplissez les conditions suivantes :
+ Configurez l'accès de la base de données cible à la base de données source. Dans l'exemple suivant, les règles d'accès ont été activées sur la base de données source pour permettre à la base de données cible RDS for Oracle de se connecter à la source via SQL\$1Net. 
+ Créez un lien de base de données entre l'instance de base de données RDS for Oracle et la base de données source.

**Pour migrer des données en utilisant des vues matérialisées**

1. Créez un compte utilisateur sur les instances RDS for Oracle source et cible que vous pouvez authentifier avec le même mot de passe. L’exemple suivant crée un utilisateur nommé `dblink_user`.

   ```
   CREATE USER dblink_user IDENTIFIED BY my-password
     DEFAULT TABLESPACE users
     TEMPORARY TABLESPACE temp;
      
   GRANT CREATE SESSION TO dblink_user;
   
   GRANT SELECT ANY TABLE TO dblink_user;
   
   GRANT SELECT ANY DICTIONARY TO dblink_user;
   ```
**Note**  
Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.

1. Créez un lien de base de données entre l'instance cible RDS for Oracle et l'instance source en utilisant votre utilisateur nouvellement créé.

   ```
   CREATE DATABASE LINK remote_site
     CONNECT TO dblink_user IDENTIFIED BY my-password
     USING '(description=(address=(protocol=tcp) (host=my-host) 
       (port=my-listener-port)) (connect_data=(sid=my-source-db-sid)))';
   ```
**Note**  
Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.

1. Testez le lien :

   ```
   SELECT * FROM V$INSTANCE@remote_site;
   ```

1. Créez un exemple de table avec une clé primaire et un journal des vues matérialisées sur l'instance source.

   ```
   CREATE TABLE customer_0 TABLESPACE users 
     AS (SELECT ROWNUM id, o.* 
         FROM   ALL_OBJECTS o, ALL_OBJECTS x
         WHERE  ROWNUM <= 1000000);
   
   ALTER TABLE customer_0 ADD CONSTRAINT pk_customer_0 PRIMARY KEY (id) USING INDEX;
   
   CREATE MATERIALIZED VIEW LOG ON customer_0;
   ```

1. Sur l'instance de base de données RDS for Oracle cible, créez une vue matérialisée. 

   ```
   CREATE MATERIALIZED VIEW customer_0 
     BUILD IMMEDIATE REFRESH FAST 
     AS (SELECT * 
         FROM   cust_dba.customer_0@remote_site);
   ```

1. Sur l'instance de base de données RDS for Oracle cible, actualisez la vue matérialisée.

   ```
   EXEC DBMS_MVIEW.REFRESH('CUSTOMER_0', 'f');
   ```

1. Supprimez la vue matérialisée et ajoutez la clause `PRESERVE TABLE` pour conserver la table conteneur de la vue matérialisée et son contenu.

   ```
   DROP MATERIALIZED VIEW customer_0 PRESERVE TABLE;
   ```

   La table conservée a le même nom que la vue matérialisée supprimée.

# Utilisation de réplicas en lecture pour Amazon RDS for Oracle
<a name="oracle-read-replicas"></a>

Pour configurer la réplication entre les instances de base de données Oracle, vous pouvez créer des bases de données de réplicas. Pour obtenir une présentation des réplicas en lecture Amazon RDS, consultez [Présentation des réplicas en lecture Amazon RDSPrésentation de ](USER_ReadRepl.md#USER_ReadRepl.Overview). Pour obtenir un récapitulatif des différences entre les réplicas Oracle et les autres moteurs de base de données, consultez [Différences entre les réplicas en lecture pour les moteurs de bases de données](USER_ReadRepl.Overview.Differences.md).

**Topics**
+ [

# Présentation des réplicas RDS for Oracle
](oracle-read-replicas.overview.md)
+ [

# Exigences et considérations relatives aux réplicas RDS for Oracle
](oracle-read-replicas.limitations.md)
+ [

# Préparation de la création d'un réplica Oracle
](oracle-read-replicas.Configuration.md)
+ [

# Création d'un réplica RDS for Oracle en mode monté
](oracle-read-replicas.creating-in-mounted-mode.md)
+ [

# Modification du mode réplica RDS for Oracle
](oracle-read-replicas.changing-replica-mode.md)
+ [

# Utilisation de RDS pour les sauvegardes de réplicas Oracle
](oracle-read-replicas.backups.md)
+ [

# Exécution d’une bascule d’Oracle Data Guard
](oracle-replication-switchover.md)
+ [

# Dépannage des réplicas RDS for Oracle
](oracle-read-replicas.troubleshooting.md)
+ [

# Compression de transport de rétablissement avec RDS for Oracle
](oracle-read-replicas.redo-transport-compression.md)

# Présentation des réplicas RDS for Oracle
<a name="oracle-read-replicas.overview"></a>

Un *réplica Oracle* de base de données est une copie physique de votre base de données primaire. Un réplica Oracle en lecture seule est appelé *réplica en lecture*. Un réplica Oracle en mode monté est appelé *réplica monté*. Oracle Database n'autorise pas les écritures dans un réplica, mais vous pouvez le promouvoir pour le rendre accessible en écriture. Le réplica en lecture promu a les données répliquées jusqu’au moment où la demande a été faite pour le promouvoir.

La vidéo suivante contient une présentation utile de la reprise après sinistre RDS for Oracle. 

[![AWS Videos](http://img.youtube.com/vi/-XpzhIevwVg/0.jpg)](http://www.youtube.com/watch?v=-XpzhIevwVg)


Pour plus d'informations, consultez les billets de blog [Managed disaster recovery with Amazon RDS for Oracle cross-Region automated backups - Part 1](https://aws.amazon.com/blogs/database/managed-disaster-recovery-with-amazon-rds-for-oracle-cross-region-automated-backups-part-1/) et [Managed disaster recovery with Amazon RDS for Oracle cross-Region automated backups - Part 2](https://aws.amazon.com/blogs/database/part-2-managed-disaster-recovery-with-amazon-rds-for-oracle-xrab/).

**Topics**
+ [

## Réplicas en lecture seule et montés
](#oracle-read-replicas.overview.modes)
+ [

## Lisez des répliques de CDBs
](#oracle-read-replicas.overview.data-guard)
+ [

## Conservation du journal de reprise archivé
](#oracle-read-replicas.overview.log-retention)
+ [

## Pannes pendant la réplication Oracle
](#oracle-read-replicas.overview.outages)

## Réplicas en lecture seule et montés
<a name="oracle-read-replicas.overview.modes"></a>

Lorsque vous créez ou modifiez un réplica Oracle, vous pouvez le placer dans l'un des modes suivants :

Lecture seule  
Il s’agit de l’option par défaut. Active Data Guard transmet et applique les modifications de la base de données source à toutes les bases de données de réplicas en lecture.  
Vous pouvez créer jusqu'à cinq réplicas en lecture à partir d'une seule instance de base de données source. Pour obtenir des informations générales sur les réplicas en lecture qui s’appliquent à tous les moteurs de base de données, consultez [Utilisation des réplicas en lecture d'instance de base de données](USER_ReadRepl.md). Pour plus d'informations sur Oracle Data Guard, consultez [Concepts et administration d'Oracle Data Guard](https://docs.oracle.com/en/database/oracle/oracle-database/19/sbydb/oracle-data-guard-concepts.html#GUID-F78703FB-BD74-4F20-9971-8B37ACC40A65) dans la documentation Oracle.

Monté  
Dans ce cas, la réplication utilise Oracle Data Guard, mais la base de données du réplica n'accepte pas les connexions utilisateur. L'utilisation principale des réplicas montés est la reprise après sinistre inter-région.  
Un réplica monté ne peut pas servir de charge de travail en lecture seule. Le réplica monté supprime les fichiers de journalisation archivés après leur application, quelle que soit la stratégie de conservation des journaux archivés.

Vous pouvez créer une combinaison de réplicas de base de données montés et en lecture seule pour la même instance de base de données source. Vous pouvez changer un réplica en lecture seule en mode monté ou changer un réplica monté en mode lecture seule. Dans les deux cas, la base de données Oracle conserve le paramètre de conservation des journaux archivés.

## Lisez des répliques de CDBs
<a name="oracle-read-replicas.overview.data-guard"></a>

RDS for Oracle prend en charge les répliques de lecture Data Guard pour Oracle Database 19c et 21c CDBs dans des configurations à locataire unique ou à locataires multiples. Vous pouvez créer, gérer et promouvoir des réplicas en lecture dans une CDB, tout comme vous pouvez le faire dans une base de données non CDB. Les réplicas montés sont également pris en charge. Vous bénéficiez des avantages suivants :
+ Reprise après sinistre gérée, haute disponibilité et accès en lecture seule à vos réplicas
+ Possibilité de créer des répliques de lecture dans un autre format. Région AWS
+ Intégration à la réplique de lecture RDS existante APIs : [Create DBInstance ReadReplica [PromoteReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_PromoteReadReplica.html)](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html), et [SwitchoverReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_SwitchoverReadReplica.html)

Pour utiliser cette fonctionnalité, vous avez besoin d'une licence Active Data Guard et d'une licence Oracle Database Enterprise Edition pour les instances de base de données de réplica et principale. Il n'y a aucun coût supplémentaire lié à l'utilisation de l'architecture CDB. Vous ne payez que pour vos instances de base de données. 

Pour plus d'informations sur les configurations à locataire unique et à locataires multiples de l'architecture CDB, consultez [Présentation de RDS pour Oracle CDBs](Oracle.Concepts.CDBs.md).

## Conservation du journal de reprise archivé
<a name="oracle-read-replicas.overview.log-retention"></a>

Si une instance de base de données primaire ne possède aucun réplica en lecture entre régions, Amazon RDS for Oracle conserve un minimum de deux heures de journaux de reprise sur l'instance de base de données source. Cela est vrai quelle que soit la valeur définie pour `archivelog retention hours` dans `rdsadmin.rdsadmin_util.set_configuration`. 

RDS purge les journaux de l'instance de base de données source au bout de deux heures ou à l'issue du délai de conservation des journaux d'archive défini, si celui-ci est plus long. RDS purge les journaux du réplica en lecture à l'issue du délai de conservation des journaux d'archive qui a été défini, uniquement s'ils ont été appliqués correctement à la base de données.

Dans certains cas, une instance de base de données primaire peut avoir un ou plusieurs réplicas en lecture entre régions. Dans ce cas, Amazon RDS for Oracle conserve les journaux de transaction sur l’instance de base de données source jusqu’à ce qu’ils aient été transmis et appliqués à tous les réplicas en lecture entre régions. Pour en savoir plus sur `rdsadmin.rdsadmin_util.set_configuration`, consultez [Conservation des journaux redo archivés](Appendix.Oracle.CommonDBATasks.RetainRedoLogs.md).

## Pannes pendant la réplication Oracle
<a name="oracle-read-replicas.overview.outages"></a>

Lorsque vous créez un réplica en lecture, Amazon RDS prend un instantané de votre instance de base de données source et commence la réplication. L'instance de base de données source subit une très brève I/O suspension lorsque l'opération de capture instantanée de base de données commence. La I/O suspension dure généralement une seconde environ. Vous pouvez éviter la I/O suspension si l'instance de base de données source est un déploiement multi-AZ, car dans ce cas, le snapshot est pris à partir de l'instance de base de données secondaire.

L’instantané de base de données devient le réplica Oracle. Amazon RDS définit les paramètres et autorisations nécessaires pour la base de données source et le réplica sans interruption de service. De même, si vous supprimez un réplica, aucune panne ne se produit.

# Exigences et considérations relatives aux réplicas RDS for Oracle
<a name="oracle-read-replicas.limitations"></a>

Avant de créer un réplica Oracle, familiarisez-vous avec les exigences et considérations suivantes.

**Topics**
+ [

## Exigences de version et de licence pour les réplicas RDS for Oracle
](#oracle-read-replicas.limitations.versions-and-licenses)
+ [

## Limitations des groupes d’options pour les réplicas RDS for Oracle
](#oracle-read-replicas.limitations.options)
+ [

## Considérations relatives à la sauvegarde et la restauration des réplicas RDS for Oracle
](#oracle-read-replicas.limitations.backups)
+ [

## Exigences et limites relatives à Oracle Data Guard pour les réplicas RDS for Oracle
](#oracle-read-replicas.data-guard.requirements)
+ [

## Limites de configuration multi-locataires pour les répliques RDS pour Oracle
](#oracle-read-replicas.limitations.multitenant)
+ [

## Considérations diverses relatives aux réplicas RDS for Oracle
](#oracle-read-replicas.limitations.miscellaneous)

## Exigences de version et de licence pour les réplicas RDS for Oracle
<a name="oracle-read-replicas.limitations.versions-and-licenses"></a>

Avant de créer un réplica RDS for Oracle, tenez compte des éléments suivants :
+ Si le réplica est en mode lecture seule, assurez-vous que vous disposez d'une licence Active Data Guard. Si vous placez le réplica en mode monté, vous n'avez pas besoin d'une licence Active Data Guard. Seul le moteur Oracle DB prend en charge les réplicas montés.
+ Les réplicas Oracle sont pris en charge uniquement pour Oracle Enterprise Edition (EE).
+ Les répliques Oracle de non- ne CDBs sont prises en charge que pour les instances de base de données créées à l'aide d'instances non CDB exécutant Oracle Database 19c.
+ Les répliques Oracle sont disponibles pour les instances de base de données exécutées uniquement sur des classes d'instances de base de données comportant au moins deux v. CPUs Une instance de base de données source ne peut pas utiliser la classe d'instance db.t3.small.
+ La version du moteur de base de données Oracle de l’instance de base de données source et tous ses réplicas doivent être identiques. Amazon RDS met à niveau les réplicas immédiatement après la mise à niveau de l'instance de base de données source, quelle que soit la fenêtre de maintenance d'un réplica. Pour les mises à niveau majeures de versions de réplicas inter-régions, Amazon RDS effectue automatiquement les opérations suivantes :
  + Génère un groupe d'options pour la version cible
  + Copie toutes les options et tous les paramètres d'option du groupe d'options d'origine vers le nouveau groupe d'options
  + Associe le réplica en lecture inter-région mis à niveau au nouveau groupe d'options

  Pour plus d’informations sur la mise à niveau de la version du moteur de base de données, consultez [Mise à niveau du moteur de base de données RDS for Oracle](USER_UpgradeDBInstance.Oracle.md).

## Limitations des groupes d’options pour les réplicas RDS for Oracle
<a name="oracle-read-replicas.limitations.options"></a>

Lorsque vous travaillez avec des groupes d’options pour votre réplica RDS for Oracle, tenez compte des éléments suivants :
+ Vous ne pouvez pas utiliser un groupe d'options de réplication différent du groupe d'options d'instance de base de données source lorsque la source et le réplica se trouvent dans la même AWS région. 

  Les modifications apportées au groupe d’options source ou à l’appartenance au groupe d’options source sont propagées aux réplicas Oracle. Ces modifications sont appliquées aux réplicas immédiatement après leur application à l'instance de base de données source, quelle que soit la fenêtre de maintenance du réplica. Pour plus d'informations sur les groupes d'options, consultez [Utilisation de groupes d’options](USER_WorkingWithOptionGroups.md).
+ Vous ne pouvez pas supprimer un réplica RDS for Oracle entre régions de son groupe d’options dédié, qui est automatiquement créé pour le réplica. 
+ Vous ne pouvez pas ajouter le groupe d’options dédié pour un réplica RDS for Oracle entre régions à une instance de base de données différente. 
+ Vous ne pouvez pas ajouter ou supprimer des options non répliquées d’un groupe d’options dédié pour un réplica RDS for Oracle entre régions, à l’exception des options suivantes :
  + `NATIVE_NETWORK_ENCRYPTION`
  + `OEM`
  + `OEM_AGENT`
  + `SSL`

  Pour ajouter d'autres options à un réplica RDS for Oracle entre régions, ajoutez-les au groupe d'options de l'instance de base de données source. L'option est également installée sur tous les réplicas de l'instance de base de données source. Pour les options sous licence, assurez-vous qu'il existe suffisamment de licences pour les réplicas.

  Lorsque vous promouvez un réplica RDS for Oracle entre régions, le réplica promu se comporte de la même façon que d'autres instances de base de données Oracle, y compris pour la gestion de ses options. Vous pouvez promouvoir un réplica explicitement ou implicitement en supprimant son instance de base de données source.

  Pour plus d’informations sur les groupes d’options, consultez [Utilisation de groupes d’options](USER_WorkingWithOptionGroups.md).
+ Vous ne pouvez pas ajouter l’option `EFS_INTEGRATION` à RDS pour les réplicas Oracle entre régions.

## Considérations relatives à la sauvegarde et la restauration des réplicas RDS for Oracle
<a name="oracle-read-replicas.limitations.backups"></a>

Avant de créer un réplica RDS for Oracle, tenez compte des éléments suivants :
+ Pour créer des instantanés des réplicas de RDS for Oracle ou activer les sauvegardes automatiques, veillez à définir manuellement la période de conservation des sauvegardes. Les sauvegardes automatiques ne sont pas activées par défaut.
+ Lorsque vous restaurez une sauvegarde de réplica, vous rétablissez l’heure de la base de données, et non l’heure à laquelle la sauvegarde a été effectuée. L’heure de la base de données désigne la dernière heure de transaction appliquée des données dans la sauvegarde. La différence est importante car un réplica peut être en retard de plusieurs minutes ou heures par rapport à l'instance principale. 

  Pour faire la distinction, utilisez la commande `describe-db-snapshots`. Comparez le paramètre `snapshotDatabaseTime`, qui correspond à l’heure de la base de données de la sauvegarde du réplica, et le champ `OriginalSnapshotCreateTime`, qui correspond à la dernière transaction appliquée sur la base de données principale.

## Exigences et limites relatives à Oracle Data Guard pour les réplicas RDS for Oracle
<a name="oracle-read-replicas.data-guard.requirements"></a>

Avant de créer un réplica RDS for Oracle, notez les exigences et limites suivantes :
+ Si votre instance de base de données principale utilise la configuration à locataire unique ou à locataires multiples de l'architecture multilocataire, tenez compte des points suivants :
  + Vous devez utiliser Oracle Database 19c ou version ultérieure avec la version Enterprise Edition.
  + Votre instance CDB principale doit se trouver dans un cycle de vie `ACTIVE`.
  + Vous ne pouvez pas convertir une instance principale non-CDB en instance CDB et convertir ses réplicas dans la même opération. Supprimez plutôt les réplicas non-CDB, convertissez l'instance de base de données principale en CDB, puis créez de nouveaux réplicas.
+ Veillez à ce qu'un déclencheur de connexion sur une instance de base de données principale permette l'accès à l'utilisateur `RDS_DATAGUARD` et à tout utilisateur dont la valeur `AUTHENTICATED_IDENTITY` est `RDS_DATAGUARD` ou `rdsdb`. En outre, le déclencheur ne doit pas définir le schéma actuel pour l'utilisateur `RDS_DATAGUARD`.
+ Pour éviter de bloquer les connexions du processus de l'agent Data Guard, n'activez pas les sessions restreintes. Pour plus d'informations sur les sessions restreintes, consultez [Activation et désactivation de sessions restreintes](Appendix.Oracle.CommonDBATasks.RestrictedSession.md).

## Limites de configuration multi-locataires pour les répliques RDS pour Oracle
<a name="oracle-read-replicas.limitations.multitenant"></a>

Lorsque vous utilisez la configuration multi-tenant sur une réplique RDS pour Oracle, notez les limites suivantes :
+ Vous ne pouvez créer, supprimer ou modifier des bases de données mutualisées que sur l'instance de base de données principale. Ces modifications se propagent automatiquement aux répliques.
+ Les bases de données mutualisées sur un serveur principal, source ou réplique RDS for Oracle ne peuvent pas être créées avec un jeu de caractères personnalisé. Si vous avez besoin d'un jeu de caractères personnalisé, créez les bases de données mutualisées avant de créer des répliques de lecture pour l'instance de base de données.

## Considérations diverses relatives aux réplicas RDS for Oracle
<a name="oracle-read-replicas.limitations.miscellaneous"></a>

Avant de créer un réplica RDS for Oracle, tenez compte des éléments suivants :
+ Lorsque vous créez une réplique RDS pour Oracle pour une instance de base de données dotée de volumes de stockage supplémentaires, RDS configure automatiquement des volumes de stockage supplémentaires sur la réplique. Cependant, les modifications ultérieures apportées aux volumes de stockage de votre instance de base de données principale ne sont pas automatiquement appliquées à la réplique. 
+ Si vous ajoutez des volumes de stockage supplémentaires dans votre instance de base de données principale, RDS n'ajoute pas automatiquement de volumes de stockage supplémentaires à la réplique. Vous devez modifier votre réplique pour ajouter des volumes de stockage supplémentaires. 
+ Si vous modifiez la configuration des volumes de stockage, telle que la taille de stockage et les IOPS dans votre instance de base de données principale, RDS ne modifie pas automatiquement les volumes de stockage dans la réplique. Vous devez modifier votre réplique pour mettre à jour les configurations des volumes de stockage.
+ Lorsque vous gérez l'emplacement des fichiers de données sur plusieurs volumes, notez que les modifications apportées à votre instance principale ne sont pas automatiquement synchronisées avec les répliques.
  + Pour les répliques en lecture seule : vous pouvez soit utiliser les paramètres des groupes de paramètres pour contrôler l'emplacement des fichiers par défaut, soit déplacer manuellement les fichiers une fois qu'ils ont été créés.
  + Pour les répliques montées : les modifications manuelles apportées à l'emplacement des fichiers de données dans la base de données principale nécessitent de recréer la réplique montée pour refléter ces modifications. Pour éviter cela, nous vous recommandons d'utiliser les paramètres des groupes de paramètres pour gérer les emplacements de fichiers par défaut.
+ Si votre instance de base de données est une source pour un ou plusieurs réplicas entre régions, la base de données source retient ses fichiers journaux redo archivés jusqu’à ce qu’ils soient appliqués dans tous les réplicas entre régions. Les journaux redo archivés peuvent entraîner une augmentation de la consommation de stockage.
+ Pour éviter d'interrompre l'automatisation RDS, les déclencheurs système doivent permettre à des utilisateurs spécifiques de se connecter à la base de données primaire et de réplication. Les [déclencheurs système](https://docs.oracle.com/en/database/oracle/oracle-database/19/lnpls/plsql-triggers.html#GUID-FE23FCE8-DE36-41EF-80A9-6B4B49E80E5B) incluent les déclencheurs DDL, les déclencheurs de connexion et les déclencheurs de rôle de base de données. Nous vous recommandons d'ajouter du code à vos déclencheurs pour exclure les utilisateurs répertoriés dans l'exemple de code suivant :

  ```
  -- Determine who the user is
  SELECT SYS_CONTEXT('USERENV','AUTHENTICATED_IDENTITY') INTO CURRENT_USER FROM DUAL;
  -- The following users should always be able to login to either the Primary or Replica
  IF CURRENT_USER IN ('master_user', 'SYS', 'SYSTEM', 'RDS_DATAGUARD', 'rdsdb') THEN
  RETURN;
  END IF;
  ```
+ Le suivi des modifications de bloc est pris en charge pour les réplicas en lecture seule, mais pas pour les réplicas montés. Vous pouvez convertir un réplica monté en réplica en lecture seule, puis activer le suivi des modifications de bloc. Pour plus d’informations, consultez [Activation et désactivation du suivi des modifications de bloc](Appendix.Oracle.CommonDBATasks.BlockChangeTracking.md).
+ Vous ne pouvez pas créer de réplica en lecture Oracle lorsque la base de données source gère les informations d’identification de l’utilisateur principal avec Secrets Manager.

# Préparation de la création d'un réplica Oracle
<a name="oracle-read-replicas.Configuration"></a>

Avant de commencer à utiliser votre réplica, effectuez les tâches suivantes.

**Topics**
+ [

## Planification des sauvegardes automatiques
](#oracle-read-replicas.configuration.autobackups)
+ [

## Activation du mode de journalisation
](#oracle-read-replicas.configuration.force-logging)
+ [

## Modification de votre configuration de journalisation
](#oracle-read-replicas.configuration.logging-config)
+ [

## Définition du paramètre MAX\$1STRING\$1SIZE
](#oracle-read-replicas.configuration.string-size)
+ [

## Planification des ressources de calcul et de stockage
](#oracle-read-replicas.configuration.planning-resources)

## Planification des sauvegardes automatiques
<a name="oracle-read-replicas.configuration.autobackups"></a>

Avant qu'une instance de base de données puisse être utilisée comme instance de bases de données source, vous devez activer les sauvegardes automatiques sur l'instance de base de données source. Pour savoir comment effectuer cette procédure, consultez [Activation des sauvegardes automatiques](USER_WorkingWithAutomatedBackups.Enabling.md).

## Activation du mode de journalisation
<a name="oracle-read-replicas.configuration.force-logging"></a>

Nous vous recommandons d'activer le mode de journalisation forcée. En mode de journalisation forcée, la base de données Oracle écrit des enregistrements de journalisation même lorsque `NOLOGGING` est utilisée avec des instructions DDL (Data Definition Language).

**Pour activer le mode de journalisation forcée**

1. Connectez-vous à votre base de données Oracle à l'aide d'un outil client tel que SQL Developer.

1. Activez le mode de journalisation forcée en exécutant la procédure suivante. 

   ```
   exec rdsadmin.rdsadmin_util.force_logging(p_enable => true);
   ```

Pour plus d’informations sur cette procédure, consultez [Configuration du mode FORCE LOGGING](Appendix.Oracle.CommonDBATasks.Log.md#Appendix.Oracle.CommonDBATasks.SettingForceLogging).

## Modification de votre configuration de journalisation
<a name="oracle-read-replicas.configuration.logging-config"></a>

Pour *n* journaux de restauration en ligne de taille *m*, RDS crée automatiquement *n*\$11 journaux de secours de taille *m* sur l’instance de base de données principale et sur tous les réplicas. Chaque fois que vous modifiez la configuration de journalisation sur le serveur principal, les modifications se propagent automatiquement aux réplicas. 

Si vous modifiez votre configuration de journalisation, tenez compte des directives suivantes :
+ Nous vous recommandons de terminer les modifications avant de faire d’une instance de base de données la source des réplicas. RDS for Oracle prend également en charge la mise à jour de l’instance une fois qu’elle est devenue une source.
+ Avant de modifier la configuration de journalisation sur l’instance de base de données principale, vérifiez que chaque réplica dispose d’un espace de stockage suffisant pour s’adapter à la nouvelle configuration. 

Vous pouvez modifier la configuration de journalisation d’une instance DB à l’aide des procédures Amazon RDS `rdsadmin.rdsadmin_util.add_logfile` et `rdsadmin.rdsadmin_util.drop_logfile`. Pour plus d’informations, consultez [Ajout de journaux redo en ligne](Appendix.Oracle.CommonDBATasks.Log.md#Appendix.Oracle.CommonDBATasks.RedoLogs) et [Suppression de journaux redo en ligne](Appendix.Oracle.CommonDBATasks.Log.md#Appendix.Oracle.CommonDBATasks.DroppingRedoLogs).

## Définition du paramètre MAX\$1STRING\$1SIZE
<a name="oracle-read-replicas.configuration.string-size"></a>

Avant de créer un réplica Oracle, assurez-vous que le paramètre `MAX_STRING_SIZE` est le même sur l'instance de base de données source et sur le réplica. Pour cela, vous devez les associer au même groupe de paramètres. Si vous avez différents groupes de paramètres pour la source et le réplica, vous pouvez définir `MAX_STRING_SIZE` sur la même valeur. Pour plus d’informations sur la configuration de ce paramètre, consultez [Activation des types de données étendus pour une nouvelle instance de base de données](Oracle.Concepts.ExtendedDataTypes.md#Oracle.Concepts.ExtendedDataTypes.CreateDBInstance).

## Planification des ressources de calcul et de stockage
<a name="oracle-read-replicas.configuration.planning-resources"></a>

Assurez-vous que l'instance de base de données source et ses réplicas sont dimensionnés correctement, en termes de calcul et de stockage, en fonction de leur charge opérationnelle. Si un réplica atteint sa capacité en termes de ressources de calcul, de réseau ou de stockage, il arrête de recevoir ou d'appliquer les modifications provenant de sa source. Amazon RDS for Oracle n'intervient pas pour atténuer un retard de réplica élevé entre une instance de base de données source et ses réplicas. Vous pouvez modifier les ressources de stockage et d'UC d'un réplica indépendamment de sa source et d'autres réplicas.

# Création d'un réplica RDS for Oracle en mode monté
<a name="oracle-read-replicas.creating-in-mounted-mode"></a>

Par défaut, les réplicas Oracle sont en lecture seule. Pour créer un réplica en mode monté, utilisez la console, l'AWS CLI ou l'API RDS.

## Console
<a name="oracle-read-replicas.creating-in-mounted-mode.console"></a>

**Pour créer un réplica monté à partir d'une instance de base de données Oracle source**

1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Dans la panneau de navigation, choisissez **Databases (Bases de données)**.

1. Choisissez l'instance de base de données Oracle que vous souhaitez utiliser comme source pour un réplica monté.

1. Sous **Actions**, choisissez **Créer un réplica**. 

1. Pour le **Mode réplica**, choisissez **Monté**.

1. Choisissez les paramètres que vous souhaitez utiliser. Sous **Identifiant de l'instance DB**, saisissez un nom pour le réplica en lecture. Ajustez les autres paramètres selon les besoins.

1. Pour **Régions**, choisissez la région dans laquelle le réplica monté sera lancé. 

1. Choisissez la taille de votre instance et le type de stockage. Nous vous recommandons d'utiliser le même type de stockage et la même classe d'instance de base de données que l'instance de base de données source pour le réplica en lecture.

1. Pour **Déploiement Multi-AZ**, choisissez **Créer une instance de secours** pour créer une instance de secours de votre réplica dans une autre zone de disponibilité pour la prise en charge du basculement pour le réplica monté. La création de votre réplica monté en tant qu'instance de base de données multi-AZ est indépendante du fait que la base de données source soit ou non une instance de base de données multi-AZ.

1. Choisissez les autres paramètres que vous voulez utiliser.

1. Choisissez **Créer un réplica**.

Dans la page **Bases** de données, le réplica monté a le rôle Réplica.

## AWS CLI
<a name="oracle-read-replicas.creating-in-mounted-mode.cli"></a>

Pour créer un réplica Oracle en mode monté, définissez `--replica-mode` sur `mounted` dans la commande AWS CLI [create-db-instance-read-replica](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance-read-replica.html).

**Example**  
Pour Linux, macOS ou Unix :  

```
aws rds create-db-instance-read-replica \
    --db-instance-identifier myreadreplica \
    --source-db-instance-identifier mydbinstance \
    --replica-mode mounted
```
Pour Windows :  

```
aws rds create-db-instance-read-replica ^
    --db-instance-identifier myreadreplica ^
    --source-db-instance-identifier mydbinstance ^
    --replica-mode mounted
```

Pour modifier un réplica en lecture seule en état monté, définissez `--replica-mode` sur `mounted` dans la commande AWS CLI [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html). Pour convertir un réplica monté en réplica en lecture seule, définissez `--replica-mode` sur `open-read-only`. 

## API RDS
<a name="oracle-read-replicas.creating-in-mounted-mode.api"></a>

Pour créer un réplica Oracle en mode monté, spécifiez `ReplicaMode=mounted` dans l'opération API RDS [CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html).

# Modification du mode réplica RDS for Oracle
<a name="oracle-read-replicas.changing-replica-mode"></a>

Pour modifier le mode de réplica d'un réplica existant, utilisez la console, AWS CLI ou l'API RDS. Lorsque vous passez en mode monté, le réplica déconnecte toutes les connexions actives. Lorsque vous passez en mode lecture seule, Amazon RDS initialise Active Data Guard.

L'opération de modification peut prendre quelques minutes. Au cours de l'opération, l'état de l'instance de base de données passe à **en cours de modification**. Pour plus d’informations sur les modifications d’état, consultez [Affichage de l'état d'une instance de base de données Amazon RDS ](accessing-monitoring.md#Overview.DBInstance.Status).

## Console
<a name="oracle-read-replicas.changing-replica-mode.console"></a>

**Pour changer le mode réplica d'un réplica Oracle de monté en lecture seule**

1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Dans la panneau de navigation, choisissez **Databases (Bases de données)**.

1. Choisissez la base de données de réplica montée.

1. Sélectionnez **Modify**.

1. Pour le **mode Réplica**, choisissez **Lecture seule**.

1. Choisissez les autres paramètres que vous souhaitez modifier.

1. Choisissez **Continuer**.

1. Pour **Scheduling of Modifications (Planification des modifications)**, choisissez **Appliquer immédiatement**.

1. Choisissez **Modifier l'instance DB**.

## AWS CLI
<a name="oracle-read-replicas.changing-replica-mode.cli"></a>

Pour changer un réplica en lecture en mode monté, définissez `--replica-mode` sur `mounted` dans la AWS CLI commande [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html). Pour convertir un réplica monté en réplica en lecture seule, définissez `--replica-mode` sur `open-read-only`.

**Example**  
Pour Linux, macOS ou Unix :  

```
aws rds modify-db-instance \
    --db-instance-identifier myreadreplica \
    --replica-mode mode
```
Pour Windows :  

```
aws rds modify-db-instance ^
    --db-instance-identifier myreadreplica ^
    --replica-mode mode
```

## API RDS
<a name="oracle-read-replicas.changing-replica-mode.api"></a>

Pour changer un réplica en lecture seule en mode monté, définissez `ReplicaMode=mounted` dans [ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html). Pour changer un réplica monté en mode lecture seule, définissez `ReplicaMode=read-only`.

# Utilisation de RDS pour les sauvegardes de réplicas Oracle
<a name="oracle-read-replicas.backups"></a>

Vous pouvez créer et restaurer des sauvegardes d'un réplica RDS for Oracle. Les sauvegardes automatiques et les instantanés manuels sont tous deux pris en charge. Pour plus d’informations, consultez [Sauvegarde, restauration et exportation de données](CHAP_CommonTasks.BackupRestore.md). Les sections suivantes décrivent les principales différences entre la gestion des sauvegardes d'un réplica principal et d'un réplica RDS for Oracle.

## Activation des sauvegardes de réplica RDS for Oracle
<a name="oracle-read-replicas.backups.turning-on"></a>

Les sauvegardes automatiques ne sont pas activées par défaut sur un réplica Oracle. Pour activer les sauvegardes automatiques, vous devez définir la période de rétention des sauvegardes sur une valeur positive différente de zéro.

### Console
<a name="USER_WorkingWithAutomatedBackups.Enabling.CON"></a>

**Pour activer immédiatement les sauvegardes automatiques**

1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l’adresse [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Dans le panneau de navigation, choisissez **Bases de données**, puis l’instance de base de données ou le cluster de bases de données multi-AZ que vous souhaitez modifier.

1. Sélectionnez **Modify**.

1. Pour **Période de conservation des sauvegardes**, choisissez une valeur positive différente de zéro, par exemple trois jours.

1. Choisissez **Continuer**.

1. Choisissez **Apply immediately (Appliquer immédiatement)**.

1. Choisissez **Modifier l’instance de base de données** ou **Modifier le cluster** pour enregistrer vos modifications et activer les sauvegardes automatisées.

### AWS CLI
<a name="USER_WorkingWithAutomatedBackups.Enabling.CLI"></a>

Pour activer les sauvegardes automatiques, utilisez la commande d’AWS CLI [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) ou [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html).

Incluez les paramètres suivants :
+ `--db-instance-identifier` (ou `--db-cluster-identifier` pour un cluster de base de données multi-AZ)
+ `--backup-retention-period`
+ `--apply-immediately` ou `--no-apply-immediately`

Dans l'exemple suivant, nous activons les sauvegardes automatiques en définissant la période de rétention des sauvegardes sur trois jours. Les modifications sont appliquées immédiatement.

**Example**  
Pour Linux, macOS ou Unix :  

```
aws rds modify-db-instance \
    --db-instance-identifier my_db_instance  \
    --backup-retention-period 3 \
    --apply-immediately
```
Pour Windows :  

```
aws rds modify-db-instance ^
    --db-instance-identifier my_db_instance  ^
    --backup-retention-period 3 ^
    --apply-immediately
```

### API RDS
<a name="USER_WorkingWithAutomatedBackups.Enabling.API"></a>

Pour activer les sauvegardes automatiques, utilisez l’opération [ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) ou [ModifyDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html) de l’API RDS avec les paramètres requis suivants :
+ `DBInstanceIdentifier` ou `DBClusterIdentifier`
+ `BackupRetentionPeriod`

## Restauration d'une sauvegarde de réplica RDS for Oracle
<a name="oracle-read-replicas.backups.restoring"></a>

Vous pouvez restaurer une sauvegarde de réplica Oracle de la même manière que vous pouvez restaurer une sauvegarde de l'instance principale. Pour plus d’informations, consultez les ressources suivantes :
+ [Restauration d’une instance de base de données](USER_RestoreFromSnapshot.md)
+ [Restauration d’une instance de base de données à un instant précis pour Amazon RDS](USER_PIT.md)

Le principal élément à prendre en compte lorsque vous restaurez une sauvegarde de réplica est de déterminer l'instant dans le passé auquel vous effectuez la restauration. L'heure de la base de données désigne la dernière heure de transaction appliquée des données dans la sauvegarde. Lorsque vous restaurez une sauvegarde de réplica, vous rétablissez l'heure de la base de données, et non l'heure à laquelle la sauvegarde s'est terminée. La différence est importante car un réplica de RDS for Oracle peut accuser un retard de plusieurs minutes ou heures par rapport à l'instance principale. Ainsi, l'heure de la base de données d'une sauvegarde de réplica, et donc l'instant dans le passé auquel vous le restaurez, peut être bien antérieure à l'heure de création de la sauvegarde.

Pour faire la distinction entre l'heure de la base de données et l'heure de création, utilisez la commande `describe-db-snapshots`. Comparez le paramètre `SnapshotDatabaseTime`, qui correspond à l'heure de la base de données de la sauvegarde du réplica, et le champ `OriginalSnapshotCreateTime`, qui correspond à la dernière transaction appliquée sur la base de données principale. L'exemple suivant montre la différence entre les deux temps :

```
aws rds describe-db-snapshots \
    --db-instance-identifier my-oracle-replica
    --db-snapshot-identifier my-replica-snapshot

{
    "DBSnapshots": [
        {
            "DBSnapshotIdentifier": "my-replica-snapshot",
            "DBInstanceIdentifier": "my-oracle-replica", 
            "SnapshotDatabaseTime": "2022-07-26T17:49:44Z",
            ...
            "OriginalSnapshotCreateTime": "2021-07-26T19:49:44Z"
        }
    ]
}
```

# Exécution d’une bascule d’Oracle Data Guard
<a name="oracle-replication-switchover"></a>

Une *bascule* est une inversion de rôle entre une base de données principale et une base de données secondaire. Lors d’une bascule, la base de données principale d’origine passe à un rôle secondaire, tandis que la base de données secondaire d’origine passe au rôle principal.

Dans un environnement Oracle Data Guard, une base de données principale prend en charge une ou plusieurs bases de données secondaire. Vous pouvez effectuer une transition de rôle gérée, basée sur la bascule, d’une base de données principale vers une base de données secondaire. Une *bascule* est une inversion de rôle entre une base de données principale et une base de données secondaire. Lors d’une bascule, la base de données principale d’origine passe à un rôle secondaire, tandis que la base de données secondaire d’origine passe au rôle principal.

**Topics**
+ [

## Présentation de la bascule d’Oracle Data Guard
](#oracle-replication-switchover.overview)
+ [

# Exigences pour la bascule d’Oracle Data Guard
](oracle-switchover.preparing.md)
+ [

# Lancement de la bascule d’Oracle Data Guard
](oracle-switchover.initiating.md)
+ [

# Surveillance du basculement d'Oracle Data Guard
](oracle-switchover.monitoring.md)

## Présentation de la bascule d’Oracle Data Guard
<a name="oracle-replication-switchover.overview"></a>

Amazon RDS prend en charge une transition de rôle entièrement gérée et basée sur la bascule pour les réplicas Oracle Database. Vous pouvez uniquement initier une bascule vers une base de données secondaire qui est montée ou ouverte en lecture seule. 

Les répliques peuvent résider dans des zones de disponibilité distinctes Régions AWS ou différentes (AZs) d'une même région. Tous Régions AWS sont pris en charge. 

![\[Basculer une instance secondaire pour en faire une instance de base de données principale\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/read-replica-switchover.png)


Une bascule est différente d’une promotion de réplica en lecture. Lors d’une bascule, les instances de base de données source et de réplica changent de rôle. Dans le cadre d’une promotion, un réplica en lecture devient une instance de base de données source, mais l’instance de base de données source ne devient pas un réplica. Pour plus d’informations, consultez [Promotion d'un réplica en lecture en instance de bases de données autonome](USER_ReadRepl.Promote.md).

**Topics**
+ [

### Avantages de la bascule d’Oracle Data Guard
](#oracle-replication-switchover.overview.benefits)
+ [

### Versions de Oracle Database prises en charge
](#oracle-replication-switchover.overview.engine-support)
+ [

### Coût de la bascule d’Oracle Data Guard
](#oracle-replication-switchover.overview.cost)
+ [

### Comment fonctionne la bascule d’Oracle Data Guard
](#oracle-replication-switchover.overview.how-it-works)

### Avantages de la bascule d’Oracle Data Guard
<a name="oracle-replication-switchover.overview.benefits"></a>

Tout comme pour les réplicas en lecture RDS for Oracle, une bascule gérée s’appuie sur Oracle Data Guard. L'opération est conçue pour qu'il n'y ait aucune perte de données. Amazon RDS automatise les aspects suivants de la bascule :
+ Inverse les rôles de votre base de données principale et de la base de données secondaire spécifiée, en plaçant la nouvelle base de données secondaire dans le même état (montée ou en lecture seule) que la base de données secondaire d'origine
+ Garantit la cohérence des données
+ Maintient votre configuration de réplication après la transition
+ Prend en charge les inversions répétées, ce qui permet à votre nouvelle base de données secondaire de reprendre son rôle principal initial

### Versions de Oracle Database prises en charge
<a name="oracle-replication-switchover.overview.engine-support"></a>

La bascule d’Oracle Data Guard est prise en charge pour Oracle Database 19c et versions ultérieures.

### Coût de la bascule d’Oracle Data Guard
<a name="oracle-replication-switchover.overview.cost"></a>

La fonction de bascule d’Oracle Data Guard n’entraîne pas de coûts supplémentaires. Oracle Database Enterprise Edition inclut la prise en charge de bases de données de secours en mode monté. Pour ouvrir des bases de données de secours en mode lecture seule, vous devez disposer de l'option Oracle Active Data Guard.

### Comment fonctionne la bascule d’Oracle Data Guard
<a name="oracle-replication-switchover.overview.how-it-works"></a>

La bascule d’Oracle Data Guard est une opération entièrement gérée. Vous initiez la bascule pour une base de données secondaire en exécutant la commande CLI `switchover-read-replica`. Ensuite, Amazon RDS modifie les rôles principal et secondaire dans votre configuration de réplication.

La *base de données secondaire d’origine* et la *base de données principale d’origine* sont les rôles qui existent avant la bascule. La *nouvelle base de données secondaire* et la *nouvelle base de données principale* sont les rôles qui existent après la bascule. Un *réplica de secours* est une base de données de réplica qui sert de base de données secondaire dans l'environnement Oracle Data Guard mais qui ne change pas de rôle.

**Topics**
+ [

#### Étapes de la bascule d’Oracle Data Guard
](#oracle-replication-switchover.overview.how-it-works.during-switchover)
+ [

#### Après la bascule d’Oracle Data Guard
](#oracle-replication-switchover.overview.how-it-works.after-switchover)

#### Étapes de la bascule d’Oracle Data Guard
<a name="oracle-replication-switchover.overview.how-it-works.during-switchover"></a>

Pour effectuer la bascule, Amazon RDS doit procéder comme suit :

1. Bloquer les nouvelles transactions sur la base de données principale d'origine. Pendant la bascule, Amazon RDS interrompt la réplication pour toutes les bases de données de votre configuration Oracle Data Guard. Pendant la bascule, la base de données principale d’origine ne peut pas traiter les requêtes d’écriture.

1. Envoyez les transactions non appliquées à la base de données secondaire d'origine, et appliquez-les.

1. Redémarrez la nouvelle base de données secondaire en mode lecture seule ou montée. Le mode dépend de l’état d’ouverture de la base de données secondaire d’origine avant la bascule.

1. Ouvrez la nouvelle base de données principale en read/write mode.

#### Après la bascule d’Oracle Data Guard
<a name="oracle-replication-switchover.overview.how-it-works.after-switchover"></a>

Amazon RDS bascule les rôles de la base de données principale et de la base de données secondaire. Il vous incombe de reconnecter votre application et d'effectuer toute autre configuration souhaitée.

**Topics**
+ [

##### Critères de réussite
](#oracle-replication-switchover.overview.how-it-works.after-switchover.success)
+ [

##### Connexion à la nouvelle base de données principale
](#oracle-replication-switchover.overview.how-it-works.after-switchover.connection)
+ [

##### Configuration de la nouvelle base de données principale
](#oracle-replication-switchover.overview.how-it-works.after-switchover.success.configuration)

##### Critères de réussite
<a name="oracle-replication-switchover.overview.how-it-works.after-switchover.success"></a>

La bascule d’Oracle Data Guard est réussie lorsque la base de données secondaire d’origine :
+ Effectue la transition vers son rôle de nouvelle base de données principale
+ Termine sa reconfiguration

Pour limiter les temps d'arrêt, votre nouvelle base de données principale devient active dès que possible. Étant donné qu'Amazon RDS configure les réplicas de secours de manière asynchrone, ces réplicas peuvent devenir actifs après la base de données principale d'origine.

##### Connexion à la nouvelle base de données principale
<a name="oracle-replication-switchover.overview.how-it-works.after-switchover.connection"></a>

Amazon RDS ne propagera pas vos connexions actuelles à la nouvelle base de données principale après la bascule. Une fois la bascule d’Oracle Data Guard terminée, reconnectez votre application à la nouvelle base de données principale.

##### Configuration de la nouvelle base de données principale
<a name="oracle-replication-switchover.overview.how-it-works.after-switchover.success.configuration"></a>

Pour effectuer une bascule vers la nouvelle base de données principale, Amazon RDS change le mode de la base de données secondaire d’origine en mode ouvert. Le changement de rôle est le seul changement apporté à la base de données. Amazon RDS ne configure pas des fonctionnalités telles que la réplication Multi-AZ.

Si vous effectuez une bascule vers un réplica inter-régions avec des options différentes, la nouvelle base de données principale conserve ses propres options. Amazon RDS ne migrera pas les options de la base de données principale d'origine. Si la base de données principale d'origine comportait des options telles que SSL, NNE, OEM et OEM\$1AGENT, Amazon RDS ne les propage pas vers la nouvelle base de données principale.

# Exigences pour la bascule d’Oracle Data Guard
<a name="oracle-switchover.preparing"></a>

Avant de lancer la bascule d’Oracle Data Guard, assurez-vous que votre environnement de réplication répond aux exigences suivantes :
+ La base de données secondaire d'origine est montée ou ouverte en lecture seule.
+ Les sauvegardes automatiques sont activées sur la base de données secondaire d'origine.
+ La base de données principale d’origine et la base de données secondaire d’origine sont dans l’état `available`.
+ La base de données principale d’origine et la base de données secondaire d’origine n’ont aucune action de maintenance en attente dans les états suivants : `required`, `next window` ou `in progress`. Les actions dans ces états bloquent la bascule. Pour savoir comment vérifier le statut des mises à jour de maintenance en attente, consultez [Affichage des mise à jour de maintenance en attente](USER_UpgradeDBInstance.Maintenance.md#USER_UpgradeDBInstance.Maintenance.Viewing).

  Les actions de maintenance en attente à l’état `available` ne bloquent pas la bascule. RDS for Oracle publie fréquemment des mises à jour du système d’exploitation (OS) dans l’état `available`. Ces mises à jour du système d’exploitation en attente ne bloqueront pas une bascule, sauf si vous les planifiez pour la fenêtre de maintenance suivante, ce qui les fait passer à l’état `next window`.
**Note**  
Si vous souhaitez différer une action de maintenance planifiée afin de pouvoir exécuter une bascule, choisissez **Actions**, puis **Différer la mise à niveau** dans la console RDS. Vous pouvez également empêcher le blocage d’une bascule en appliquant une action de maintenance en attente ou en déplaçant la fenêtre de maintenance vers un intervalle précédant votre bascule. Pour plus d’informations, consultez l’article re:Post [Comment supprimer les éléments RDS en attente de maintenance](https://repost.aws/questions/QUV3dBjmVVRnmVV1pAlzjx1w/how-to-remove-rds-pending-maintenance-item).
+ La base de données secondaire d'origine est en état de réplication.
+ Vous n’essayez pas de lancer une bascule lorsque la base de données principale ou la base de données secondaire est actuellement dans un cycle de vie de bascule. Si une base de données de réplica est en train de se reconfigurer après une bascule, Amazon RDS vous empêche de lancer une nouvelle bascule.
**Note**  
Un *réplica de secours* est un réplica dans la configuration Oracle Data Guard qui n’est pas la cible de la bascule. Les réplicas de secours peuvent avoir n’importe quel état pendant la bascule.
+ La configuration de la base de données secondaire d'origine est aussi proche que possible de celle de la base de données principale d'origine. Prenons un scénario dans lequel les bases de données principale et secondaire d'origine ont des options différentes. Une fois la bascule terminée, Amazon RDS ne reconfigure pas automatiquement la nouvelle base de données principale pour qu’elle dispose des mêmes options que la base de données principale d’origine.
+ Vous configurez le déploiement multi-AZ que vous souhaitez avant de lancer une bascule. Amazon RDS ne gère pas le déploiement multi-AZ dans le cadre de la bascule. Le déploiement multi-AZ reste tel quel.

  Supposons que db\$1maz soit la base de données principale dans un déploiement multi-AZ et que db\$1saz soit un réplica mono-AZ. Vous lancez une bascule de db\$1maz vers db\$1saz. Par la suite, db\$1maz est une base de données de réplica multi-AZ et db\$1saz est une base de données principale mono-AZ. La nouvelle base de données principale n'est désormais pas protégée par un déploiement multi-AZ.
+ En prévision d’une bascule entre régions, la base de données principale n’utilise pas le même groupe d’options qu’une instance de base de données en dehors de la configuration de réplication. Pour qu’une bascule entre régions réussisse, la base de données principale actuelle et ses réplicas en lecture doivent être les seules instances de base de données à utiliser le groupe d’options de la base de données principale actuelle. Dans le cas contraire, Amazon RDS empêche la bascule.

# Lancement de la bascule d’Oracle Data Guard
<a name="oracle-switchover.initiating"></a>

Vous pouvez faire basculer un réplica en lecture RDS for Oracle vers le rôle principal, et l'ancienne instance de base de données principale vers un rôle de réplica.

## Console
<a name="USER_ReadRepl.Promote.Console"></a>

**Pour basculer un réplica en lecture Oracle vers le rôle de base de données principale**

1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l’adresse [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Dans la console Amazon RDS, choisissez **Bases de données**.

   Le volet **Bases de données** s'affiche. Chaque réplica en lecture affiche **Réplica** dans la colonne **Rôle**.

1. Sélectionnez la réplica en lecture que vous souhaitez faire basculer vers le rôle principal.

1. Pour **Actions**, sélectionnez **Switch over replica** (Basculer le réplica).

1. Sélectionnez **I acknowledge** (Je confirme). Sélectionnez ensuite **Switch over replica** (Basculer le réplica).

1. Sur la page **Bases de données**, surveillez la progression de la bascule.  
![\[Surveillez la progression de la bascule d’Oracle Data Guard.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/oracle-switchover-progress.png)

   Lorsque la bascule est terminée, le rôle de la cible de la bascule passe de **Réplica** à **Source**.  
![\[Les bases de données source et de réplica échangent leurs rôles.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/oracle-switchover-complete.png)

## AWS CLI
<a name="USER_ReadRepl.Promote.CLI"></a>

Pour faire basculer un réplica Oracle vers le rôle de base de données principale, utilisez la commande AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/switchover-read-replica.html](https://docs.aws.amazon.com/cli/latest/reference/rds/switchover-read-replica.html). Les exemples suivants font du réplica Oracle nommé *replica-to-be-made-primary* la nouvelle base de données principale.

**Example**  
Pour Linux, macOS ou Unix :  

```
aws rds switchover-read-replica \
    --db-instance-identifier replica-to-be-made-primary
```
Pour Windows :  

```
aws rds switchover-read-replica ^
    --db-instance-identifier replica-to-be-made-primary
```

## API RDS
<a name="USER_ReadRepl.Promote.API"></a>

Pour faire passer un réplica Oracle au rôle de base de données principale, appelez l'opération d'API Amazon RDS [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_SwitchoverReadReplica.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_SwitchoverReadReplica.html) avec le paramètre `DBInstanceIdentifier` requis. Ce paramètre spécifie le nom du réplica Oracle qui doit assumer le rôle de base de données principale.

# Surveillance du basculement d'Oracle Data Guard
<a name="oracle-switchover.monitoring"></a>

Pour vérifier l'état de vos instances, utilisez la commande AWS CLI `describe-db-instances`. La commande suivante vérifie le statut de l'instance de base de données *orcl2*. Cette base de données était une base de données secondaire avant le basculement, mais elle devient la nouvelle base de données principale après le basculement.

```
aws rds describe-db-instances \
    --db-instance-identifier orcl2
```

Pour confirmer que le basculement s'est bien déroulé, interrogez `V$DATABASE.OPEN_MODE`. Vérifiez que la valeur de la nouvelle base de données principale est `READ WRITE`.

```
SELECT OPEN_MODE FROM V$DATABASE;
```

Pour rechercher les événements liés au basculement, utilisez la commande AWS CLI `describe-events`. L'exemple suivant recherche des événements sur l'instance *orcl2*.

```
aws rds describe-events \
    --source-identifier orcl2 \
    --source-type db-instance
```

# Dépannage des réplicas RDS for Oracle
<a name="oracle-read-replicas.troubleshooting"></a>

Cette section décrit les problèmes de réplication et leurs résolutions possibles.

**Topics**
+ [

## Surveillance du retard de réplication Oracle
](#oracle-read-replicas.troubleshooting.lag)
+ [

## Dépannage de l'échec de la réplication Oracle après l'ajout ou la modification de déclencheurs
](#oracle-read-replicas.troubleshooting.triggers)

## Surveillance du retard de réplication Oracle
<a name="oracle-read-replicas.troubleshooting.lag"></a>

Pour surveiller le délai de réplication dans Amazon CloudWatch, consultez la `ReplicaLag` métrique Amazon RDS. Pour obtenir plus d'informations sur la durée du retard de réplication, consultez [Supervision de la réplication en lecture](USER_ReadRepl.Monitoring.md) et [CloudWatch Métriques Amazon pour Amazon RDS](rds-metrics.md).

Pour un réplica en lecture, si le temps de latence est trop long, interrogez les vues suivantes :
+ `V$ARCHIVED_LOG` – Indique quelles validations ont été appliquées au réplica en lecture.
+ `V$DATAGUARD_STATS` – Indique la répartition détaillée des composants qui font partie de la métrique `ReplicaLag`.
+ `V$DATAGUARD_STATUS` – Indique la sortie de journal des processus de réplication internes d'Oracle.

Pour un réplica monté, si le temps de latence est trop long, vous ne pouvez pas interroger les vues `V$`. Dans ce cas, procédez comme suit :
+ Vérifiez la `ReplicaLag` métrique CloudWatch.
+ Consultez le fichier journal des alertes du réplica dans la console. Recherchez les erreurs dans les messages de récupération. Les messages comprennent le numéro de séquence du journal, que vous pouvez comparer au numéro de séquence principal. Pour de plus amples informations, veuillez consulter [Fichiers journaux de base de données Amazon RDS for Oracle](USER_LogAccess.Concepts.Oracle.md).

## Dépannage de l'échec de la réplication Oracle après l'ajout ou la modification de déclencheurs
<a name="oracle-read-replicas.troubleshooting.triggers"></a>

Si vous ajoutez ou modifiez des déclencheurs et que la réplication échoue, les déclencheurs peuvent être en cause. Assurez-vous que le déclencheur exclut les comptes suivants, qui sont requis par RDS pour la réplication :
+ Comptes d'utilisateurs avec privilèges d'administrateur
+ `SYS`
+ `SYSTEM`
+ `RDS_DATAGUARD`
+ `rdsdb`

Pour de plus amples informations, veuillez consulter [Considérations diverses relatives aux réplicas RDS for Oracle](oracle-read-replicas.limitations.md#oracle-read-replicas.limitations.miscellaneous).

# Compression de transport de rétablissement avec RDS for Oracle
<a name="oracle-read-replicas.redo-transport-compression"></a>

Utilisez la compression de transport de rétablissement RDS for Oracle pour améliorer les performances de réplication entre votre instance de base de données principale et les réplicas de secours. Cela est particulièrement utile dans les environnements où la bande passante du réseau est limitée ou les connexions à latence élevée.

## Obtention d’une licence pour la compression du transport de rétablissement
<a name="oracle-read-replicas.redo-transport-compression.license"></a>

La compression du transport de rétablissement fait partie de l’option [Oracle Advanced Compression](//www.oracle.com/database/advanced-compression/). Pour utiliser la compression de transport de rétablissement, vous devez disposer d’une licence valide pour l’option Oracle Advanced Compression. Pour obtenir des informations sur les licences, contactez votre représentant Oracle.

## Configuration de la compression de transport de rétablissement
<a name="oracle-read-replicas.redo-transport-compression.config"></a>

Pour configurer la compression de transport de rétablissement, vous pouvez utiliser le paramètre `rds.replica.redo_compression`. Ce paramètre est disponible pour les versions 19c et 21c d’Oracle.

Le paramètre `rds.replica.redo_compression` accepte les valeurs suivantes :
+ `DISABLE` : valeur par défaut qui désactive le compression de transport de rétablissement.
+ `ENABLE` : valeur qui active la compression de transport de rétablissement via l’algorithme par défaut [ZLIB](https://zlib.net/).
+ `ZLIB` : valeur qui active explicitement la compression de transport de rétablissement à l’aide de l’algorithme ZLIB, qui fournit de bons taux de compression.
+ `LZO` : valeur qui active explicitement la compression de transport de rétablissement à l’aide de l’algorithme [LZO](https://www.oberhumer.com/opensource/lzo/), qui optimise la vitesse de compression, en particulier lors de la décompression.

## Considérations relatives à la compression de transport de rétablissement
<a name="oracle-read-replicas.redo-transport-compression.performance"></a>

Les opérations de compression et de décompression consomment les ressources du processeur à la fois sur les instances principales et sur celles en veille. Si vous utilisez la compression de transport de rétablissement, tenez compte de l’utilisation des ressources de l’instance et des conditions du réseau.

## Sujets associés à la compression de transport de rétablissement
<a name="oracle-read-replicas.redo-transport-compression.related"></a>

Pour plus d’informations sur la configuration de la compression de transport de rétablissement, consultez les ressources suivantes :
+ [Groupes de paramètres de base de données pour les instances de base de données Amazon RDS](USER_WorkingWithDBInstanceParamGroups.md)
+ [RedoCompression](https://docs.oracle.com/en/database/oracle/oracle-database/19/dgbkr/oracle-data-guard-broker-properties.html#GUID-5E6DDFD0-6196-48EB-94AF-21A1AFBB7DE1)dans les notes de mise à jour d'Oracle Database 19c

# Ajout d'options aux instances de base de données Oracle
<a name="Appendix.Oracle.Options"></a>

Dans Amazon RDS, une option est une fonctionnalité supplémentaire. Voici une description des options que vous pouvez ajouter aux instances Amazon RDS exécutant le moteur de base de données Oracle.

**Topics**
+ [

# Présentation des options de base de données Oracle
](Appendix.Oracle.Options.overview.md)
+ [

# Intégration Amazon S3
](oracle-s3-integration.md)
+ [

# Oracle Application Express (APEX)
](Appendix.Oracle.Options.APEX.md)
+ [

# Intégration Amazon EFS
](oracle-efs-integration.md)
+ [

# Oracle Java Virtual Machine
](oracle-options-java.md)
+ [

# Oracle Enterprise Manager
](Oracle.Options.OEM.md)
+ [

# Oracle Label Security
](Oracle.Options.OLS.md)
+ [

# Oracle Locator
](Oracle.Options.Locator.md)
+ [

# Oracle NNE (Native Network Encryption)
](Appendix.Oracle.Options.NetworkEncryption.md)
+ [

# Oracle OLAP
](Oracle.Options.OLAP.md)
+ [

# Oracle Secure Sockets Layer (SSL)
](Appendix.Oracle.Options.SSL.md)
+ [

# Oracle Spatial
](Oracle.Options.Spatial.md)
+ [

# Oracle SQLT
](Oracle.Options.SQLT.md)
+ [

# Oracle Statspack
](Appendix.Oracle.Options.Statspack.md)
+ [

# Fuseau horaire Oracle
](Appendix.Oracle.Options.Timezone.md)
+ [

# Mise à niveau automatique du fichier sur le fuseau horaire Oracle
](Appendix.Oracle.Options.Timezone-file-autoupgrade.md)
+ [

# Oracle Transparent Data Encryption
](Appendix.Oracle.Options.AdvSecurity.md)
+ [

# Oracle UTL\$1MAIL
](Oracle.Options.UTLMAIL.md)
+ [

# Oracle XML DB
](Appendix.Oracle.Options.XMLDB.md)

# Présentation des options de base de données Oracle
<a name="Appendix.Oracle.Options.overview"></a>

Pour activer ces options pour votre base de données Oracle, ajoutez-les à un groupe d'options, puis associez celui-ci à votre instance de base de données. Pour plus d'informations, consultez [Utilisation de groupes d’options](USER_WorkingWithOptionGroups.md).

**Topics**
+ [

## Résumé des options Oracle Database
](#Appendix.Oracle.Options.summary)
+ [

## Options prises en charge pour les différentes éditions
](#Appendix.Oracle.Options.editions)
+ [

## Exigences de mémoire pour les options spécifiques
](#Appendix.Oracle.Options.memory)

## Résumé des options Oracle Database
<a name="Appendix.Oracle.Options.summary"></a>

Vous pouvez ajouter les options suivantes pour les instances de bases de données Oracle.


****  

| Option | ID d'option | 
| --- | --- | 
|  [Intégration Amazon S3](oracle-s3-integration.md)  |  `S3_INTEGRATION`  | 
|  [Oracle Application Express (APEX)](Appendix.Oracle.Options.APEX.md)  |  `APEX` `APEX-DEV`  | 
|  [Oracle Enterprise Manager](Oracle.Options.OEM.md)  |  `OEM` `OEM_AGENT`  | 
|  [Oracle Java Virtual Machine](oracle-options-java.md)  |  `JVM`  | 
|  [Oracle Label Security](Oracle.Options.OLS.md)  |  `OLS`  | 
|  [Oracle Locator](Oracle.Options.Locator.md)  |  `LOCATOR`  | 
|  [Oracle NNE (Native Network Encryption)](Appendix.Oracle.Options.NetworkEncryption.md)  |  `NATIVE_NETWORK_ENCRYPTION`  | 
|  [Oracle OLAP](Oracle.Options.OLAP.md)  |  `OLAP`  | 
|  [Oracle Secure Sockets Layer (SSL)](Appendix.Oracle.Options.SSL.md)  |  `SSL`  | 
|  [Oracle Spatial](Oracle.Options.Spatial.md)  |  `SPATIAL`  | 
|  [Oracle SQLT](Oracle.Options.SQLT.md)  |  `SQLT`  | 
|  [Oracle Statspack](Appendix.Oracle.Options.Statspack.md)  |  `STATSPACK`  | 
|  [Fuseau horaire Oracle](Appendix.Oracle.Options.Timezone.md)  |  `Timezone`  | 
|  [Mise à niveau automatique du fichier sur le fuseau horaire Oracle](Appendix.Oracle.Options.Timezone-file-autoupgrade.md)  |  `TIMEZONE_FILE_AUTOUPGRADE`  | 
|  [Oracle Transparent Data Encryption](Appendix.Oracle.Options.AdvSecurity.md)  |  `TDE`  | 
|  [Oracle UTL\$1MAIL](Oracle.Options.UTLMAIL.md)  |  `UTL_MAIL`  | 
|  [Oracle XML DB](Appendix.Oracle.Options.XMLDB.md)  |  `XMLDB`  | 

## Options prises en charge pour les différentes éditions
<a name="Appendix.Oracle.Options.editions"></a>

RDS for Oracle vous empêche d'ajouter des options à une édition si elles ne sont pas prises en charge. Pour savoir quelles options RDS sont prises en charge dans les différentes éditions Oracle Database, utilisez la commande `aws rds describe-option-group-options`. L'exemple suivant répertorie les options prises en charge pour l'Enterprise Edition d'Oracle Database 19c.

```
aws rds describe-option-group-options \
    --engine-name oracle-ee \
    --major-engine-version 19
```

Pour plus d'informations, consultez [describe-option-groups](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-option-group-options.html) dans la *Référence des commandes de CLI AWS*.

## Exigences de mémoire pour les options spécifiques
<a name="Appendix.Oracle.Options.memory"></a>

Certaines options nécessitent que de la mémoire supplémentaire s'exécute sur votre instance de base de données. Par exemple, Oracle Enterprise Manager Database Control utilise environ 300 Mo de RAM. Si vous activez cette option pour une petite instance de base de données, vous pourrez rencontrer des problèmes de performance liés aux contraintes de mémoire. Vous pouvez ajuster les paramètres Oracle afin que la base de données nécessite moins de RAM. Sinon, vous pouvez augmenter la taille de l'instance de base de données. 

# Intégration Amazon S3
<a name="oracle-s3-integration"></a>

Vous pouvez transférer des fichiers entre votre instance de base de données RDS for Oracle et un compartiment Amazon S3. Vous pouvez utiliser l'intégration Amazon S3 avec les fonctionnalités Oracle Database telles que Oracle Data Pump. Par exemple, vous pouvez télécharger des fichiers Data Pump d'Amazon S3 vers votre instance de base de données RDS for Oracle. Pour de plus amples informations, consultez [Importation de données dans Oracle sur Amazon RDS](Oracle.Procedural.Importing.md).

**Note**  
Votre instance de base de données et votre compartiment Amazon S3 doivent se trouver dans la même Région AWS.

**Topics**
+ [

# Configuration des autorisations IAM pour l'intégration de RDS for Oracle à Amazon S3
](oracle-s3-integration.preparing.md)
+ [

# Ajout de l'option d'intégration Amazon S3
](oracle-s3-integration.preparing.option-group.md)
+ [

# Transfert de fichiers entre Amazon RDS for Oracle et un compartiment Amazon S3
](oracle-s3-integration.using.md)
+ [

## Résolution des problèmes d'intégration avec Amazon S3
](#oracle-s3-integration.troubleshooting)
+ [

# Suppression de l'option d'intégration Amazon S3
](oracle-s3-integration.removing.md)

# Configuration des autorisations IAM pour l'intégration de RDS for Oracle à Amazon S3
<a name="oracle-s3-integration.preparing"></a>

Pour que RDS for Oracle s'intègre à Amazon S3, votre instance de base de données doit avoir accès à un compartiment Amazon S3. Le Amazon VPC utilisé par votre instance de base de données n'a pas besoin de fournir d'accès aux points de terminaison Amazon S3.

RDS for Oracle prend en charge le transfert de fichiers entre une instance de base de données d’un compte et un compartiment Amazon S3 d’un autre compte. Lorsque des étapes supplémentaires sont requises, elles sont indiquées dans les sections suivantes.

**Topics**
+ [

## Étape 1 : Créer une politique IAM pour votre rôle Amazon RDS
](#oracle-s3-integration.preparing.policy)
+ [

## Étape 2 (facultative) : Créer une politique IAM pour votre compartiment Amazon S3
](#oracle-s3-integration.preparing.policy-bucket)
+ [

## Étape 3 : Créer un rôle IAM pour votre instance de base de données et y attacher votre politique
](#oracle-s3-integration.preparing.role)
+ [

## Étape 4 : associer votre rôle IAM à votre instance de base de données RDS for Oracle.
](#oracle-s3-integration.preparing.instance)

## Étape 1 : Créer une politique IAM pour votre rôle Amazon RDS
<a name="oracle-s3-integration.preparing.policy"></a>

Au cours de cette étape, vous créez une politique Gestion des identités et des accès AWS (IAM) avec les autorisations requises pour transférer des fichiers entre votre compartiment Amazon S3 et votre instance de base de données RDS. Cette étape suppose également que vous avez déjà créé un compartiment S3.

Avant de créer la politique, notez les informations suivantes :
+ ARN (Amazon Resource Name) de votre compartiment
+ L'ARN de votre AWS KMS clé, si votre compartiment utilise le chiffrement SSE-KMS ou SSE-S3
**Note**  
Une instance de base de données RDS for Oracle ne peut pas accéder aux compartiments Amazon S3 chiffrés avec SSE-C.

Pour plus d’informations, consultez [Protection des données à l’aide du chiffrement côté serveur](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html) dans le *Guide de l’utilisateur Amazon Simple Storage Service*.

### Console
<a name="oracle-s3-integration.preparing.policy.console"></a>

**Pour créer une politique IAM afin d'autoriser Amazon RDS à accéder à votre compartiment Amazon S3**

1. Ouvrez [IAM Management Console](https://console.aws.amazon.com/iam/home?#home).

1. Sous **Access Management (Gestion des accès)**, choisissez **Policies (Stratégies)**.

1. Choisissez **Create Policy** (Créer une politique).

1. Sous l'onglet **Visual editor (Éditeur visuel)**, choisissez **Choose a service (Choisir un service)**, puis **S3**.

1. Pour **Actions**, choisissez **Expand all (Développer tout)**, puis choisissez les autorisations de compartiment et d'objet nécessaires pour transférer des fichiers d'un compartiment Amazon S3 vers Amazon RDS. Par exemple, procédez comme suit :
   + Développez **la liste**, puis sélectionnez **ListBucket**.
   + Développez **Lire**, puis sélectionnez **GetObject**.
   + Développez **Write**, puis sélectionnez **PutObject**DeleteObject****, **AbortMultipartUpload**, et **ListMultipartUploadParts**. Les autorisations de chargement partitionné sont requises lors du chargement de fichiers volumineux (100 Mo ou plus) vers Amazon S3.
   + Développez **la gestion des autorisations**, puis sélectionnez **PutObjectAcl**. Cette autorisation est nécessaire si vous envisagez de charger des fichiers dans un compartiment appartenant à un autre compte (ce compte doit avoir un contrôle total du contenu du compartiment).

   Les *autorisations d'objet* sont des autorisations pour les opérations sur les objets dans Amazon S3. Vous devez les accorder pour des objets d'un compartiment et non pour le compartiment lui-même. Pour plus d'informations, consultez [Permissions for object operations](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-objects).

1. Choisissez **Ressources** et procédez comme suit :

   1. Choisissez **Spécifique**.

   1. Pour **Compartiment**, choisissez **Ajouter un ARN**. Saisissez l'ARN de votre compartiment. Le nom du compartiment est renseigné automatiquement. Choisissez ensuite **Ajouter**.

   1. Si la ressource de l'**objet** est affichée, choisissez **Ajouter un ARN** pour ajouter des ressources manuellement ou choisissez **Tous**.
**Note**  
Vous pouvez affecter à **Amazon Resource Name (ARN)** une valeur d'ARN plus spécifique afin d'autoriser Amazon RDS à accéder uniquement à des fichiers ou des dossiers spécifiques dans un compartiment Amazon S3. Pour plus d'informations sur la définition d'une stratégie d'accès pour Amazon S3, consultez [Gestion des autorisations d'accès de vos ressources Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html).

1. (Facultatif) Choisissez **Add additional permissions (Ajouter des autorisations supplémentaires)** pour ajouter des ressources à la stratégie. Par exemple, procédez comme suit :

   1. Si votre compartiment est chiffré avec une clé KMS personnalisée, sélectionnez **KMS** pour le service. 

   1. Pour **Actions manuelles**, sélectionnez ce qui suit :
      + **Encrypt**
      + **ReEncrypt de** et **ReEncrypt vers**
      + **Decrypt**
      + **DescribeKey**
      + **GenerateDataKey**

   1. Pour **Resources** (Ressources), choisissez **Specific** (Spécifique).

   1. Pour **Clé**, choisissez **Ajouter un ARN**. Saisissez l'ARN de votre clé personnalisée en tant que ressource, puis choisissez **Ajouter**.

      Pour plus d'informations, consultez [la section Protection des données à l'aide du chiffrement côté serveur avec des clés KMS stockées dans AWS Key Management Service (SSE-KMS) dans](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html) le guide de l'utilisateur d'*Amazon Simple Storage Service*.

   1. Si vous souhaitez qu'Amazon RDS accède à d'autres compartiments, ajoutez le ARNs pour ces compartiments. Si vous le souhaitez, vous pouvez également accorder l'accès à tous les compartiments et à tous les objets dans Amazon S3.

1. Choisissez **Suivant : Balises**, puis **Suivant : Vérification**.

1. Dans ** Name (Name)**, attribuez un nom à votre stratégie IAM, par exemple `rds-s3-integration-policy`. Vous utilisez ce nom lorsque vous créez un rôle IAM à associer à votre instance de base de données. Vous pouvez également ajouter une valeur **Description** facultative.

1. Choisissez **Create Policy** (Créer une politique).

### AWS CLI
<a name="oracle-s3-integration.preparing.policy.CLI"></a>

Créez une politique Gestion des identités et des accès AWS (IAM) qui accorde à Amazon RDS l'accès à un compartiment Amazon S3. Après avoir créé la politique, notez son ARN. Vous en aurez besoin lors d’une étape ultérieure.

Incluez les actions appropriées dans la politique en fonction du type d'accès requis :
+ `GetObject` – Obligatoire pour transférer les fichiers d'un compartiment Amazon S3 vers Amazon RDS.
+ `ListBucket` – Obligatoire pour transférer les fichiers d'un compartiment Amazon S3 vers Amazon RDS.
+ `PutObject` – Obligatoire pour transférer les fichiers de Amazon RDS vers un compartiment Amazon S3.
+ `AbortMultipartUpload` : obligatoire pour les chargements partitionnés lors du transfert de fichiers volumineux (100 Mo ou plus) d’Amazon RDS vers un compartiment Amazon S3.
+ `ListMultipartUploadParts` : obligatoire pour les chargements partitionnés lors du transfert de fichiers volumineux (100 Mo ou plus) d’Amazon RDS vers un compartiment Amazon S3.

La AWS CLI commande suivante crée une politique IAM nommée `rds-s3-integration-policy` avec ces options. Elle accorde un accès à un compartiment nommé `amzn-s3-demo-bucket`.

**Example**  
Pour Linux, macOS ou Unix :  

```
aws iam create-policy \
   --policy-name rds-s3-integration-policy \
   --policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "s3integration",
         "Action": [
           "s3:GetObject",
           "s3:ListBucket",
           "s3:PutObject",
           "s3:AbortMultipartUpload",
           "s3:ListMultipartUploadParts"
         ],
         "Effect": "Allow",
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket", 
           "arn:aws:s3:::amzn-s3-demo-bucket/*"
         ]
       }
     ]
   }'
```
L’exemple suivant inclut des autorisations pour les clés KMS personnalisées.  

```
aws iam create-policy \
   --policy-name rds-s3-integration-policy \
   --policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "s3integration",
         "Action": [
           "s3:GetObject",
           "s3:ListBucket",
           "s3:PutObject",
           "kms:Decrypt",
           "kms:Encrypt",
           "kms:ReEncrypt*",
           "kms:GenerateDataKey",
           "kms:DescribeKey",
         ],
         "Effect": "Allow",
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket", 
           "arn:aws:s3:::amzn-s3-demo-bucket/*",
           "arn:aws:kms:::your-kms-arn"
         ]
       }
     ]
   }'
```
Pour Windows :  

```
aws iam create-policy ^
   --policy-name rds-s3-integration-policy ^
   --policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "s3integration",
         "Action": [
           "s3:GetObject",
           "s3:ListBucket",
           "s3:PutObject",
           "s3:AbortMultipartUpload",
           "s3:ListMultipartUploadParts"
         ],
         "Effect": "Allow",
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket", 
           "arn:aws:s3:::amzn-s3-demo-bucket/*"
         ]
       }
     ]
   }'
```
L’exemple suivant inclut des autorisations pour les clés KMS personnalisées.  

```
aws iam create-policy ^
   --policy-name rds-s3-integration-policy ^
   --policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "s3integration",
         "Action": [
           "s3:GetObject",
           "s3:ListBucket",
           "s3:PutObject",
           "kms:Decrypt",
           "kms:Encrypt",
           "kms:ReEncrypt",
           "kms:GenerateDataKey",
           "kms:DescribeKey",
         ],
         "Effect": "Allow",
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket", 
           "arn:aws:s3:::amzn-s3-demo-bucket/*",
           "arn:aws:kms:::your-kms-arn"
         ]
       }
     ]
   }'
```

## Étape 2 (facultative) : Créer une politique IAM pour votre compartiment Amazon S3
<a name="oracle-s3-integration.preparing.policy-bucket"></a>

Cette étape n'est nécessaire que dans les conditions suivantes :
+ Vous prévoyez de charger des fichiers dans un compartiment Amazon S3 à partir d'un compte (compte A) et d'y accéder depuis un autre compte (compte B).
+ Le compte A est le propriétaire du compartiment.
+ Le compte B nécessite un contrôle total des objets chargés dans le compartiment.

Si les conditions précédentes ne s'appliquent pas à votre cas, passez à [Étape 3 : Créer un rôle IAM pour votre instance de base de données et y attacher votre politique](#oracle-s3-integration.preparing.role).

Pour créer votre politique de compartiment, assurez-vous de disposer des éléments suivants :
+ ID de compte du compte A
+ Nom d'utilisateur du compte A
+ Valeur ARN du compartiment Amazon S3 dans le compte B

### Console
<a name="oracle-s3-integration.preparing.policy-bucket.console"></a>

**Pour créer ou modifier une politique de compartiment**

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans la liste **Buckets (Compartiments)**, choisissez le nom du compartiment pour lequel vous souhaitez créer une stratégie de compartiment ou modifier la stratégie de compartiment existante.

1. Choisissez **Permissions**.

1. Sous **Politique de compartiment**, choisissez **Modifier**. La page Modifier la stratégie de compartiment s'ouvre.

1. Dans la page **Edit bucket policy** (Modifier la politique de compartiment), explorez **Policy examples** (Exemples de politiques) dans le *Guide de l'utilisateur Simple Storage Service (Amazon S3)*, choisissez **Policy generator** (Générateur de politiques) pour générer automatiquement une politique, ou modifiez le JSON dans la section **Policy** (Politique). 

   Si vous choisissez le **générateur** de AWS politiques, celui-ci s'ouvre dans une nouvelle fenêtre :

   1. Sur la page **AWSPolicy Generator** (Générateur de politiques), dans **Select Type of Policy** (Sélectionner le type de politique), sélectionnez **S3 Bucket Policy** (Politique de compartiment S3).

   1. Ajoutez une instruction en saisissant les informations dans les champs fournis, puis choisissez **Add Statement (Ajouter une instruction)**. Répétez l'opération pour autant d'instructions que vous souhaitez ajouter. Pour plus d'informations sur ces champs, consultez la [Référence des éléments de stratégie IAM JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) dans le *Guide de l'utilisateur IAM*. 
**Note**  
Pour plus de commodité, la page **Edit Bucket Policy (Modifier la stratégie de compartiment)** affiche l'**ARN (Amazon Resource Name) de compartiment** du compartiment actuel au-dessus du champ de texte **Policy (Stratégie)**. Vous pouvez copier cet ARN pour l'utiliser dans les instructions de la page **AWS Policy Generator** (Générateur de politique). 

   1. Une fois que vous avez fini d’ajouter des instructions, choisissez **Generate Policy (Générer une stratégie)**.

   1. Copiez le texte de stratégie généré, choisissez **Fermer** et revenez à la page **Modifier la stratégie de compartiment** dans la console Amazon S3.

1. Dans la boîte **Policy (Stratégie)**, modifiez la stratégie existante ou collez la stratégie de compartiment à partir du générateur de stratégies. Veillez à résoudre les avertissements de sécurité, les erreurs, les avertissements généraux et les suggestions avant d’enregistrer votre stratégie.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "ExamplePermissions",
         "Effect": "Allow",
         "Principal": {
           "AWS": "arn:aws:iam::123456789012:user/account-A-user"
         },
         "Action": [
           "s3:PutObject",
           "s3:PutObjectAcl"
         ],
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-destination-bucket",
           "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
         ]
       }
     ]
   }
   ```

------

1. Choisissez **Save Changes (Enregistrez les modifications)**, qui vous renvoie à la page Autorisations du compartiment.

## Étape 3 : Créer un rôle IAM pour votre instance de base de données et y attacher votre politique
<a name="oracle-s3-integration.preparing.role"></a>

Cette étape suppose que vous avez créé la politique IAM dans [Étape 1 : Créer une politique IAM pour votre rôle Amazon RDS](#oracle-s3-integration.preparing.policy). Au cours de cette étape, vous créez un rôle pour votre instance de base de données RDS for Oracle, puis attachez votre politique au rôle.

### Console
<a name="oracle-s3-integration.preparing.role.console"></a>

**Pour créer un rôle IAM afin d'autoriser Amazon RDS à accéder à un compartiment Amazon S3**

1. Ouvrez [IAM Management Console](https://console.aws.amazon.com/iam/home?#home).

1. Dans le panneau de navigation, choisissez **Rôles**.

1. Sélectionnez **Create role** (Créer un rôle).

1. Choisissez **Service AWS**.

1. Pour les **cas d'utilisation d'autres AWS services :** choisissez **RDS, puis RDS** **— Ajouter un rôle à** la base de données. Ensuite, sélectionnez **Suivant**.

1. Pour **Rechercher** sous **Politiques d'autorisations**, saisissez le nom de la politique IAM que vous avez créée dans [Étape 1 : Créer une politique IAM pour votre rôle Amazon RDS](#oracle-s3-integration.preparing.policy) et choisissez la politique lorsqu'elle apparaît dans la liste. Ensuite, sélectionnez **Suivant**.

1. Pour **Nom du rôle**, indiquez le nom de votre rôle IAM, par exemple `rds-s3-integration-role`. Vous pouvez également ajouter une valeur **Description** facultative.

1. Choisissez **Créer un rôle**.

### AWS CLI
<a name="integration.preparing.role.CLI"></a>

**Pour créer un rôle et y attacher votre politique**

1. Créez un rôle IAM qu'Amazon RDS peut endosser en votre nom pour accéder à vos compartiments Amazon S3.

   Nous vous recommandons d'utiliser les clés de contexte de condition globale [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) et [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) dans des relations d'approbation basées sur les ressources pour limiter les autorisations du service à une ressource spécifique. C’est le moyen le plus efficace de se protéger contre le [problème du député confus](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html).

   Vous pouvez utiliser les deux clés de contexte de condition globale et faire en sorte que la valeur `aws:SourceArn` contienne l'ID de compte. Dans ce cas, la valeur `aws:SourceAccount` et le compte dans la valeur `aws:SourceArn` doivent utiliser le même ID de compte lorsqu'ils sont utilisés dans la même instruction.
   + Utilisez `aws:SourceArn` si vous souhaitez un accès interservices pour une seule ressource.
   + Utilisez `aws:SourceAccount` si vous souhaitez autoriser une ressource de ce compte à être associée à l’utilisation interservices.

   Dans la relation d'approbation, assurez-vous d'utiliser la clé de contexte de condition globale `aws:SourceArn` avec l'Amazon Resource Name (ARN) complet des ressources qui accèdent au rôle.

   La AWS CLI commande suivante crée le rôle nommé `rds-s3-integration-role` à cet effet.  
**Example**  

   Pour Linux, macOS ou Unix :

   ```
   aws iam create-role \
      --role-name rds-s3-integration-role \
      --assume-role-policy-document '{
        "Version": "2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
               "Service": "rds.amazonaws.com"
             },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "my_account_ID",
                    "aws:SourceArn": "arn:aws:rds:Region:my_account_ID:db:dbname"
                }
            }
          }
        ]
      }'
   ```

   Pour Windows :

   ```
   aws iam create-role ^
      --role-name rds-s3-integration-role ^
      --assume-role-policy-document '{
        "Version": "2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
               "Service": "rds.amazonaws.com"
             },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "my_account_ID",
                    "aws:SourceArn": "arn:aws:rds:Region:my_account_ID:db:dbname"
                }
            }
          }
        ]
      }'
   ```

   Pour plus d’informations, consultez [Création d’un rôle pour déléguer des autorisations à un utilisateur IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html) dans le *Guide de l’utilisateur IAM*.

1. Une fois le rôle créé, notez son ARN. Vous en aurez besoin lors d'une étape ultérieure.

1. Attachez la politique que vous avez créée au rôle que vous avez créé.

   La AWS CLI commande suivante associe la politique au rôle nommé`rds-s3-integration-role`.  
**Example**  

   Pour Linux, macOS ou Unix :

   ```
   aws iam attach-role-policy \
      --policy-arn your-policy-arn \
      --role-name rds-s3-integration-role
   ```

   Pour Windows :

   ```
   aws iam attach-role-policy ^
      --policy-arn your-policy-arn ^
      --role-name rds-s3-integration-role
   ```

   Remplacez `your-policy-arn` par l’ARN de stratégie que vous avez noté lors d’une étape précédente.

## Étape 4 : associer votre rôle IAM à votre instance de base de données RDS for Oracle.
<a name="oracle-s3-integration.preparing.instance"></a>

La dernière étape de la configuration des autorisations pour l'intégration d'Amazon S3 consiste à associer votre rôle IAM à votre instance de base de données. Notez les critères suivants :
+ Vous devez avoir accès à un rôle IAM auquel est associée la politique d’autorisations Amazon S3 requise. 
+ Vous pouvez associer un seul rôle IAM à la fois avec votre instance de base de données RDS for Oracle.
+ Votre instance de base de données doit être dans l'état **Disponible**.

### Console
<a name="oracle-s3-integration.preparing.instance.console"></a>

**Pour associer votre rôle IAM à votre instance de base de données RDS for Oracle**

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Choisissez **Bases de données** dans le panneau de navigation.

1. Choisissez le nom de l'instance de base de données RDS for Oracle pour afficher ses détails.

1. Dans l’onglet **Connectivity & security** (Connectivité & sécurité), faites défiler l’écran jusqu’à l’onglet **Manage IAM roles** (Gérer les rôles IAM) au bas de la page.

1. Pour **Ajouter des rôles IAM à cette instance**, choisissez le rôle que vous avez créé dans[Étape 3 : Créer un rôle IAM pour votre instance de base de données et y attacher votre politique](#oracle-s3-integration.preparing.role).

1. Pour **Fonction**, choisissez **S3\$1INTEGRATION**.  
![\[Ajoutez le rôle S3_INTEGRATION\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/ora-s3-integration-role.png)

1. Choisissez **Add role (Ajouter un rôle)**.

### AWS CLI
<a name="oracle-s3-integration.preparing.instance.CLI"></a>

La AWS CLI commande suivante ajoute le rôle à une instance de base de données Oracle nommée`mydbinstance`.

**Example**  
Pour Linux, macOS ou Unix :  

```
aws rds add-role-to-db-instance \
   --db-instance-identifier mydbinstance \
   --feature-name S3_INTEGRATION \
   --role-arn your-role-arn
```
Pour Windows :  

```
aws rds add-role-to-db-instance ^
   --db-instance-identifier mydbinstance ^
   --feature-name S3_INTEGRATION ^
   --role-arn your-role-arn
```

Remplacez `your-role-arn` par l’ARN du rôle que vous avez noté lors d’une étape précédente. `S3_INTEGRATION` doit être spécifié pour l’option `--feature-name`.

# Ajout de l'option d'intégration Amazon S3
<a name="oracle-s3-integration.preparing.option-group"></a>

Pour intégrer Amazon RDS for Oracle avec Amazon S3, votre instance de base de données doit être associée à un groupe d'options qui inclut l'option `S3_INTEGRATION`.

## Console
<a name="oracle-s3-integration.preparing.option-group.console"></a>

**Pour configurer un groupe d’options pour l’intégration Amazon S3**

1. Créez un groupe d'options ou identifiez un groupe d'options existant auquel vous pouvez ajouter l'option `S3_INTEGRATION`.

   Pour plus d’informations sur la création d’un groupe d’options, consultez [Création d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).

1. Ajoutez l'option `S3_INTEGRATION` au groupe d'options.

   Pour plus d’informations sur l’ajout d’une option à un groupe d’options, consultez [Ajout d’une option à un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).

1. Créez une nouvelle instance de base de données RDS for Oracle et associez le groupe d’options à cette instance ou modifiez une instance de base de données RDS for Oracle pour lui associer le groupe d’options.

   Pour plus d’informations sur la création d’une instance de base de données, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md).

   Pour plus d’informations sur la modification d’une instance de base de données, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md).

## AWS CLI
<a name="oracle-s3-integration.preparing.option-group.cli"></a>

**Pour configurer un groupe d’options pour l’intégration Amazon S3**

1. Créez un groupe d'options ou identifiez un groupe d'options existant auquel vous pouvez ajouter l'option `S3_INTEGRATION`.

   Pour plus d’informations sur la création d’un groupe d’options, consultez [Création d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).

1. Ajoutez l'option `S3_INTEGRATION` au groupe d'options.

   Par exemple, la commande AWS CLI suivante ajoute l’option `S3_INTEGRATION` à un groupe d’options nommé **myoptiongroup**.  
**Example**  

   Pour Linux, macOS ou Unix :

   ```
   aws rds add-option-to-option-group \
      --option-group-name myoptiongroup \
      --options OptionName=S3_INTEGRATION,OptionVersion=1.0
   ```

   Pour Windows :

   ```
   aws rds add-option-to-option-group ^
      --option-group-name myoptiongroup ^
      --options OptionName=S3_INTEGRATION,OptionVersion=1.0
   ```

1. Créez une nouvelle instance de base de données RDS for Oracle et associez le groupe d’options à cette instance ou modifiez une instance de base de données RDS for Oracle pour lui associer le groupe d’options.

   Pour plus d’informations sur la création d’une instance de base de données, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md).

   Pour plus d'informations sur la modification d'une instance de base de données RDS for Oracle, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md).

# Transfert de fichiers entre Amazon RDS for Oracle et un compartiment Amazon S3
<a name="oracle-s3-integration.using"></a>

Pour transférer des fichiers entre une instance de base de données RDS for Oracle et un compartiment Amazon S3, vous pouvez utiliser le package Amazon RDS `rdsadmin_s3_tasks`. Vous pouvez compresser les fichiers avec GZIP lorsque vous les chargez et les décompresser lors du téléchargement.

**Topics**
+ [

## Exigences et limites relatives aux transferts de fichiers
](#oracle-s3-integration.using.reqs)
+ [

## Chargement de fichiers depuis votre instance de base de données RDS for Oracle vers un compartiment Amazon S3
](#oracle-s3-integration.using.upload)
+ [

## Téléchargement des fichiers d'un compartiment Amazon S3 vers une instance de base de données Oracle
](#oracle-s3-integration.using.download)
+ [

## Surveillance du statut d'un transfert de fichiers
](#oracle-s3-integration.using.task-status)

## Exigences et limites relatives aux transferts de fichiers
<a name="oracle-s3-integration.using.reqs"></a>

Avant de transférer des fichiers entre votre instance de base de données et un compartiment Amazon S3, notez les points suivants :
+ Le package `rdsadmin_s3_tasks` transfère des fichiers situés dans un répertoire unique. Vous ne pouvez pas inclure de sous-répertoires dans un transfert.
+ La taille maximale d'un objet dans un compartiment Amazon S3 est de 5 To. 
+ Les tâches créées par `rdsadmin_s3_tasks` s’exécutent de manière asynchrone.
+ Vous pouvez charger des fichiers à partir du répertoire Data Pump, par exemple `DATA_PUMP_DIR`, ou de n’importe quel répertoire créé par l’utilisateur. Vous ne pouvez pas charger de fichiers à partir d’un répertoire utilisé par les processus d’arrière-plan Oracle, tel que les répertoires `adump`, `bdump` ou `trace`.
+ La limite de téléchargement est de 2 000 fichiers par appel de procédure pour `download_from_s3`. Si vous devez télécharger plus de 2 000 fichiers d'Amazon S3, divisez votre téléchargement en actions distinctes, avec un maximum de 2 000 fichiers par appel de procédure. 
+ Si un fichier existe dans votre dossier de téléchargement et que vous tentez de télécharger un fichier portant le même nom, `download_from_s3` ignore le téléchargement. Pour supprimer un fichier du répertoire de téléchargement, utilisez la PL/SQL procédure [UTL\$1FILE.FREMOVE](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/UTL_FILE.html#GUID-09B09C2A-2C21-4F70-BF04-D0EEA7B59CAF).

## Chargement de fichiers depuis votre instance de base de données RDS for Oracle vers un compartiment Amazon S3
<a name="oracle-s3-integration.using.upload"></a>

Pour charger les fichiers de votre instance de base de données vers un compartiment Amazon S3, utilisez la procédure `rdsadmin.rdsadmin_s3_tasks.upload_to_s3`. Par exemple, vous pouvez charger les fichiers de sauvegarde Oracle Recovery Manager (RMAN) ou les fichiers Oracle Data Pump. Pour plus d'informations sur l'utilisation des objets, consultez le [Guide de l'utilisateur Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingObjects.html). Pour plus d’informations sur les sauvegardes RMAN, consultez [Exécution des tâches RMAN courantes pour les instances de base de données Oracle](Appendix.Oracle.CommonDBATasks.RMAN.md).

La procédure `rdsadmin.rdsadmin_s3_tasks.upload_to_s3` possède les paramètres suivants.


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_bucket_name`  |  VARCHAR2  |  –  |  obligatoire  |  Nom du compartiment Amazon S3 dans lequel charger les fichiers.   | 
|  `p_directory_name`  |  VARCHAR2  |  –  |  obligatoire  |  Nom de l'objet de répertoire Oracle à partir duquel les fichiers doivent être chargés. Le répertoire peut être n’importe quel objet de répertoire créé par l’utilisateur ou répertoire Data Pump, par exemple `DATA_PUMP_DIR`. Vous ne pouvez pas charger de fichiers à partir d’un répertoire utilisé par les processus d’arrière-plan, comme `adump`, `bdump` et `trace`.  Vous pouvez uniquement charger les fichiers à partir du répertoire spécifié. Vous ne pouvez pas charger les fichiers des sous-répertoires dans le répertoire spécifié.   | 
|  `p_s3_prefix`  |  VARCHAR2  |  –  |  obligatoire  |  Préfixe de nom de fichier Amazon S3 en fonction duquel les fichiers sont chargés. Un préfixe vide charge tous les fichiers au niveau supérieur dans le compartiment Amazon S3 spécifié et n'ajoute pas de préfixe aux noms de fichier.  Par exemple, si le préfixe est `folder_1/oradb`, les fichiers sont chargés dans `folder_1`. Dans ce cas, le préfixe `oradb` est ajouté à chaque fichier.   | 
|  `p_prefix`  |  VARCHAR2  |  –  |  obligatoire  |  Préfixe de nom de fichier que les noms de fichier doivent contenir pour être chargés. Un préfixe vide charge tous les fichiers du répertoire spécifié.   | 
|  `p_compression_level`  |  NOMBRE  |  `0`   |  facultatif  |  Niveau de compression GZIP. La plage des valeurs valides est comprise entre `0` et `9` : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/oracle-s3-integration.using.html)  | 
|  `p_bucket_owner_full_control`  |  VARCHAR2  |  –  |  facultatif  |  Paramètre de contrôle d'accès pour le compartiment. Les seules valeurs valides sont null ou `FULL_CONTROL`. Ce paramètre est requis uniquement si vous chargez des fichiers depuis un compte (compte A) dans un compartiment appartenant à un autre compte (compte B). Le compte B doit avoir un contrôle total des fichiers.  | 

La valeur renvoyée pour la procédure `rdsadmin.rdsadmin_s3_tasks.upload_to_s3` est un ID de tâche.

L'exemple suivant télécharge tous les fichiers d'un répertoire `DATA_PUMP_DIR` dans le compartiment Amazon S3 nommé *amzn-s3-demo-bucket*. Les fichiers ne sont pas compressés.

```
SELECT rdsadmin.rdsadmin_s3_tasks.upload_to_s3(
      p_bucket_name    =>  'amzn-s3-demo-bucket',
      p_prefix         =>  '', 
      p_s3_prefix      =>  '', 
      p_directory_name =>  'DATA_PUMP_DIR') 
   AS TASK_ID FROM DUAL;
```

L’exemple suivant charge tous les fichiers ayant le préfixe `db` dans le répertoire`DATA_PUMP_DIR` du compartiment Amazon S3 nommé `amzn-s3-demo-bucket`. Amazon RDS applique le plus haut niveau de compression GZIP aux fichiers.

```
SELECT rdsadmin.rdsadmin_s3_tasks.upload_to_s3(
      p_bucket_name       =>  'amzn-s3-demo-bucket', 
      p_prefix            =>  'db', 
      p_s3_prefix         =>  '', 
      p_directory_name    =>  'DATA_PUMP_DIR',
      p_compression_level =>  9) 
   AS TASK_ID FROM DUAL;
```

L’exemple suivant charge tous les fichiers du répertoire `DATA_PUMP_DIR` dans le compartiment Amazon S3 nommé `amzn-s3-demo-bucket`. Les fichiers sont chargés dans un dossier `dbfiles`. Dans cet exemple, le niveau de compression GZIP est *1* le niveau de compression le plus rapide.

```
SELECT rdsadmin.rdsadmin_s3_tasks.upload_to_s3(
      p_bucket_name       =>  'amzn-s3-demo-bucket', 
      p_prefix            =>  '', 
      p_s3_prefix         =>  'dbfiles/', 
      p_directory_name    =>  'DATA_PUMP_DIR',
      p_compression_level =>  1) 
   AS TASK_ID FROM DUAL;
```

L’exemple suivant charge tous les fichiers du répertoire `DATA_PUMP_DIR` dans le compartiment Amazon S3 nommé `amzn-s3-demo-bucket`. Les fichiers sont chargés dans un dossier `dbfiles` et `ora` est ajouté au début de chaque nom de fichier. Aucune compression n'est appliquée.

```
SELECT rdsadmin.rdsadmin_s3_tasks.upload_to_s3(
      p_bucket_name    =>  'amzn-s3-demo-bucket', 
      p_prefix         =>  '', 
      p_s3_prefix      =>  'dbfiles/ora', 
      p_directory_name =>  'DATA_PUMP_DIR') 
   AS TASK_ID FROM DUAL;
```

L'exemple suivant suppose que la commande est exécutée dans le compte A, mais le compte B exige un contrôle total du contenu du compartiment. La commande `rdsadmin_s3_tasks.upload_to_s3` transfère tous les fichiers dans le répertoire `DATA_PUMP_DIR` du compartiment nommé `s3bucketOwnedByAccountB`. Le contrôle d'accès est défini sur `FULL_CONTROL` afin que le compte B puisse accéder aux fichiers du compartiment. Le niveau de compression GZIP est de*6*, qui équilibre la vitesse et la taille du fichier.

```
SELECT rdsadmin.rdsadmin_s3_tasks.upload_to_s3(
      p_bucket_name               =>  's3bucketOwnedByAccountB', 
      p_prefix                    =>  '', 
      p_s3_prefix                 =>  '', 
      p_directory_name            =>  'DATA_PUMP_DIR',
      p_bucket_owner_full_control =>  'FULL_CONTROL',
      p_compression_level         =>  6) 
   AS TASK_ID FROM DUAL;
```

Dans chaque exemple, l’instruction `SELECT` renvoie l’ID de la tâche dans un type de données `VARCHAR2`.

Vous pouvez afficher le résultat en affichant le fichier de sortie de la tâche.

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-task-id.log'));
```

Remplacez *`task-id`* par l'ID de tâche renvoyé par la procédure.

**Note**  
Les tâches sont exécutées de manière asynchrone.

## Téléchargement des fichiers d'un compartiment Amazon S3 vers une instance de base de données Oracle
<a name="oracle-s3-integration.using.download"></a>

Pour télécharger les fichiers d'un compartiment Amazon S3 vers une instance RDS for Oracle, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_s3_tasks.download_from_s3`. 

La procédure `download_from_s3` possède les paramètres suivants.


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_bucket_name`  |  VARCHAR2  |  –  |  Obligatoire  |  Nom du compartiment Amazon S3 à partir duquel télécharger les fichiers.   | 
|  `p_directory_name`  |  VARCHAR2  |  –  |  Obligatoire  |  Nom de l'objet de répertoire Oracle vers lequel les fichiers doivent être téléchargés. Le répertoire peut être n'importe quel objet de répertoire créé par l'utilisateur ou répertoire Data Pump, par exemple `DATA_PUMP_DIR`.   | 
|  `p_error_on_zero_downloads`  |  VARCHAR2  | FALSE |  Facultatif  |  Un indicateur qui détermine si la tâche génère une erreur quand aucun objet du compartiment Amazon S3 ne correspond au préfixe. Si ce paramètre n'est pas défini ou s'il est défini sur FALSE (par défaut), la tâche affiche un message indiquant qu'aucun objet n'a été trouvé, mais ne déclenche pas d'exception ni n'échoue. Si ce paramètre a pour valeur TRUE, la tâche lève une exception et échoue.  Les exemples de spécifications de préfixe qui peuvent échouer aux tests de correspondance sont les espaces dans les préfixes, comme dans `' import/test9.log'`, et les différences de casse, comme dans `test9.log` et `test9.LOG`.  | 
|  `p_s3_prefix`  |  VARCHAR2  |  –  |  Obligatoire  |  Préfixe de nom de fichier que les noms de fichier doivent contenir pour être téléchargés. Un préfixe vide télécharge tous les fichiers au niveau le plus haut dans le compartiment Amazon S3 spécifié, mais pas les dossiers dans le compartiment.  La procédure télécharge les objets Amazon S3 du dossier de premier niveau correspondant au préfixe. Les structures de répertoire imbriquées correspondant au préfixe spécifié ne sont pas téléchargées. Par exemple, supposons qu'un compartiment Amazon S3 ait la structure de dossiers `folder_1/folder_2/folder_3`. Vous spécifiez le préfixe `'folder_1/folder_2/'`. Dans ce cas, seuls les fichiers de `folder_2` sont téléchargés, et non ceux de `folder_1` ou `folder_3`. Si à la place vous spécifiez le préfixe `'folder_1/folder_2'`, tous les fichiers dans `folder_1` qui correspondent au préfixe `'folder_2'` sont téléchargés et aucun fichier dans `folder_2` n'est téléchargé.  | 
|  `p_decompression_format`  |  VARCHAR2  |  –  |  Facultatif  |  Format de décompression. Les valeurs valides sont `NONE` (pas de décompression) et `GZIP` (décompression).  | 

La valeur renvoyée pour la procédure `rdsadmin.rdsadmin_s3_tasks.download_from_s3` est un ID de tâche.

L'exemple suivant télécharge tous les fichiers du compartiment Amazon S3 nommé `amzn-s3-demo-bucket` vers le répertoire `DATA_PUMP_DIR`. Les fichiers n'étant pas compressés, aucune décompression n'est appliquée.

```
SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3(
      p_bucket_name    =>  'amzn-s3-demo-bucket',
      p_directory_name =>  'DATA_PUMP_DIR') 
   AS TASK_ID FROM DUAL;
```

L'exemple suivant télécharge tous les fichiers ayant le préfixe `db` dans le compartiment Amazon S3 nommé `amzn-s3-demo-bucket` du répertoire `DATA_PUMP_DIR`. Les fichiers étant compressés avec GZIP, la décompression est appliquée. Le paramètre `p_error_on_zero_downloads` active la vérification des erreurs de préfixe. Ainsi, si le préfixe ne correspond à aucun fichier du compartiment, la tâche lève une exception et échoue.

```
SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3(
      p_bucket_name               =>  'amzn-s3-demo-bucket', 
      p_s3_prefix                 =>  'db', 
      p_directory_name            =>  'DATA_PUMP_DIR',
      p_decompression_format      =>  'GZIP',
      p_error_on_zero_downloads   =>  'TRUE') 
   AS TASK_ID FROM DUAL;
```

L'exemple suivant télécharge tous les fichiers du dossier `myfolder/` du compartiment Amazon S3 nommé `amzn-s3-demo-bucket` vers le répertoire `DATA_PUMP_DIR`. Utilisez le paramètre `p_s3_prefix` pour spécifier le dossier Amazon S3. Les fichiers chargés sont compressés avec GZIP, mais ils ne sont pas décompressés pendant le téléchargement. 

```
SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3(
      p_bucket_name          =>  'amzn-s3-demo-bucket', 
      p_s3_prefix            =>  'myfolder/', 
      p_directory_name       =>  'DATA_PUMP_DIR',
      p_decompression_format =>  'NONE')
   AS TASK_ID FROM DUAL;
```

L'exemple suivant télécharge le fichier `mydumpfile.dmp` du compartiment Amazon S3 nommé `amzn-s3-demo-bucket` dans le répertoire `DATA_PUMP_DIR`. Aucune décompression n'est appliquée.

```
SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3(
      p_bucket_name    =>  'amzn-s3-demo-bucket', 
      p_s3_prefix      =>  'mydumpfile.dmp', 
      p_directory_name =>  'DATA_PUMP_DIR') 
   AS TASK_ID FROM DUAL;
```

Dans chaque exemple, l’instruction `SELECT` renvoie l’ID de la tâche dans un type de données `VARCHAR2`.

Vous pouvez afficher le résultat en affichant le fichier de sortie de la tâche.

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-task-id.log'));
```

Remplacez *`task-id`* par l'ID de tâche renvoyé par la procédure.

**Note**  
Les tâches sont exécutées de manière asynchrone.  
Vous pouvez utiliser la procédure Oracle `UTL_FILE.FREMOVE` pour supprimer les fichiers d'un répertoire. Pour plus d’informations, consultez [FREMOVE Procedure](https://docs.oracle.com/database/121/ARPLS/u_file.htm#ARPLS70924) dans la documentation Oracle.

## Surveillance du statut d'un transfert de fichiers
<a name="oracle-s3-integration.using.task-status"></a>

Les tâches de transfert de fichiers publient des événements Amazon RDS lorsqu'elles démarrent et lorsqu'elles se terminent. Le message d'événement contient l'ID de tâche pour le transfert de fichiers. Pour plus d’informations sur l’affichage des événements, consultez [Affichage d’événements Amazon RDS](USER_ListEvents.md).

Vous pouvez consulter le statut d'une tâche en cours dans un fichier bdump. Les fichiers bdump se trouvent dans le répertoire `/rdsdbdata/log/trace`. Chaque nom de fichier bdump a le format suivant.

```
dbtask-task-id.log
```

Remplacez `task-id` par l'ID de la tâche que vous souhaitez surveiller.

**Note**  
Les tâches sont exécutées de manière asynchrone.

Vous pouvez utiliser la procédure stockée `rdsadmin.rds_file_util.read_text_file` pour afficher le contenu des fichiers bdump. Par exemple, la requête suivante renvoie le contenu du fichier bdump `dbtask-1234567890123-1234.log`.

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-1234567890123-1234.log'));
```

L'exemple suivant montre le fichier journal correspondant à un transfert ayant échoué.

```
TASK_ID                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1234567890123-1234


TEXT                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2023-04-17 18:21:33.993 UTC [INFO ] File #1: Uploading the file /rdsdbdata/datapump/A123B4CDEF567890G1234567890H1234/sample.dmp to Amazon S3 with bucket name amzn-s3-demo-bucket and key sample.dmp.
2023-04-17 18:21:34.188 UTC [ERROR] RDS doesn't have permission to write to Amazon S3 bucket name amzn-s3-demo-bucket and key sample.dmp.
2023-04-17 18:21:34.189 UTC [INFO ] The task failed.
```

## Résolution des problèmes d'intégration avec Amazon S3
<a name="oracle-s3-integration.troubleshooting"></a>

Pour obtenir des conseils de résolution des problèmes, consultez l'article d'AWS Re:Post [Comment résoudre les problèmes lorsque j'intègre Amazon RDS for Oracle avec Amazon S3 ?](https://repost.aws/en/knowledge-center/rds-oracle-s3-integration).

# Suppression de l'option d'intégration Amazon S3
<a name="oracle-s3-integration.removing"></a>

Vous pouvez supprimer l'option d'intégration Amazon S3 d'une instance de base de données. 

Pour supprimer l'option d'intégration Amazon S3 d'une instance de base de données, effectuez l'une des actions suivantes : 
+ Pour supprimer l'option d'intégration Amazon S3 de plusieurs instances de base de données, supprimez l'option `S3_INTEGRATION` du groupe d'options auquel celles-ci appartiennent. Ce changement affecte toutes les instances de bases de données qui utilisent le groupe d'options. Pour de plus amples informations, consultez [Suppression d’une option d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption).

   
+ Pour supprimer l'option d'intégration Amazon S3 d'une instance de base de données particulière, modifiez l'instance et spécifiez un autre groupe d'options qui n'inclut pas l'option `S3_INTEGRATION`. Vous pouvez spécifier le groupe d'options (vide) par défaut, ou un groupe d'options personnalisées différent. Pour de plus amples informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md).

# Oracle Application Express (APEX)
<a name="Appendix.Oracle.Options.APEX"></a>

Amazon RDS prend en charge Oracle Application Express (APEX) à l'aide des options `APEX` et `APEX-DEV`. Vous pouvez déployer Oracle APEX en tant qu’environnement d’exécution ou de développement pour les applications web. A l'aide d'Oracle APEX, vous pouvez créer des applications entièrement dans le navigateur web. Pour plus d'informations, consultez [Oracle Application Express](https://apex.oracle.com/) dans la documentation d'Oracle.

**Topics**
+ [

## Composants Oracle APEX
](#Appendix.Oracle.Options.APEX.components)
+ [

# Exigences et limitations
](Appendix.Oracle.Options.APEX.Requirements.md)
+ [

# Configuration d’Oracle APEX et d’Oracle Rest Data Services (ORDS)
](Appendix.Oracle.Options.APEX.settingUp.md)
+ [

# Configuration d’Oracle Rest Data Services (ORDS)
](Appendix.Oracle.Options.APEX.ORDSConf.md)
+ [

# Mise à niveau et suppression d’Oracle APEX
](Appendix.Oracle.Options.APEX.UpgradeandRemove.md)

## Composants Oracle APEX
<a name="Appendix.Oracle.Options.APEX.components"></a>

Oracle APEX comprend les principaux composants suivants :
+ Un *référentiel* qui stocke les métadonnées pour les composants et les applications Oracle APEX. Le référentiel se compose de tables, d'index et d'autres objets installés dans votre instance de base de données Amazon RDS.
+ Un *écouteur* qui gère les communications HTTP avec les clients Oracle APEX. L'écouteur réside sur un hôte distinct, tel qu'une instance Amazon EC2, un serveur sur site de votre entreprise ou votre ordinateur de bureau. L'écouteur accepte les connexions entrantes des navigateurs web et les transmet à l'instance de base de données Amazon RDS for traitement, puis renvoie les résultats du référentiel aux navigateurs. 

  RDS for Oracle prend en charge les types d'écouteurs suivants :
  + Pour Oracle APEX versions 5.0 et ultérieures, utilisez Oracle Rest Data Services (ORDS) versions 19.1 et ultérieures. Nous vous recommandons d'utiliser la dernière version prise en charge d'Oracle APEX et ORDS. Cette documentation décrit les anciennes versions à des fins de compatibilité descendante uniquement.
  + Pour Oracle APEX version 4.1.1, vous pouvez utiliser Oracle APEX Listener version 1.1.4.
  + Vous pouvez utiliser Oracle HTTP Server et les écouteurs `mod_plsql`.
**Note**  
Amazon RDS ne prend pas en charge le serveur HTTP Oracle XML DB avec la passerelle PL/SQL incorporée en tant qu’écouteur pour Oracle APEX. En général, Oracle recommande de ne pas utiliser la passerelle PL/SQL incorporée pour les applications qui s'exécutent sur Internet.

  Pour plus d'informations sur ces types d'écouteur, consultez [About Choosing a Web Listener](https://docs.oracle.com/database/apex-5.1/HTMIG/choosing-web-listener.htm#HTMIG29321) dans la documentation Oracle.

Lorsque vous ajoutez les options `APEX` et `APEX-DEV` à votre instance de base de données RDS for Oracle, Amazon RDS installe uniquement le référentiel Oracle APEX. Installez votre écouteur sur un hôte distinct.

# Exigences et limitations
<a name="Appendix.Oracle.Options.APEX.Requirements"></a>

La rubrique suivante répertorie les exigences et les limitations relatives à Oracle APEX et ORDS.

## Exigences relatives à Oracle APEX
<a name="Appendix.Oracle.Options.APEX.versions"></a>

L’option `APEX` utilise le stockage dans la classe d’instance de base de données pour votre instance de base de données. Voici les versions prises en charge et les besoins approximatifs en stockage pour Oracle APEX.


****  

| Version d’Oracle APEX | Besoins de stockage | Versions de Oracle Database prises en charge | Remarques | 
| --- | --- | --- | --- | 
|  Oracle APEX version 24.2.v1  |  114 Mio  |  Tous  |  Cette version inclut le correctif 37885097 : PSE BUNDLE FOR APEX 24.2 (PSES ON TOP OF 24.2.0), PATCH\$1VERSION 4.  | 
|  Oracle APEX version 24.1.v1  |  112 Mio  |  Tous  |  Cette version inclut le correctif 36695709 : PSE BUNDLE FOR APEX 24.1 (PSES ON TOP OF 24.1.0), PATCH\$1VERSION 3. Si vous avez besoin d’installer exactement la même version d’images APEX sur votre instance EC2, téléchargez le correctif 37544819 : 24.1.3 PSE BUNDLE FOR APEX 24.1 (PSES ON TOP OF 24.1.0).  | 
|  Oracle APEX version 23.2.v1  |  110 Mio  |  Tous  |  Cette version inclut le correctif 35895964 : PSE BUNDLE FOR APEX 23.2 (PSES ON TOP OF 23.2.0), PATCH\$1VERSION 6. Si vous avez besoin d’installer exactement la même version d’images APEX sur votre instance EC2, téléchargez le correctif 37593125 : 23.2.6 PSE BUNDLE FOR APEX 23.2 (PSES ON TOP OF 23.2.0).  | 
|  Oracle APEX version 23.1.v1  |  106 Mio  |  Tous  |  Cette version inclut le correctif 35283657 : PSE BUNDLE FOR APEX 23.1 (PSES ON TOP OF 23.1.0), PATCH\$1VERSION 2.  | 
|  Oracle APEX version 22.2.v1  |  106 Mio  |  Tous  |  Cette version inclut le correctif 34628174 : PSE BUNDLE FOR APEX 22.2 (PSES ON TOP OF 22.2.0), PATCH\$1VERSION 4.  | 
|  Oracle APEX version 21.1.v1  |  124 Mio  |  Tous  |  Cette version inclut le correctif 34020981 : PSE BUNDLE FOR APEX 22.1 (PSES ON TOP OF 22.1.0), PATCH\$1VERSION 6.  | 
|  Oracle APEX version 21.2.v1  |  125 Mio  |  Tous  |  Cette version inclut le correctif 33420059 : PSE BUNDLE FOR APEX 21.2 (PSES ON TOP OF 21.2.0), PATCH\$1VERSION 8.  | 
|  Oracle APEX version 21.1.v1  |  125 Mio  |  Tous  |  Cette version inclut le patch 32598392: PSE BUNDLE FOR APEX 21.1, PATCH\$1VERSION 3.  | 
|  Oracle APEX version 20.2.v1  |  148 Mio  |  Toutes sauf Oracle Database 21c  |  Cette version inclut le patch 32006852: PSE BUNDLE FOR APEX 20.2, PATCH\$1VERSION 2020.11.12. Vous pouvez voir le numéro et la date du correctif en exécutant la requête suivante : <pre>SELECT PATCH_VERSION, PATCH_NUMBER <br />FROM   APEX_PATCHES;</pre>  | 
|  Oracle APEX version 20.1.v1  |  173 Mio  |  Toutes sauf Oracle Database 21c  |  Cette version inclut le patch 30990551: PSE BUNDLE FOR APEX 20.1, PATCH\$1VERSION 2020.07.15.  | 
|  Oracle APEX version 19.2.v1  |  149 Mio  |  Toutes sauf Oracle Database 21c  |  | 
|  Oracle APEX version 19.1.v1  |  148 Mio  |  Toutes sauf Oracle Database 21c  |  | 

Pour les fichiers Oracle APEX .zip téléchargeables, consultez [Oracle APEX Prior Release Archives](https://www.oracle.com/tools/downloads/apex-all-archives-downloads.html) sur le site Web d’Oracle.

## Prérequis pour Oracle APEX et ORDS
<a name="Appendix.Oracle.Options.APEX.PreReqs"></a>

Notez les prérequis suivants pour utiliser Oracle APEX et ORDS :
+ Votre système doit utiliser l’environnement d’exécution Java (JRE).
+ Votre installation client Oracle doit comprendre les éléments suivants :
  + SQL\$1Plus ou SQL Developer pour les tâches d'administration
  + Oracle Net Services pour configurer les connexions à votre instance de base de données RDS for Oracle

## Limitations relatives à Oracle APEX
<a name="Appendix.Oracle.Options.APEX.limitations"></a>

Vous ne pouvez pas modifier le compte utilisateur `APEX_version`, qui est géré par Amazon RDS. Vous ne pouvez donc pas appliquer de profils de base de données ni appliquer de règles de mot de passe à cet utilisateur. Les profils et les paramètres de mot de passe `APEX_version` sont prédéfinis par Oracle AWS et sont conçus pour répondre aux exigences de sécurité d'Amazon RDS.

# Configuration d’Oracle APEX et d’Oracle Rest Data Services (ORDS)
<a name="Appendix.Oracle.Options.APEX.settingUp"></a>

La rubrique suivante répertorie les étapes requises pour configurer Oracle APEX et ORDS.

**Topics**
+ [

## Ajout des options APEX et APEX-DEV à votre instance de base de données
](#Appendix.Oracle.Options.APEX.Add)
+ [

## Déverrouillage du compte utilisateur public sur votre instance de base de données
](#Appendix.Oracle.Options.APEX.PublicUser)
+ [

## Configuration des RESTful services pour Oracle APEX
](#Appendix.Oracle.Options.APEX.ConfigureRESTful)
+ [

## Préparation de l’installation d’ORDS sur un hôte distinct
](#Appendix.Oracle.Options.APEX.ORDS.ords-setup)
+ [

## Configuration du processus d'écoute Oracle APEX
](#Appendix.Oracle.Options.APEX.Listener)

## Ajout des options APEX et APEX-DEV à votre instance de base de données
<a name="Appendix.Oracle.Options.APEX.Add"></a>

Pour ajouter les options `APEX` et `APEX-DEV` à votre instance de base de données RDS for Oracle, procédez comme suit : 

1. Créer un groupe d’options ou copier ou modifier un groupe existant.

1. Ajoutez les options `APEX` et `APEX-DEV` au groupe d'options.

1. Associez le groupe d’options à votre instance de base de données.

Lorsque vous ajoutez les options `APEX` et `APEX-DEV`, une brève interruption de service se produit pendant le redémarrage automatique de votre instance de base de données. 

**Note**  
`APEX_MAIL` est disponible lorsque l'option `APEX` est installée. Le privilège d'exécution pour le package `APEX_MAIL` est accordé à `PUBLIC` et vous n'avez donc pas besoin du compte administratif APEX pour l'utiliser.

**Pour ajouter les options APEX et APEX-DEV à une instance de base de données**

1. Déterminez le groupe d’options que vous voulez utiliser. Vous pouvez créer un groupe d'options ou utiliser un groupe d'options existant. Si vous souhaitez utiliser un groupe d'options existant, passez à l'étape suivante. Sinon, créez un groupe d'options DB personnalisé avec les paramètres suivants : 

   1. Pour **Moteur**, sélectionnez l’édition d’Oracle que vous voulez utiliser. Les options `APEX` et `APEX-DEV` sont prises en charge sur toutes les éditions. 

   1. Pour **Version majeure du moteur**, choisissez la version de votre instance de base de données. 

   Pour plus d'informations, consultez [Création d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Ajouter les options au groupe d'options. Si vous souhaitez déployer uniquement l’environnement d’exécution Oracle APEX, ajoutez seulement l’option `APEX`. Pour déployer l’environnement de développement complet, ajoutez les options `APEX` et `APEX-DEV`.

   Pour **Version**, choisissez la version d’Oracle APEX que vous souhaitez utiliser.
**Important**  
Si vous ajoutez les options `APEX` ou `APEX-DEV` à un groupe d’options existant qui est déjà attaché à une ou plusieurs instances de base de données, une brève interruption de service se produit. Pendant cette interruption, toutes les instances de base de données sont automatiquement redémarrées. 

   Pour plus d'informations sur l'ajout d'options, consultez [Ajout d’une option à un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). 

1. Appliquez le groupe d'options à une instance de base de données nouvelle ou existante: 
   + Pour une nouvelle instance de base de données, vous appliquez le groupe d'options lorsque vous lancez l'instance. Pour plus d’informations, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md). 
   + Pour une instance de base de données existante, vous appliquez le groupe d'options en modifiant l'instance et en attachant le nouveau groupe d'options. Lorsque vous ajoutez les options `APEX` ou `APEX-DEV` à une instance de base de données existante, une brève interruption de service se produit pendant le redémarrage automatique de votre instance de base de données. Pour de plus amples informations, veuillez consulter [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

## Déverrouillage du compte utilisateur public sur votre instance de base de données
<a name="Appendix.Oracle.Options.APEX.PublicUser"></a>

Une fois que vous avez installé les options `APEX-DEV` ou `APEX` sur votre instance de base de données, veillez à effectuer les opérations suivantes :

1. Modifie le mot de passe du compte `APEX_PUBLIC_USER`.

1. Déverrouillez le compte.

Pour cela, vous pouvez utiliser l'utilitaire de ligne de commande SQL\$1Plus Oracle. Connectez-vous à votre instance de base de données en tant qu'utilisateur principal et exécutez les commandes suivantes. Remplacez `new_password` par un mot de passe de votre choix. 

```
1. ALTER USER APEX_PUBLIC_USER IDENTIFIED BY new_password;
2. ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK;
```

## Configuration des RESTful services pour Oracle APEX
<a name="Appendix.Oracle.Options.APEX.ConfigureRESTful"></a>

Pour configurer les RESTful services dans Oracle APEX (ce n'est pas nécessaire pour Oracle APEX 4.1.1.V1), utilisez SQL\$1Plus pour vous connecter à votre instance de base de données en tant qu'utilisateur principal. Ensuite, exécutez la procédure stockée `rdsadmin.rdsadmin_run_apex_rest_config`. Lorsque vous exécutez la procédure stockée, vous fournissez les mots de passe des utilisateurs suivants :
+ `APEX_LISTENER`
+ `APEX_REST_PUBLIC_USER`

La procédure stockée exécute le script `apex_rest_config.sql`, qui crée de nouveaux comptes de base de données pour ces utilisateurs.

**Note**  
Aucune configuration n'est requise pour Oracle APEX version 4.1.1.v1. Pour cette version d'Oracle APEX uniquement, vous n'avez pas besoin d'exécuter la procédure stockée.

La commande suivante exécute la procédure stockée.

```
1. EXEC rdsadmin.rdsadmin_run_apex_rest_config('apex_listener_password', 'apex_rest_public_user_password');
```

## Préparation de l’installation d’ORDS sur un hôte distinct
<a name="Appendix.Oracle.Options.APEX.ORDS.ords-setup"></a>

Installez ORDS sur un hôte distinct : une instance Amazon EC2, un serveur sur site de votre entreprise ou votre ordinateur de bureau. Les exemples présentés dans cette section supposent que votre hôte exécute Linux et qu’il s’appelle `myapexhost.example.com`.

Avant de pouvoir installer ORDS, vous devez créer un utilisateur du système d’exploitation non privilégié, puis télécharger et décompresser le fichier d’installation Oracle APEX.

**Pour préparer l'installation d'ORDS**

1. Connectez-vous à `myapexhost.example.com` en tant que `root`. 

1. Créez un utilisateur du système d'exploitation non privilégié qui sera propriétaire de l'installation de l'écouteur. La commande suivante crée un utilisateur nommé *apexuser*. 

   ```
   useradd -d /home/apexuser apexuser
   ```

   La commande suivante affecte un mot de passe au nouvel utilisateur. 

   ```
   passwd apexuser;
   ```

1. Connectez-vous à `myapexhost.example.com` en tant qu’`apexuser` et téléchargez le fichier d’installation d’Oracle APEX à partir d’Oracle dans le répertoire `/home/apexuser` : 
   + [http://www.oracle. com/technetwork/developer-tools/apex/downloads/index.html](http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html) 
   + [Archives de versions antérieures d'Oracle Application Express](http://www.oracle.com/technetwork/developer-tools/apex/downloads/all-archives-099381.html) 

1. Décompressez le fichier dans le répertoire `/home/apexuser`.

   ```
   unzip apex_version.zip
   ```

   Une fois le fichier décompressé, un répertoire `apex` se trouve dans le répertoire `/home/apexuser`.

1. Pendant que vous êtes toujours connecté en `myapexhost.example.com` tant que`apexuser`, téléchargez le fichier Oracle REST Data Services depuis Oracle `/home/apexuser` dans votre répertoire : [http://www.oracle. com/technetwork/developer-tools/apex-listener/downloads/index.html](http://www.oracle.com/technetwork/developer-tools/apex-listener/downloads/index.html).

## Configuration du processus d'écoute Oracle APEX
<a name="Appendix.Oracle.Options.APEX.Listener"></a>

**Note**  
L'écouteur Oracle APEX est obsolète. 

Amazon RDS for Oracle continue à prendre en charge Oracle APEX version 4.1.1 et Oracle APEX Listener version 1.1.4. Nous vous recommandons d'utiliser les dernières versions prises en charge d'Oracle APEX et d'ORDS.

Installez l'écouteur Oracle APEX sur un hôte distinct, tel qu'une instance Amazon EC2, un serveur sur site de votre entreprise ou votre ordinateur de bureau. Nous partons du principe que le nom de votre hôte est `myapexhost.example.com` et qu'il exécute Linux.

### Préparation de l'installation d'un écouteur Oracle APEX
<a name="Appendix.Oracle.Options.APEX.Listener.preparing"></a>

Avant de pouvoir installer Oracle APEX Listener, vous devez créer un utilisateur du système d’exploitation non privilégié, puis télécharger et décompresser le fichier d’installation Oracle APEX.

**Pour préparer l'installation de l'écouteur Oracle APEX**

1. Connectez-vous à `myapexhost.example.com` en tant que `root`. 

1. Créez un utilisateur du système d'exploitation non privilégié qui sera propriétaire de l'installation de l'écouteur. La commande suivante crée un utilisateur nommé *apexuser*. 

   ```
   useradd -d /home/apexuser apexuser
   ```

   La commande suivante affecte un mot de passe au nouvel utilisateur. 

   ```
   passwd apexuser;
   ```

1. Connectez-vous à `myapexhost.example.com` en tant qu’`apexuser` et téléchargez le fichier d’installation d’Oracle APEX à partir d’Oracle dans le répertoire `/home/apexuser` : 
   + [http://www.oracle. com/technetwork/developer-tools/apex/downloads/index.html](http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html) 
   + [Archives de versions antérieures d'Oracle Application Express](http://www.oracle.com/technetwork/developer-tools/apex/downloads/all-archives-099381.html) 

1. Décompressez le fichier dans le répertoire `/home/apexuser`.

   ```
   unzip apex_<version>.zip                
   ```

   Une fois le fichier décompressé, un répertoire `apex` se trouve dans le répertoire `/home/apexuser`.

1. Pendant que vous êtes toujours connecté à `myapexhost.example.com` en tant que `apexuser`, téléchargez le fichier de l'écouteur Oracle APEX depuis Oracle vers votre répertoire `/home/apexuser`.

#### Installation et configuration de l'écouteur Oracle APEX
<a name="Appendix.Oracle.Options.APEX.Listener.installing"></a>

Avant de pouvoir utiliser Oracle APEX, vous devez télécharger le fichier `apex.war`, utiliser Java pour installer Oracle APEX Listener, puis démarrer l’écouteur.

**Pour installer et configurer l'écouteur Oracle APEX**

1. Créez un répertoire basé sur l'écouteur Oracle APEX et ouvrez le fichier de l'écouteur.

   Exécutez le code suivant :

   ```
   mkdir /home/apexuser/apexlistener
   cd /home/apexuser/apexlistener 
   unzip ../apex_listener.version.zip
   ```

1. Exécutez le code suivant.

   ```
   java -Dapex.home=./apex -Dapex.images=/home/apexuser/apex/images -Dapex.erase -jar ./apex.war
   ```

1. Entrez les informations suivantes à l'invitation du programme : 
   + Nom d'utilisateur de l'administrateur APEX Listener. Le paramètre par défaut est *adminlistener*. 
   + Un mot de passe pour l'administrateur APEX Listener. 
   + Nom d'utilisateur du gestionnaire APEX Listener. La valeur par défaut est *managerlistener*. 
   + Un mot de passe pour l'administrateur APEX Listener. 

   Le programme imprime une URL dont vous avez besoin pour terminer la configuration, comme ci-dessous.

   ```
   INFO: Please complete configuration at: http://localhost:8080/apex/listenerConfigure
   Database is not yet configured
   ```

1. Continuez à exécuter l'écouteur Oracle APEX pour pouvoir utiliser Oracle Application Express. Lorsque vous avez terminé la procédure de configuration, vous pouvez exécuter l'écouteur à l'arrière-plan. 

1. Depuis votre navigateur web, accédez à l’URL fournie par le programme Oracle APEX Listener. La fenêtre d'administration d'Oracle Application Express Listener s'affiche. Entrez les informations suivantes : 
   + **Nom d'utilisateur** – `APEX_PUBLIC_USER`
   + **Mot de passe** – le mot de passe pour *APEX\$1PUBLIC\$1USER*. Il s’agit du mot de passe que vous avez spécifié précédemment, lorsque vous avez configuré le référentiel Oracle APEX. Pour de plus amples informations, veuillez consulter [Déverrouillage du compte utilisateur public sur votre instance de base de données](#Appendix.Oracle.Options.APEX.PublicUser). 
   + **Type de connexion** – Basic 
   + **Nom d'hôte** – le point de terminaison de votre instance de base de données Amazon RDS, par exemple `mydb.f9rbfa893tft.us-east-1.rds.amazonaws.com`. 
   + **Port** – 1521
   + **SID** – le nom de la base de données sur votre instance de base de données Amazon RDS, tel que `mydb`. 

1. Choisissez **Apply**. La fenêtre d’administration Oracle APEX s’affiche. 

1. Définissez un mot de passe pour l’utilisateur `admin` Oracle APEX. Pour ce faire, utilisez SQL\$1Plus pour vous connecter à votre instance de base de données en tant qu'utilisateur principal, puis exécutez les commandes suivantes.

   ```
   1. EXEC rdsadmin.rdsadmin_util.grant_apex_admin_role;
   2. grant APEX_ADMINISTRATOR_ROLE to master;
   3. @/home/apexuser/apex/apxchpwd.sql
   ```

   Remplacez `master` par votre identifiant principal. Lorsque le script `apxchpwd.sql` vous y invite, entrez un nouveau mot de passe `admin`. 

1. Revenez à la fenêtre d’administration Oracle APEX de votre navigateur et choisissez **Administration**. Ensuite, choisissez **Application Express Internal Administration**. Lorsque vous êtes invité à saisir les informations d'identification, entrez les informations suivantes : 
   + **Nom d’utilisateur** : `admin` 
   + **Mot de passe** : mot de passe que vous avez défini en utilisant le script `apxchpwd.sql`. 

   Choisissez**Login**, puis définissez un nouveau mot de passe pour l'utilisateur `admin`. 

L'écouteur est maintenant prêt à être utilisé.

# Configuration d’Oracle Rest Data Services (ORDS)
<a name="Appendix.Oracle.Options.APEX.ORDSConf"></a>

La rubrique suivante répertorie les options de configuration pour ORDS 21 et 22 :

**Topics**
+ [

## Installation et configuration d’ORDS versions 21 et inférieures
](#Appendix.Oracle.Options.APEX.ORDS)
+ [

## Installation et configuration d’ORDS versions 22 et ultérieures
](#Appendix.Oracle.Options.APEX.ORDS22)

## Installation et configuration d’ORDS versions 21 et inférieures
<a name="Appendix.Oracle.Options.APEX.ORDS"></a>

Vous êtes maintenant prêt à installer et à configurer Oracle Rest Data Services (ORDS) pour une utilisation avec Oracle APEX. Pour Oracle APEX versions 5.0 et ultérieures, utilisez ORDS versions 19.1 à 21. Pour savoir comment installer ORDS versions 22 et ultérieures, consultez [Installation et configuration d’ORDS versions 22 et ultérieures](#Appendix.Oracle.Options.APEX.ORDS22).

Installez l'écouteur sur un hôte distinct : une instance Amazon EC2, un serveur sur site de votre entreprise ou votre ordinateur de bureau. Pour les exemples de cette section, nous supposons que le nom de votre hôte est `myapexhost.example.com`, et que votre hôte exécute Linux.

**Pour installer et configurer ORDS versions 21 et inférieures en vue d’une utilisation avec Oracle APEX**

1. Accédez aux [services de données Oracle REST](https://www.oracle.com/database/technologies/appdev/rest-data-services-downloads-212.html) et examinez le fichier Readme. Vérifiez que vous avez la version requise de Java installée.

1. Créez un nouveau répertoire pour votre installation ORDS.

   ```
   mkdir /home/apexuser/ORDS
   cd /home/apexuser/ORDS
   ```

1. Téléchargez le fichier `ords.version.number.zip` à partir de [Oracle REST data services](https://www.oracle.com/database/technologies/appdev/rest-data-services-downloads-212.html).

1. Décompressez le fichier dans le répertoire `/home/apexuser/ORDS`.

1. Si vous installez ORDS dans une base de données multi-locataires, ajoutez la ligne suivante au fichier `/home/apexuser/ORDS/params/ords_params.properties` :

   ```
   pdb.disable.lockdown=false
   ```

1. Accordez à l'utilisateur principal les privilèges nécessaires à l'installation d'ORDS.

   Une fois les options pour Oracle APEX installées, octroyez à l’utilisateur principal les privilèges nécessaires à l’installation du schéma ORDS. Pour ce faire, connectez-vous à la base de données et exécutez les commandes suivantes. Remplacez `MASTER_USER` par le nom en majuscules de votre utilisateur principal.
**Important**  
Lorsque vous entrez le nom d'utilisateur, utilisez des majuscules, sauf si vous avez créé l'utilisateur avec un identifiant sensible à la casse. Par exemple, si vous exécutez `CREATE USER myuser` ou `CREATE USER MYUSER`, le dictionnaire de données stocke `MYUSER`. Toutefois, si vous utilisez des guillemets doubles dans `CREATE USER "MyUser"`, le dictionnaire de données stocke `MyUser`. Pour plus d'informations, consultez [Octroi des privilèges SELECT ou EXECUTE aux objets SYS](Appendix.Oracle.CommonDBATasks.TransferPrivileges.md).

   ```
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_OBJECTS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_ROLE_PRIVS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_TAB_COLUMNS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_CONS_COLUMNS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_CONSTRAINTS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_OBJECTS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_PROCEDURES', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_TAB_COLUMNS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_TABLES', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_VIEWS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('WPIUTL', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_SESSION', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_UTILITY', 'MASTER_USER', 'EXECUTE', true);
   ```
**Note**  
Ces commandes s'appliquent à ORDS versions 19.1 et ultérieures.

1. Installez le schéma ORDS à l'aide du fichier téléchargé ords.war.

   ```
   java -jar ords.war install advanced
   ```

   Le programme vous demande les informations suivantes. Les valeurs par défaut sont placées entre crochets. Pour de plus amples informations, veuillez consulter [Introduction to Oracle REST Data Services](https://docs.oracle.com/en/database/oracle/oracle-rest-data-services/20.2/aelig/installing-REST-data-services.html#GUID-6F7B4E61-B730-4E73-80B8-F53299123730) dans la documentation Oracle.
   + Entrez l'emplacement de stockage des données de configuration :

     Saisissez */home/apexuser/ORDS*. Il s'agit de l'emplacement des fichiers de configuration ORDS.
   + Spécifiez le type de connexion à la base de données à utiliser. Entrez le numéro pour [1] Basic [2] TNS [3] Custom URL [1] :

     Choisissez le type de connexion souhaité.
   + Entrez le nom du serveur de base de données [localhost] : *DB\$1instance\$1endpoint*

     Choisissez la valeur par défaut ou entrez la valeur correcte.
   + Entrez le port de l'écouteur de base de données [1521] : *DB\$1instance\$1port*

     Choisissez la valeur par défaut ou entrez la valeur correcte.
   + Entrez 1 pour spécifier le nom du service de base de données ou 2 pour spécifier le SID de base de données [1] :

     Choisissez `2` pour spécifier le SID de la base de données. 
   + SID de base de données [xe]

     Choisissez la valeur par défaut ou entrez la valeur correcte.
   + Entrez 1 si vous souhaitez utiliser le schéma verify/install Oracle REST Data Services ou 2 pour ignorer cette étape [1] :

     Choisissez `1`. Cette étape crée l'utilisateur proxy Oracle REST Data Services nommé ORDS\$1PUBLIC\$1USER.
   + Entrez le mot de passe de base de données pour ORDS\$1PUBLIC\$1USER :

     Entrez le mot de passe, puis confirmez-le.
   + Nécessite une connexion avec des privilèges d'administrateur pour vérifier le schéma Oracle REST Data Services.

     Entrez le nom d'utilisateur de l'administrateur : *master\$1user*

     Entrez le mot de passe de base de données pour *master\$1user* : *master\$1user\$1password*

     Confirmez le mot de passe : *master\$1user\$1password*
**Note**  
Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.
   + Entrez l'espace de table par défaut pour ORDS\$1METADATA [SYSAUX].

     Entrez l'espace de table temporaire pour ORDS\$1METADATA [TEMP].

     Entrez l'espace de table par défaut pour ORDS\$1PUBLIC\$1USER [USERS].

     Entrez l'espace de table temporaire pour ORDS\$1PUBLIC\$1USER [TEMP].
   + Entrez 1 si vous souhaitez utiliser PL/SQL Gateway ou 2 pour ignorer cette étape. Si vous utilisez Oracle Application Express ou migrez à partir de mod\$1plsql, vous devez entrer 1 [1].

     Choisissez la valeur par défaut.
   + Entrez le nom d'utilisateur de la base de données PL/SQL Gateway [APEX\$1PUBLIC\$1USER]

     Choisissez la valeur par défaut.
   + Entrez le mot de passe de base de données pour APEX\$1PUBLIC\$1USER :

     Entrez le mot de passe, puis confirmez-le.
   + Entrez 1 pour spécifier les mots de passe des utilisateurs de la base de données Application Express RESTful Services (APEX\$1LISTENER, APEX\$1REST\$1PUBLIC\$1USER) ou 2 pour ignorer cette étape [1] :

     Choisissez `2` pour APEX 4.1.1.V1 ou `1` pour toutes les autres versions d'APEX.
   + [Non nécessaire pour APEX 4.1.1.v1] Mot de passe de base de données pour APEX\$1LISTENER

     Entrez le mot de passe (si nécessaire), puis confirmez-le.
   + [Non nécessaire pour APEX 4.1.1.v1] Mot de passe de base de données pour APEX\$1REST\$1PUBLIC\$1USER

     Entrez le mot de passe (si nécessaire), puis confirmez-le.
   + Entrez un nombre pour sélectionner une fonction à activer :

     Entrez `1` pour activer toutes les fonctions : SQL Developer Web, REST Enabled SQL et Database API.
   + Entrez 1 si vous souhaitez démarrer en mode autonome ou 2 pour quitter [1] :

     Saisissez `1`.
   + Entrez l'emplacement des ressources statiques APEX :

     Si vous avez décompressé les fichiers d'installation APEX dans `/home/apexuser`, entrez `/home/apexuser/apex/images`. Sinon`unzip_path/apex/images`, entrez où se *unzip\$1path* trouve le répertoire dans lequel vous avez décompressé le fichier.
   + Entrez 1 si vous utilisez HTTP ou 2 si vous utilisez HTTPS [1] :

     Si vous entrez `1`, spécifiez le port HTTP. Si vous entrez `2`, spécifiez le port HTTPS et le nom d'hôte SSL. L'option HTTPS vous invite à spécifier comment vous fournirez le certificat :
     + Entrez `1` pour utiliser le certificat auto-signé.
     + Entrez `2` pour fournir votre propre certificat. Si vous entrez `2`, spécifiez le chemin d'accès du certificat SSL et le chemin d'accès de la clé privée du certificat SSL.

1. Définissez un mot de passe pour l'utilisateur `admin` APEX. Pour ce faire, utilisez SQL\$1Plus pour vous connecter à votre instance de base de données en tant qu'utilisateur principal, puis exécutez les commandes suivantes.

   ```
   1. EXEC rdsadmin.rdsadmin_util.grant_apex_admin_role;
   2. grant APEX_ADMINISTRATOR_ROLE to master;
   3. @/home/apexuser/apex/apxchpwd.sql
   ```

   Remplacez `master` par votre identifiant principal. Lorsque le script `apxchpwd.sql` vous y invite, entrez un nouveau mot de passe `admin`. 

1. Démarrez l'écouteur ORDS. Exécutez le code suivant.

   ```
   java -jar ords.war
   ```

   La première fois que vous démarrez ORDS, vous devez fournir l'emplacement des ressources statiques APEX. Ce dossier d'images se trouve dans le répertoire `/apex/images` du répertoire d'installation d'APEX. 

1. Revenez à la fenêtre d’administration Oracle APEX de votre navigateur et choisissez **Administration**. Ensuite, choisissez **Application Express Internal Administration**. Lorsque vous êtes invité à saisir les informations d'identification, entrez les informations suivantes : 
   + **Nom d’utilisateur** : `admin` 
   + **Mot de passe** : mot de passe que vous avez défini en utilisant le script `apxchpwd.sql`. 

   Choisissez**Login**, puis définissez un nouveau mot de passe pour l'utilisateur `admin`. 

L'écouteur est maintenant prêt à être utilisé.

## Installation et configuration d’ORDS versions 22 et ultérieures
<a name="Appendix.Oracle.Options.APEX.ORDS22"></a>

Vous êtes maintenant prêt à installer et à configurer Oracle Rest Data Services (ORDS) pour une utilisation avec Oracle APEX. Pour les exemples de cette section, nous supposons que le nom de votre hôte est `myapexhost.example.com`, et que votre hôte exécute Linux. Les instructions relatives à ORDS 22 sont différentes de celles des versions précédentes.

**Pour installer et configurer ORDS versions 22 et ultérieures en vue d’une utilisation avec Oracle APEX**

1. Accédez à [Services de données Oracle REST](http://www.oracle.com/technetwork/developer-tools/rest-data-services/downloads/index.html) et examinez le fichier Readme correspondant à la version ORDS que vous prévoyez de télécharger. Vérifiez que vous avez la version requise de Java installée.

1. Créez un nouveau répertoire pour votre installation ORDS.

   ```
   mkdir /home/apexuser/ORDS
   cd /home/apexuser/ORDS
   ```

1. Téléchargez le fichier `ords.version.number.zip` ou `ords-latest.zip` à partir de [Services de données Oracle REST](http://www.oracle.com/technetwork/developer-tools/rest-data-services/downloads/index.html).

1. Décompressez le fichier dans le répertoire `/home/apexuser/ORDS`.

1. Accordez à l'utilisateur principal les privilèges nécessaires à l'installation d'ORDS.

   Une fois l’option `APEX` installée, octroyez à l’utilisateur principal les privilèges nécessaires à l’installation du schéma ORDS. Pour ce faire, connectez-vous à la base de données et exécutez les commandes suivantes. Remplacez `MASTER_USER` par le nom en majuscules de votre utilisateur principal.
**Important**  
Lorsque vous entrez le nom d'utilisateur, utilisez des majuscules, sauf si vous avez créé l'utilisateur avec un identifiant sensible à la casse. Par exemple, si vous exécutez `CREATE USER myuser` ou `CREATE USER MYUSER`, le dictionnaire de données stocke `MYUSER`. Toutefois, si vous utilisez des guillemets doubles dans `CREATE USER "MyUser"`, le dictionnaire de données stocke `MyUser`. Pour de plus amples informations, veuillez consulter [Octroi des privilèges SELECT ou EXECUTE aux objets SYS](Appendix.Oracle.CommonDBATasks.TransferPrivileges.md).

   ```
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_OBJECTS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_ROLE_PRIVS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_TAB_COLUMNS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_CONS_COLUMNS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_CONSTRAINTS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_OBJECTS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_PROCEDURES', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_TAB_COLUMNS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_TABLES', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('USER_VIEWS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('WPIUTL', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_SESSION', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_UTILITY', 'MASTER_USER', 'EXECUTE', true);
   
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_LOB', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_ASSERT', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_OUTPUT', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_SCHEDULER', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('HTP', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('OWA', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('WPG_DOCLOAD', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_CRYPTO', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_METADATA', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_SQL', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('UTL_SMTP', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_NETWORK_ACL_ADMIN', 'MASTER_USER', 'EXECUTE', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('SESSION_PRIVS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_USERS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_NETWORK_ACL_PRIVILEGES', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_NETWORK_ACLS', 'MASTER_USER', 'SELECT', true);
   exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_REGISTRY', 'MASTER_USER', 'SELECT', true);
   ```
**Note**  
Les commandes précédentes s’appliquent à ORDS versions 22 et ultérieures.

1. Installez le schéma ORDS à l’aide du script `ords` téléchargé. Spécifiez les répertoires qui contiendront les fichiers de configuration et les fichiers journaux. Oracle Corporation recommande de ne pas placer ces répertoires dans le répertoire qui contient le logiciel du produit ORDS.

   ```
   mkdir -p /home/apexuser/ords_config /home/apexuser/ords_logs
   
   /home/apexuser/ORDS/bin/ords \
     --config /home/apexuser/ords_config \
     install --interactive --log-folder /home/apexuser/ords_logs
   ```

   Pour les instances de base de données exécutant l’architecture de base de données de conteneurs (CDB), utilisez ORDS version 23.3 ou supérieure et transmettez l’argument `--pdb-skip-disable-lockdown` lors de l’installation d’ORDS.

   ```
   /home/apexuser/ORDS/bin/ords \
     --config /home/apexuser/ords_config \
     install --interactive --log-folder /home/apexuser/ords_logs --pdb-skip-disable-lockdown
   ```

   Le programme vous demande les informations suivantes. Les valeurs par défaut sont placées entre crochets. Pour de plus amples informations, veuillez consulter [Introduction to Oracle REST Data Services](https://docs.oracle.com/en/database/oracle/oracle-rest-data-services/20.2/aelig/installing-REST-data-services.html#GUID-6F7B4E61-B730-4E73-80B8-F53299123730) dans la documentation Oracle.
   + `Choose the type of installation:`

     Choisissez **2** pour installer les schémas ORDS dans la base de données et de créer un groupe de connexions à la base de données dans les fichiers de configuration ORDS locaux.
   + `Specify the database connection type to use. Enter number for [1] Basic [2] TNS [3] Custom URL:`

     Choisissez le type de connexion souhaité. Cet exemple part du principe que vous choisissez **1**.
   + `Enter the name of the database server [localhost]:` ***DB\$1instance\$1endpoint***

     Choisissez la valeur par défaut ou entrez la valeur correcte.
   + `Enter the database listener port [1521]:` ***DB\$1instance\$1port***

     Choisissez la valeur par défaut **1521** ou entrez la valeur correcte.
   + `Enter the database service name [orcl]:`

     Entrez le nom de base de données utilisé par votre instance de base de données RDS for Oracle.
   + `Provide database user name with administrator privileges`

      Entrez le nom d’utilisateur principal pour votre instance de base de données RDS for Oracle.
   + `Enter the database password for [username]:`

     Entrez le mot de passe d’utilisateur principal pour votre instance de base de données RDS for Oracle.
   + `Enter the default tablespace for ORDS_METADATA and ORDS_PUBLIC_USER [SYSAUX]:`
   + `Enter the temporary tablespace for ORDS_METADATA [TEMP]. Enter the default tablespace for ORDS_PUBLIC_USER [USERS]. Enter the temporary tablespace for ORDS_PUBLIC_USER [TEMP].`
   + `Enter a number to select additional feature(s) to enable [1]:`
   + `Enter a number to configure and start ORDS in standalone mode [1]: `

      Choisissez **2** pour ne pas démarrer ORDS immédiatement en mode autonome.
   + `Enter a number to select the protocol [1] HTTP`
   + `Enter the HTTP port [8080]:`
   + `Enter the APEX static resources location:`

     Entrez le chemin d’accès aux fichiers d’installation d’Oracle APEX (`/home/apexuser/apex/images`).

1. Définissez un mot de passe pour l’utilisateur `admin` Oracle APEX. Pour ce faire, utilisez SQL\$1Plus pour vous connecter à votre instance de base de données en tant qu'utilisateur principal, puis exécutez les commandes suivantes.

   ```
   1. EXEC rdsadmin.rdsadmin_util.grant_apex_admin_role;
   2. grant APEX_ADMINISTRATOR_ROLE to master;
   3. @/home/apexuser/apex/apxchpwd.sql
   ```

   Remplacez `master` par votre identifiant principal. Lorsque le script `apxchpwd.sql` vous y invite, entrez un nouveau mot de passe `admin`. 

1. Exécutez ORDS en mode autonome à l’aide du script `ords` associé à la commande `serve`. Pour les déploiements de production, pensez à utiliser des serveurs d'applications Java EE compatibles tels qu'Apache Tomcat ou Oracle WebLogic Server. Pour plus d’informations, consultez [Deploying and Monitoring Oracle REST Data Services](https://docs.oracle.com/en/database/oracle/oracle-rest-data-services/23.1/ordig/deploying-and-monitoring-oracle-rest-data-services.html#GUID-6791F5DF-AC67-4885-BFFA-B80964C17EC9) dans la documentation Oracle Database.

   ```
   /home/apexuser/ORDS/bin/ords \
     --config /home/apexuser/ords_config serve \
     --port 8193 \
     --apex-images /home/apexuser/apex/images
   ```

   Si ORDS est en cours d’exécution mais ne parvient pas à accéder à l’installation d’Oracle APEX, l’erreur suivante peut s’afficher, en particulier sur les instances non CDB. 

   ```
   The procedure named apex_admin could not be accessed, it may not be declared, or the user executing this request may not have been granted execute privilege on the procedure, or a function specified by security.requestValidationFunction configuration property has prevented access.
   ```

   Pour corriger cette erreur, modifiez la fonction de validation des demandes utilisée par ORDS en exécutant le script `ords` avec la commande `config`. Par défaut, ORDS utilise la procédure `ords_util.authorize_plsql_gateway`, qui n’est prise en charge que sur les instances CDB. Pour les instances non CDB, vous pouvez modifier cette procédure pour le package `wwv_flow_epg_include_modules.authorize`. Consultez la documentation de la base de données Oracle et le support Oracle pour connaître les meilleures pratiques relatives à la configuration de la fonction de validation des demandes adaptée à votre cas d’utilisation.

1. Revenez à la fenêtre d’administration Oracle APEX de votre navigateur et choisissez **Administration**. Ensuite, choisissez **Application Express Internal Administration**. Lorsque vous êtes invité à saisir les informations d'identification, entrez les informations suivantes : 
   + **Nom d’utilisateur** : `admin` 
   + **Mot de passe** : mot de passe que vous avez défini en utilisant le script `apxchpwd.sql`. 

   Choisissez**Login**, puis définissez un nouveau mot de passe pour l'utilisateur `admin`. 

L'écouteur est maintenant prêt à être utilisé.

# Mise à niveau et suppression d’Oracle APEX
<a name="Appendix.Oracle.Options.APEX.UpgradeandRemove"></a>

Pour mettre à niveau ou supprimer Oracle APEX, suivez les instructions de cette rubrique :

**Topics**
+ [

## Mise à niveau de la version d’Oracle APEX
](#Appendix.Oracle.Options.APEX.Upgrade)
+ [

## Suppression des options APEX et APEX-DEV
](#Appendix.Oracle.Options.APEX.Remove)

## Mise à niveau de la version d’Oracle APEX
<a name="Appendix.Oracle.Options.APEX.Upgrade"></a>

**Important**  
Faites une sauvegarde de votre instance de base de données avant de mettre à niveau Oracle APEX. Pour plus d’informations, consultez [Création d’un instantané de base de données pour une instance de base de données mono-AZ pour Amazon RDS](USER_CreateSnapshot.md) et [Test d'une mise à niveau de base de données Oracle](USER_UpgradeDBInstance.Oracle.UpgradeTesting.md). 

Pour mettre à niveau Oracle APEX et votre instance de base de données, procédez comme suit : 
+ Créez un nouveau groupe d'options pour la version mise à niveau de votre instance de base de données. 
+ Ajoutez les versions mises à niveau d’`APEX` et d’`APEX-DEV` au nouveau groupe d’options. Assurez-vous d'ajouter toutes les autres options utilisées par votre instance de base de données. Pour plus d'informations, consultez [Considérations relatives au groupe d'options](USER_UpgradeDBInstance.Oracle.OGPG.md#USER_UpgradeDBInstance.Oracle.OGPG.OG). 
+ Lorsque vous mettez à niveau votre instance de base de données, spécifiez le nouveau groupe d'options pour l'instance de base de données mise à niveau. 

Une fois la mise à niveau de votre version d’Oracle APEX terminée, il est possible que le schéma Oracle APEX de la version précédente existe toujours dans votre base de données. Si vous n’en avez plus besoin, vous pouvez supprimer l’ancien schéma Oracle APEX de votre base de données après avoir procédé à la mise à niveau. 

Si vous mettez à niveau la version d'Oracle APEX et que les RESTful services n'étaient pas configurés dans la version précédente d'Oracle APEX, nous vous recommandons de configurer les RESTful services. Pour de plus amples informations, veuillez consulter [Configuration des RESTful services pour Oracle APEX](Appendix.Oracle.Options.APEX.settingUp.md#Appendix.Oracle.Options.APEX.ConfigureRESTful).

Dans certains cas, lorsque vous planifiez d’effectuer une mise à niveau de version majeure de votre instance de base de données, vous pouvez vous rendre compte que vous utilisez une version d’Oracle APEX qui n’est pas compatible avec votre version de base de données cible. Dans ce cas, vous pouvez mettre à niveau votre version d’Oracle APEX avant de mettre à niveau votre instance de base de données. La mise à niveau préalable d’Oracle APEX permet de réduire le temps nécessaire à la mise à niveau de votre instance de base de données. 

**Note**  
Après avoir mis à niveau Oracle APEX, installez et configurez un écouteur à utiliser avec la version mise à niveau. Pour obtenir des instructions, veuillez consulter [Configuration du processus d'écoute Oracle APEX](Appendix.Oracle.Options.APEX.settingUp.md#Appendix.Oracle.Options.APEX.Listener).

## Suppression des options APEX et APEX-DEV
<a name="Appendix.Oracle.Options.APEX.Remove"></a>

Vous pouvez supprimer les options `APEX` et `APEX-DEV` d’une instance de base de données. Pour supprimer ces options d’une instance de base de données, effectuez l’une des actions suivantes : 
+ Pour supprimer les options `APEX` et `APEX-DEV` de plusieurs instances de base de données, supprimez les options du groupe d’options auquel elles appartiennent. Ce changement affecte toutes les instances de bases de données qui utilisent le groupe d’options. Lorsque vous supprimez les options d’un groupe d’options qui est attaché à plusieurs instances de base de données, une brève interruption de service a lieu pendant le redémarrage des instances de base de données. 

  Pour de plus amples informations, veuillez consulter [Suppression d’une option d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption). 
+ Pour supprimer les options `APEX` et `APEX-DEV` d’une instance de base de données particulière, modifiez l’instance et spécifiez un autre groupe d’options qui n’inclut pas ces options. Vous pouvez spécifier le groupe d’options (vide) par défaut, ou un groupe d’options personnalisées différent. Lorsque vous supprimez les options, une brève interruption de service se produit pendant le redémarrage automatique de votre instance de base de données. 

  Pour de plus amples informations, veuillez consulter [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

Lorsque vous supprimez les options `APEX` et `APEX-DEV` d’une instance de base de données, le schéma APEX est supprimé de votre base de données. 

# Intégration Amazon EFS
<a name="oracle-efs-integration"></a>

Amazon Elastic File System (Amazon EFS) fournit un stockage de fichiers entièrement élastique sans serveur pour vous permettre de partager des données de fichiers sans provisionner ni gérer la capacité et les performances de stockage. Avec Amazon EFS, vous pouvez créer un système de fichiers, puis le monter dans votre VPC via le protocole NFS versions 4.0 et 4.1 ()NFSv4. Vous pouvez ensuite utiliser le système de fichiers EFS comme n'importe quel autre système de fichiers compatible POSIX. Pour des informations générales, consultez [Qu'est-ce qu'Amazon Elastic File System ?](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) et le blog  AWS [Intégrer Amazon RDS for Oracle à Amazon EFS](https://aws.amazon.com//blogs/database/integrate-amazon-rds-for-oracle-with-amazon-efs/) (langue française non garantie).

**Topics**
+ [

## Présentation de l'intégration d'Amazon EFS
](#oracle-efs-integration.overview)
+ [

# Configuration des autorisations de réseau pour l'intégration de RDS for Oracle avec Amazon EFS
](oracle-efs-integration.network.md)
+ [

# Configuration des autorisations IAM pour l'intégration de RDS for Oracle avec Amazon EFS
](oracle-efs-integration.iam.md)
+ [

# Ajout de l'option EFS\$1INTEGRATION
](oracle-efs-integration.adding.md)
+ [

# Configuration des autorisations du système de fichiers Amazon EFS
](oracle-efs-integration.file-system.md)
+ [

# Transfert de fichiers entre RDS for Oracle et un système de fichiers Amazon EFS
](oracle-efs-integration.transferring.md)
+ [

# Suppression de l'option EFS\$1INTEGRATION
](oracle-efs-integration.removing.md)
+ [

# Résolution des problèmes d'intégration Amazon EFS
](oracle-efs-integration.troubleshooting.md)

## Présentation de l'intégration d'Amazon EFS
<a name="oracle-efs-integration.overview"></a>

Avec Amazon EFS, vous pouvez transférer des fichiers entre votre instance de base de données RDS for Oracle et un système de fichiers EFS. Par exemple, vous pouvez utiliser EFS pour prendre en charge les cas d'utilisation suivants :
+ Partagez un système de fichiers entre des applications et plusieurs serveurs de base de données.
+ Créez un répertoire partagé pour les fichiers liés à la migration, y compris les fichiers de données d'espace de table transportable. Pour de plus amples informations, veuillez consulter [Migration à l'aide des espaces de table transportables Oracle](oracle-migrating-tts.md).
+ Stockez et partagez les fichiers journaux redo sans allouer d'espace de stockage supplémentaire sur le serveur.
+ Utilisez les utilitaires Oracle Database, tels que `UTL_FILE` pour lire et écrire des fichiers.

### Avantages de l'intégration à Amazon EFS
<a name="oracle-efs-integration.overview.advantages"></a>

Lorsque vous choisissez un système de fichiers EFS plutôt que d'autres solutions de transfert de données, vous bénéficiez des avantages suivants :
+ Vous pouvez transférer les fichiers Oracle Data Pump entre Amazon EFS et votre instance de base de données RDS for Oracle. Il n'est pas nécessaire de copier ces fichiers localement car Data Pump importe directement depuis le système de fichiers EFS. Pour de plus amples informations, veuillez consulter [Importation de données dans Oracle sur Amazon RDS](Oracle.Procedural.Importing.md).
+ La migration des données est plus rapide que l'utilisation d'un lien de base de données.
+ Vous évitez d'allouer de l'espace de stockage sur votre instance de base de données RDS for Oracle pour stocker les fichiers.
+ Un système de fichiers EFS peut mettre à l'échelle automatiquement le stockage sans que vous deviez le provisionner.
+ L'intégration d'Amazon EFS ne comporte aucun frais minimum ni aucun coût de configuration. Vous ne payez que ce que vous utilisez.
+ L’intégration Amazon EFS prend en charge deux formes de chiffrement : le chiffrement des données en transit et le chiffrement des données au repos. Le chiffrement des données en transit est activé par défaut avec TLS version 1.2. Vous pouvez activer le chiffrement des données au repos lors de la création du système de fichiers Amazon EFS. Pour plus d’informations, consultez [Chiffrement des données au repos](https://docs.aws.amazon.com/efs/latest/ug/encryption-at-rest.html) dans le *guide de l’utilisateur Amazon Elastic File System*.

### Exigences relatives à l'intégration d'Amazon EFS
<a name="oracle-efs-integration.overview.requirements"></a>

Veillez à respecter les exigences suivantes :
+ Votre base de données doit exécuter la version de base de données 19.0.0.0.ru-2022-07.rur-2022-07.r1 ou ultérieure.
+ Votre instance de base de données et votre système de fichiers EFS doivent se trouver dans Région AWS le même VPC et. Compte AWS RDS for Oracle ne prend pas en charge l’accès entre comptes et entre régions pour EFS.
+ La **résolution DNS** et les **noms d’hôte DNS** doivent être activés pour votre VPC. Pour plus d'informations, consultez [Attributs DNS dans votre VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support) dans le *Guide de l'utilisateur Amazon Virtual Private Cloud*.
+ Si vous utilisez un nom DNS dans la commande `mount`, assurez-vous que votre VPC est configuré pour utiliser le serveur DNS fourni par Amazon. Les serveurs DNS personnalisés ne sont pas pris en charge.
+ Vous devez utiliser des solutions autres que RDS pour sauvegarder votre système de fichiers EFS. RDS for Oracle ne prend pas en charge les sauvegardes automatisées ni les instantanés de base de données manuels d'un système de fichiers EFS. Pour plus d'informations, consultez [Backing up your Amazon EFS file systems](https://docs.aws.amazon.com/efs/latest/ug/efs-backup-solutions.html) (Sauvegarde de vos systèmes de fichiers Amazon EFS).

# Configuration des autorisations de réseau pour l'intégration de RDS for Oracle avec Amazon EFS
<a name="oracle-efs-integration.network"></a>

Pour que RDS for Oracle s'intègre avec Amazon EFS, veillez à ce que votre instance de base de données dispose d'un accès réseau à un système de fichiers EFS. Pour plus d'informations, consultez [Controlling network access to Amazon EFS file systems for NFS clients](https://docs.aws.amazon.com/efs/latest/ug/NFS-access-control-efs.html) (Contrôle de l'accès réseau aux systèmes de fichiers Amazon EFS pour les clients NFS) dans le *Guide de l'utilisateur Amazon Elastic File System*.

**Topics**
+ [

## Contrôle de l'accès réseau avec les groupes de sécurité
](#oracle-efs-integration.network.inst-access)
+ [

## Contrôle de l'accès réseau avec des politiques de système de fichiers
](#oracle-efs-integration.network.file-system-policy)

## Contrôle de l'accès réseau avec les groupes de sécurité
<a name="oracle-efs-integration.network.inst-access"></a>

Vous pouvez contrôler l'accès de votre instance de base de données aux systèmes de fichiers EFS à l'aide de mécanismes de sécurité de la couche réseau tels que les groupes de sécurité VPC. Pour autoriser l'accès à un système de fichiers EFS pour votre instance de base de données, veillez à ce que votre système de fichiers EFS réponde aux exigences suivantes :
+ Une cible de montage EFS existe dans chaque zone de disponibilité utilisée par une instance de base de données RDS for Oracle.

  Une *cible de montage EFS* fournit l'adresse IP d'un NFSv4 point de terminaison sur lequel vous pouvez monter un système de fichiers EFS. Vous montez votre système de fichiers à l'aide de son nom DNS qui se résout en l'adresse IP de la cible de montage EFS utilisée par la zone de disponibilité de votre instance de base de données. 

  Vous pouvez configurer les instances de base de données différemment AZs pour utiliser le même système de fichiers EFS. Pour multi-AZ, vous avez besoin d'un point de montage pour chaque zone de disponibilité de votre déploiement. Vous pouvez avoir besoin de déplacer une instance de base de données vers une autre zone de disponibilité. Par conséquent, nous vous recommandons de créer des points de montage EFS dans chaque zone de disponibilité dans votre VPC. Par défaut, lorsque vous créez un nouveau système de fichiers EFS à l'aide de la console, RDS crée des cibles de montage pour tous AZs.
+ Un groupe de sécurité est attaché à la cible de montage.
+ Le groupe de sécurité possède une règle entrante qui autorise le sous-réseau ou le groupe de sécurité de l'instance de base de données RDS for Oracle sur TCP/2049 (type NFS).

Pour plus d'informations, consultez [Creating Amazon EFS file systems](https://docs.aws.amazon.com/efs/latest/ug/creating-using-create-fs.html#configure-efs-network-access) (Création de systèmes de fichiers Amazon EFS) et [Creating and managing EFS mount targets and security groups](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html) (Création et gestion de cibles de montage et de groupes de sécurité EFS) dans le *Guide de l'utilisateur Amazon Elastic File System*.

## Contrôle de l'accès réseau avec des politiques de système de fichiers
<a name="oracle-efs-integration.network.file-system-policy"></a>

L'intégration d'Amazon EFS avec RDS for Oracle fonctionne avec la politique de système de fichiers EFS par défaut (vide). La politique par défaut n'utilise pas IAM pour s'authentifier. À la place, elle accorde un accès complet à tout client anonyme pouvant se connecter au système de fichiers à l'aide d'une cible de montage. La politique par défaut est en vigueur quand aucune politique de système de fichiers configurée par l'utilisateur n'est en vigueur, y compris au moment de la création du système de fichiers. Pour plus d'informations, consultez [Default EFS file system policy](https://docs.aws.amazon.com/efs/latest/ug/iam-access-control-nfs-efs.html#default-filesystempolicy) (Politique de système de fichiers EFS par défaut) dans le *Guide de l'utilisateur Amazon Elastic File System*.

Pour renforcer l'accès à votre système de fichiers EFS pour tous les clients, y compris RDS for Oracle, vous pouvez configurer les autorisations IAM. Dans cette approche, vous créez une politique de système de fichiers. Pour plus d'informations, consultez [Creating file system policies](https://docs.aws.amazon.com/efs/latest/ug/create-file-system-policy.html) (Création de politiques de système de fichiers) dans le *Guide de l'utilisateur Amazon Elastic File System*.

# Configuration des autorisations IAM pour l'intégration de RDS for Oracle avec Amazon EFS
<a name="oracle-efs-integration.iam"></a>

Par défaut, la fonctionnalité d’intégration Amazon EFS n’utilise pas de rôle IAM : le paramètre de l’option `USE_IAM_ROLE` est `FALSE`. Pour intégrer RDS for Oracle avec Amazon EFS et un rôle IAM, votre instance de base de données doit avoir des autorisations IAM pour accéder à un système de fichiers Amazon EFS.

**Topics**
+ [

## Étape 1 : créer un rôle IAM pour votre instance de base de données et attacher votre politique
](#oracle-efs-integration.iam.role)
+ [

## Étape 2 : créer une politique de système de fichiers pour votre système de fichiers Amazon EFS
](#oracle-efs-integration.iam.policy)
+ [

## Étape 3 : associer votre rôle IAM à votre instance de base de données RDS for Oracle.
](#oracle-efs-integration.iam.instance)

## Étape 1 : créer un rôle IAM pour votre instance de base de données et attacher votre politique
<a name="oracle-efs-integration.iam.role"></a>

Dans cette étape, vous créez un rôle pour votre instance de base de données RDS for Oracle afin d'autoriser Amazon RDS à accéder à votre système de fichiers EFS.

### Console
<a name="oracle-efs-integration.iam.role.console"></a>

**Pour créer un rôle IAM afin d'autoriser Amazon RDS à accéder à un système de fichiers EFS**

1. Ouvrez [IAM Management Console](https://console.aws.amazon.com/iam/home?#home).

1. Dans le panneau de navigation, choisissez **Rôles**.

1. Sélectionnez **Create role** (Créer un rôle).

1. Pour **AWS Service**, choisissez **RDS**.

1. Pour **Sélectionner votre cas d'utilisation**, choisissez **RDS – Ajouter un rôle à la base de données**.

1. Choisissez **Suivant**.

1. N'ajoutez aucune politique d'autorisation. Choisissez **Suivant**.

1. Dans**Nom du rôle**, attribuez un nom à votre rôle IAM, par exemple, `rds-efs-integration-role`. Vous pouvez également ajouter une valeur **Description** facultative.

1. Choisissez **Créer un rôle**.

### AWS CLI
<a name="integration.preparing.role.CLI"></a>

Pour limiter les autorisations du service à une ressource spécifique, nous vous recommandons d'utiliser les clés de contexte de condition globale [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) et [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) dans des relations d'approbation basées sur les ressources. C’est le moyen le plus efficace de se protéger contre le [problème du député confus](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html).

Vous pouvez utiliser les deux clés de contexte de condition globale et faire en sorte que la valeur `aws:SourceArn` contienne l'ID de compte. Dans ce cas, la valeur `aws:SourceAccount` et le compte dans la valeur `aws:SourceArn` doivent utiliser le même ID de compte lorsqu'ils sont utilisés dans la même instruction.
+ Utilisez `aws:SourceArn` si vous souhaitez un accès interservices pour une seule ressource.
+ Utilisez `aws:SourceAccount` si vous souhaitez autoriser une ressource de ce compte à être associée à l’utilisation interservices.

Dans la relation d'approbation, assurez-vous d'utiliser la clé de contexte de condition globale `aws:SourceArn` avec l'Amazon Resource Name (ARN) complet des ressources qui accèdent au rôle.

La AWS CLI commande suivante crée le rôle nommé `rds-efs-integration-role` à cet effet.

**Example**  
Pour Linux, macOS ou Unix :  

```
aws iam create-role \
   --role-name rds-efs-integration-role \
   --assume-role-policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
            "Service": "rds.amazonaws.com"
          },
         "Action": "sts:AssumeRole",
         "Condition": {
             "StringEquals": {
                 "aws:SourceAccount": my_account_ID,
                 "aws:SourceArn": "arn:aws:rds:Region:my_account_ID:db:dbname"
             }
         }
       }
     ]
   }'
```
Pour Windows :  

```
aws iam create-role ^
   --role-name rds-efs-integration-role ^
   --assume-role-policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
            "Service": "rds.amazonaws.com"
          },
         "Action": "sts:AssumeRole",
         "Condition": {
             "StringEquals": {
                 "aws:SourceAccount": my_account_ID,
                 "aws:SourceArn": "arn:aws:rds:Region:my_account_ID:db:dbname"
             }
         }
       }
     ]
   }'
```

Pour plus d’informations, consultez [Création d’un rôle pour déléguer des autorisations à un utilisateur IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html) dans le *Guide de l’utilisateur IAM*.

## Étape 2 : créer une politique de système de fichiers pour votre système de fichiers Amazon EFS
<a name="oracle-efs-integration.iam.policy"></a>

Dans cette étape, vous créez une politique de système de fichiers pour votre système de fichiers EFS.

**Pour créer ou modifier une politique de système de fichiers EFS**

1. Ouvrez la [console de gestion EFS](https://console.aws.amazon.com/efs/home?#home).

1. Choisissez **Systèmes de fichiers**.

1. Sur la page **Système de fichiers**, choisissez le système de fichiers pour lequel vous souhaitez modifier ou créer une politique de système de fichiers. La page de détails de ce système de fichiers s'affiche.

1. Choisissez l'onglet **File system policy** (Politique de système de fichiers).

   Si la politique est vide, la politique de système de fichiers EFS par défaut est utilisée. Pour plus d'informations, consultez [Default EFS file system policy](https://docs.aws.amazon.com/efs/latest/ug/iam-access-control-nfs-efs.html#default-filesystempolicy ) (Politique de système de fichiers EFS par défaut) dans le *Guide de l'utilisateur Amazon Elastic File System*.

1. Choisissez **Modifier**. La page **Politique du système de fichiers** s’affiche.

1. Dans **Policy editor** (Éditeur de politique), entrez une politique telle que la suivante, puis choisissez **Enregistrer**.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Id": "ExamplePolicy01",
       "Statement": [
           {
               "Sid": "ExampleStatement01",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::123456789012:role/rds-efs-integration-role"
               },
               "Action": [
                   "elasticfilesystem:ClientMount",
                   "elasticfilesystem:ClientWrite",
                   "elasticfilesystem:ClientRootAccess"
               ],
               "Resource": "arn:aws:elasticfilesystem:us-east-1:123456789012:file-system/fs-1234567890abcdef0"
           }
       ]
   }
   ```

------

## Étape 3 : associer votre rôle IAM à votre instance de base de données RDS for Oracle.
<a name="oracle-efs-integration.iam.instance"></a>

Dans cette étape, vous associez votre rôle IAM à votre instance de base de données. Tenez compte des exigences suivantes :
+ Vous devez avoir accès à un rôle IAM auquel est attachée la politique d'autorisations Amazon EFS requise. 
+ Vous pouvez associer un seul rôle IAM à la fois avec votre instance de base de données RDS for Oracle.
+ Le statut de votre instance doit être **Available** (Disponible).

Pour plus d'informations, consultez [Identity and access management for Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/auth-and-access-control.html) (Gestion des identités et des accès pour Amazon EFS) dans le *guide de l'utilisateur Amazon Elastic File System*.

### Console
<a name="oracle-efs-integration.iam.instance.console"></a>

**Pour associer votre rôle IAM à votre instance de base de données RDS for Oracle**

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Choisissez **Databases** (Bases de données).

1. Si votre instance de base de données n'est pas disponible, choisissez **Actions** , puis **Start (Démarrer)**. Lorsque le statut de l'instance affiche **Started (Démarré)**, passez à l'étape suivante.

1. Choisissez le nom de l’instance de base de données Oracle pour afficher ses détails.

1. Dans l'onglet **Connectivity & security** (Connectivité & sécurité), faites défiler l'écran jusqu'à l'onglet **Manage IAM roles** (Gérer les rôles IAM) au bas de la page.

1. Choisissez le rôle à ajouter dans la partie **Add IAM roles to this instance** (Ajouter des rôles IAM à cette instance).

1. Pour **Feature** (Fonction), choisissez **EFS\$1INTEGRATION**.

1. Choisissez **Ajouter un rôle**.

### AWS CLI
<a name="oracle-efs-integration.iam.instance.CLI"></a>

La AWS CLI commande suivante ajoute le rôle à une instance de base de données Oracle nommée`mydbinstance`.

**Example**  
Pour Linux, macOS ou Unix :  

```
aws rds add-role-to-db-instance \
   --db-instance-identifier mydbinstance \
   --feature-name EFS_INTEGRATION \
   --role-arn your-role-arn
```
Pour Windows :  

```
aws rds add-role-to-db-instance ^
   --db-instance-identifier mydbinstance ^
   --feature-name EFS_INTEGRATION ^
   --role-arn your-role-arn
```

Remplacez `your-role-arn` par l’ARN du rôle que vous avez noté lors d’une étape précédente. `EFS_INTEGRATION` doit être spécifié pour l’option `--feature-name`.

# Ajout de l'option EFS\$1INTEGRATION
<a name="oracle-efs-integration.adding"></a>

Pour intégrer Amazon RDS for Oracle avec Amazon EFS, votre instance de base de données doit être associée à un groupe d'options qui inclut l'option `EFS_INTEGRATION`. 

Plusieurs instances de base de données Oracle appartenant au même groupe d'options partagent le même système de fichiers EFS. Différentes instances de base de données peuvent accéder aux mêmes données, mais l'accès peut être divisé en utilisant différents répertoires Oracle. Pour plus d’informations, consultez [Transfert de fichiers entre RDS for Oracle et un système de fichiers Amazon EFS](oracle-efs-integration.transferring.md).

## Console
<a name="oracle-efs-integration.adding.console"></a>

**Pour configurer un groupe d'options pour l'intégration d'Amazon EFS**

1. Créez un groupe d’options ou identifiez un groupe d’options existant auquel vous pouvez ajouter l’option `EFS_INTEGRATION`.

   Pour plus d’informations sur la création d’un groupe d’options, consultez [Création d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).

1. Ajoutez l’option `EFS_INTEGRATION` au groupe d’options. Vous devez spécifier l'ID de système de fichiers `EFS_ID` et définir l'indicateur `USE_IAM_ROLE`.

   Pour plus d’informations, consultez [Ajout d’une option à un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).

1. Associez le groupe d'options à votre instance de base de données de l'une des manières suivantes :
   + Créez une nouvelle instance de base de données Oracle et associez-lui le groupe d'options. Pour plus d’informations sur la création d’une instance de base de données, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md).
   + Modifiez une instance de base de données Oracle pour lui associer le groupe d'options. Pour plus d’informations sur la modification d’une instance de base de données Oracle, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md).

## AWS CLI
<a name="oracle-efs-integration.adding.cli"></a>

**Pour configurer un groupe d'options pour l'intégration EFS**

1. Créez un groupe d’options ou identifiez un groupe d’options existant auquel vous pouvez ajouter l’option `EFS_INTEGRATION`.

   Pour plus d’informations sur la création d’un groupe d’options, consultez [Création d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).

1. Ajoutez l'option `EFS_INTEGRATION` au groupe d'options.

   Par exemple, la commande AWS CLI suivante ajoute l’option `EFS_INTEGRATION` à un groupe d’options nommé **myoptiongroup**.  
**Example**  

   Pour Linux, macOS ou Unix :

   ```
   aws rds add-option-to-option-group \
      --option-group-name myoptiongroup \
      --options "OptionName=EFS_INTEGRATION,OptionSettings=\ 
      [{Name=EFS_ID,Value=fs-1234567890abcdef0},{Name=USE_IAM_ROLE,Value=TRUE}]"
   ```

   Pour Windows :

   ```
   aws rds add-option-to-option-group ^
      --option-group-name myoptiongroup ^
      --options "OptionName=EFS_INTEGRATION,OptionSettings=^
      [{Name=EFS_ID,Value=fs-1234567890abcdef0},{Name=USE_IAM_ROLE,Value=TRUE}]"
   ```

1. Associez le groupe d’options à votre instance de base de données de l’une des manières suivantes :
   + Créez une nouvelle instance de base de données Oracle et associez-lui le groupe d'options. Pour plus d’informations sur la création d’une instance de base de données, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md).
   + Modifiez une instance de base de données Oracle pour lui associer le groupe d'options. Pour plus d’informations sur la modification d’une instance de base de données Oracle, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md).

# Configuration des autorisations du système de fichiers Amazon EFS
<a name="oracle-efs-integration.file-system"></a>

Par défaut, seul l'utilisateur root (UID `0`) dispose d'autorisations de lecture, d'écriture et d'exécution pour un système de fichiers EFS nouvellement créé. Pour que d’autres utilisateurs puissent modifier le système de fichiers, l’utilisateur racine doit leur accorder explicitement l’accès. L'utilisateur de l'instance de base de données RDS for Oracle figure dans la catégorie `others`. Pour plus d'informations, consultez [Working with users, groups, and permissions at the Network File System (NFS) Level](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs-nfs-permissions.html) (Utilisation d'utilisateurs, de groupes et d'autorisations au niveau NFS (Network File System)) dans le *Guide de l'utilisateur Amazon Elastic File System*.

Pour autoriser votre instance de base de données RDS for Oracle à lire et écrire des fichiers sur un système de fichiers EFS, procédez comme suit :
+ Montez un système de fichiers EFS localement sur votre instance Amazon EC2 ou sur site.
+ Configurez des autorisations détaillées.

Par exemple, pour accorder aux utilisateurs `other` des autorisations pour écrire à la racine du système de fichiers EFS, exécutez `chmod 777` sur ce répertoire. Pour plus d'informations, consultez [Example Amazon EFS file system use cases and permissions](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs-nfs-permissions.html#accessing-fs-nfs-permissions-ex-scenarios) (Exemples de cas d'utilisation et d'autorisations du système de fichiers Amazon EFS) dans le *Guide de l'utilisateur Amazon Elastic File System*. 

# Transfert de fichiers entre RDS for Oracle et un système de fichiers Amazon EFS
<a name="oracle-efs-integration.transferring"></a>

Pour transférer des fichiers entre une instance RDS for Oracle et un système de fichiers Amazon EFS, créez au moins un répertoire Oracle et configurez les autorisations du système de fichiers EFS pour contrôler l'accès à l'instance de base de données.

**Topics**
+ [

## Création d'un répertoire Oracle
](#oracle-efs-integration.transferring.od)
+ [

## Transfert de données depuis et vers un système de fichiers EFS : exemples
](#oracle-efs-integration.transferring.upload)

## Création d'un répertoire Oracle
<a name="oracle-efs-integration.transferring.od"></a>

Pour créer un répertoire Oracle, utilisez la procédure `rdsadmin.rdsadmin_util.create_directory_efs`. La procédure possède les paramètres suivants.


****  

| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description | 
| --- | --- | --- | --- | --- | 
|  `p_directory_name`  |  VARCHAR2  |  –  |  Oui  |  Nom du répertoire Oracle.   | 
|  `p_path_on_efs`  |  VARCHAR2  |  –  |  Oui  |  Chemin dans le système de fichiers EFS. Le préfixe du nom du chemin utilise le modèle`/rdsefs-fsid/`, où se *fsid* trouve un espace réservé pour l'ID de votre système de fichiers EFS. Par exemple, si votre système de fichiers EFS est nommé `fs-1234567890abcdef0` et que vous créez un sous-répertoire dans ce système de fichiers nommé`mydir`, vous pouvez spécifier la valeur suivante : <pre>/rdsefs-fs-1234567890abcdef0/mydir</pre>  | 

Supposons que vous créez un sous-répertoire nommé `/datapump1` dans le système de fichiers EFS `fs-1234567890abcdef0`. L'exemple suivant crée un répertoire Oracle `DATA_PUMP_DIR_EFS` qui pointe vers le répertoire `/datapump1` du système de fichiers EFS. La valeur du chemin du système de fichiers pour le paramètre `p_path_on_efs` est préfixée par la chaîne `/rdsefs-`.

```
BEGIN
  rdsadmin.rdsadmin_util.create_directory_efs(
    p_directory_name => 'DATA_PUMP_DIR_EFS', 
    p_path_on_efs    => '/rdsefs-fs-1234567890abcdef0/datapump1');
END;
/
```

## Transfert de données depuis et vers un système de fichiers EFS : exemples
<a name="oracle-efs-integration.transferring.upload"></a>

L'exemple suivant utilise Oracle Data Pump pour exporter la table nommée `MY_TABLE` dans le fichier `datapump.dmp`. Ce fichier réside dans un système de fichiers EFS.

```
DECLARE
  v_hdnl NUMBER;
BEGIN
  v_hdnl := DBMS_DATAPUMP.OPEN(operation => 'EXPORT', job_mode => 'TABLE', job_name=>null);
  DBMS_DATAPUMP.ADD_FILE(
    handle    => v_hdnl,
    filename  => 'datapump.dmp',
    directory => 'DATA_PUMP_DIR_EFS',
    filetype  => dbms_datapump.ku$_file_type_dump_file);
  DBMS_DATAPUMP.ADD_FILE(
    handle    => v_hdnl,
    filename  => 'datapump-exp.log',
    directory => 'DATA_PUMP_DIR_EFS',
    filetype  => dbms_datapump.ku$_file_type_log_file);
  DBMS_DATAPUMP.METADATA_FILTER(v_hdnl,'NAME_EXPR','IN (''MY_TABLE'')');
  DBMS_DATAPUMP.START_JOB(v_hdnl);
END;
/
```

L'exemple suivant utilise Oracle Data Pump pour importer la table nommée `MY_TABLE` depuis le fichier `datapump.dmp`. Ce fichier réside dans un système de fichiers EFS.

```
DECLARE
  v_hdnl NUMBER;
BEGIN
  v_hdnl := DBMS_DATAPUMP.OPEN(
    operation => 'IMPORT',
    job_mode  => 'TABLE',
    job_name  => null);
  DBMS_DATAPUMP.ADD_FILE(
    handle    => v_hdnl,
    filename  => 'datapump.dmp',
    directory => 'DATA_PUMP_DIR_EFS',
    filetype  => dbms_datapump.ku$_file_type_dump_file );
  DBMS_DATAPUMP.ADD_FILE(
    handle    => v_hdnl,
    filename  => 'datapump-imp.log',
    directory => 'DATA_PUMP_DIR_EFS',
    filetype  => dbms_datapump.ku$_file_type_log_file);
  DBMS_DATAPUMP.METADATA_FILTER(v_hdnl,'NAME_EXPR','IN (''MY_TABLE'')');
  DBMS_DATAPUMP.START_JOB(v_hdnl);
END;
/
```

Pour de plus amples informations, veuillez consulter [Importation de données dans Oracle sur Amazon RDS](Oracle.Procedural.Importing.md).

# Suppression de l'option EFS\$1INTEGRATION
<a name="oracle-efs-integration.removing"></a>

Les étapes de suppression de l’option `EFS_INTEGRATION` varient selon que vous supprimez l’option de plusieurs instances de base de données ou d’une seule instance.


| Nombre d'instances de base de données | Action | Informations connexes | 
| --- | --- | --- | 
| Plusieurs | Supprimez l’option EFS\$1INTEGRATION du groupe d’options auquel les instances de base de données appartiennent. Ce changement affecte toutes les instances qui utilisent le groupe d’options. | [Suppression d’une option d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption) | 
| Unique | Modifiez l’instance de base de données et spécifiez un groupe d’options différent qui n’inclut pas l’option EFS\$1INTEGRATION. Vous pouvez spécifier le groupe d’options (vide) par défaut, ou un groupe d’options personnalisées différent. | [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md) | 

Après avoir supprimé l’option `EFS_INTEGRATION`, vous pouvez éventuellement supprimer le système de fichiers EFS connecté à vos instances de base de données.

# Résolution des problèmes d'intégration Amazon EFS
<a name="oracle-efs-integration.troubleshooting"></a>

Votre instance de base de données RDS for Oracle surveille la connectivité à un système de fichiers Amazon jeEFS. Lorsque la surveillance détecte un problème, elle peut essayer de le corriger et de publier un événement dans la console RDS. Pour plus d'informations, consultez [Affichage d'événements Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ListEvents.html).

Utilisez les informations de cette section pour diagnostiquer et résoudre les problèmes courants lorsque vous travaillez avec l'intégration Amazon EFS.


| Notification | Description | Action | 
| --- | --- | --- | 
|  `The EFS for RDS Oracle instance instance_name isn't available on the primary host. NFS port 2049 of your EFS isn't reachable.`  |  L'instance de base de données ne peut pas communiquer avec le système de fichiers EFS.  |  Vérifiez les points suivants : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/oracle-efs-integration.troubleshooting.html)  | 
|  `The EFS isn't reachable.`  |  Une erreur s'est produite lors de l'installation de l'option `EFS_INTEGRATION`.  |  Vérifiez les points suivants : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/oracle-efs-integration.troubleshooting.html)  | 
|  `The associated role with your DB instance wasn't found.`  |  Une erreur s’est produite lors de l’installation de l’option `EFS_INTEGRATION`.  |  Assurez-vous d’avoir associé un rôle IAM à votre instance de base de données RDS for Oracle.  | 
|  `The associated role with your DB instance wasn't found.`  |  Une erreur s’est produite lors de l’installation de l’option `EFS_INTEGRATION`. RDS for Oracle a été restauré à partir d’un instantané de base de données avec le paramètre d’option `USE_IAM_ROLE` sur `TRUE`.  |  Assurez-vous d’avoir associé un rôle IAM à votre instance de base de données RDS for Oracle.  | 
|  `The associated role with your DB instance wasn't found.`  |  Une erreur s’est produite lors de l’installation de l’option `EFS_INTEGRATION`. RDS pour Oracle a été créé à partir d'un all-in-one CloudFormation modèle avec le paramètre d'`USE_IAM_ROLE`option de`TRUE`.  |  Pour contourner ce problème, suivez ces étapes : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/oracle-efs-integration.troubleshooting.html)  | 
|  `PLS-00302: component 'CREATE_DIRECTORY_EFS' must be declared`  |  Cette erreur peut se produire lorsque vous utilisez une version de RDS for Oracle qui ne prend pas en charge Amazon EFS.  |  Veillez à utiliser une instance de base de données RDS for Oracle de version 19.0.0.0.ru-2022-07.rur-2022-07.r1 ou ultérieure.  | 
|  `Read access of your EFS is denied. Check your file system policy.`  |  Votre instance de base de données ne peut pas lire le système de fichiers EFS.  |  Veillez à ce que votre système de fichiers EFS autorise l'accès en lecture via le rôle IAM ou au niveau du système de fichiers EFS.   | 
|  N/A  |  Votre instance de base de données ne peut pas écrire dans le système de fichiers EFS.  |  Suivez les étapes suivantes: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/oracle-efs-integration.troubleshooting.html)  | 

# Oracle Java Virtual Machine
<a name="oracle-options-java"></a>

Amazon RDS prend en charge Oracle Java Virtual Machine (JVM) par l'intermédiaire de l'option `JVM`. Oracle Java fournit un schéma SQL et des fonctions facilitant les fonctionnalités Oracle Java dans une base de données Oracle. Pour plus d’informations, consultez [Introduction to Java in Oracle Database](https://docs.oracle.com/database/121/JJDEV/chone.htm) dans la documentation Oracle. Vous pouvez utiliser Oracle JVM avec toutes les versions d’Oracle Database 21c (21.0.0) et Oracle Database 19c (19.0.0).

## Considérations relatives à Oracle JVM
<a name="oracle-options-java.considerations"></a>

L'implémentation Java dans Amazon RDS a un jeu d'autorisations limité. L'utilisateur principal dispose du rôle `RDS_JAVA_ADMIN`, qui attribue un sous-ensemble des privilèges associés au rôle `JAVA_ADMIN`. Afin de répertorier les privilèges attribués au rôle `RDS_JAVA_ADMIN`, exécutez la requête suivante sur votre instance de base de données :

```
SELECT * FROM dba_java_policy 
   WHERE grantee IN ('RDS_JAVA_ADMIN', 'PUBLIC') 
   AND enabled = 'ENABLED' 
   ORDER BY type_name, name, grantee;
```

## Prérequis pour Oracle JVM
<a name="oracle-options-java.prerequisites"></a>

Les conditions suivantes sont requises pour utiliser Oracle Java :
+ Votre instance de base de données doit être d'une classe de taille suffisante. Oracle Java n’est pas pris en charge pour les classes d’instance de base de données db.t3.small. Pour plus d’informations, consultez [Classes d'instances de base de données ](Concepts.DBInstanceClass.md).
+ Votre instance de base de données doit avoir l'option **Auto Minor Version Upgrade (Mise à niveau automatique des versions mineures)** activée. Cette option permet à votre instance de base de données de recevoir automatiquement les mises à niveau des versions mineures du moteur dès qu'elles sont disponibles. Amazon RDS utilise cette option pour mettre à jour votre instance de base de données vers le dernier PSU (Patch Set Update) ou la dernière mise à jour (RU) Oracle. Pour plus d'informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

## Bonnes pratiques pour Oracle JVM
<a name="oracle-options-java.best-practices"></a>

Les bonnes pratiques suivantes sont requises pour utiliser Oracle Java : 
+ Pour une sécurité maximale, utilisez l'option `JVM` avec Secure Sockets Layer (SSL). Pour plus d'informations, consultez [Oracle Secure Sockets Layer (SSL)](Appendix.Oracle.Options.SSL.md). 
+ Configurez votre instance de base de données afin de restreindre l'accès réseau. Pour plus d’informations, consultez [Scénarios d’accès à une instance de base de données d’un VPC](USER_VPC.Scenarios.md) et [Utilisation d’une instance de base de données dans un VPC](USER_VPC.WorkingWithRDSInstanceinaVPC.md). 
+ Mettez à jour la configuration de vos points de terminaison HTTPS pour prendre en charge la version TLSv1 2 si vous remplissez les conditions suivantes :
  + Vous utilisez Oracle Java Virtual Machine (JVM) pour connecter un point de terminaison HTTPS via TLSv1 nos protocoles TLSv1 1.1.
  + Votre terminal ne prend pas en charge le protocole TLSv1 2.2.
  + Vous n'avez pas appliqué la mise à jour de version d'avril 2021 à votre base de données Oracle.

  En mettant à jour la configuration de votre point de terminaison, vous vous assurez que la connectivité de la machine virtuelle Java au point de terminaison HTTPS continuera de fonctionner. Pour plus d'informations sur les modifications du protocole TLS dans l'environnement d'exécution Java et le kit de développement Java d'Oracle, consultez la section [Oracle JRE and JDK Cryptographic Roadmap](https://java.com/en/jre-jdk-cryptoroadmap.html) (Feuille de route pour la cryptographie de l'environnement d'exécution Java et du kit de développement Java d'Oracle).

## Ajout de l'option Oracle JVM
<a name="oracle-options-java.add"></a>

La procédure générale suivante permet d'ajouter l'option `JVM` à une instance de base de données : 

1. Créer un groupe d'options ou copier ou modifier un groupe existant.

1. Ajoutez l'option au groupe d'options.

1. Associez le groupe d'options à l'instance de base de données.

L'ajout de l'option `JVM` entraîne une brève indisponibilité. Une fois que vous ajoutez l'option, vous n'avez pas besoin de redémarrer votre instance de base de données. Dès que le groupe d'options est actif, Oracle Java est disponible. 

**Note**  
Durant cette interruption, les fonctions de vérification de mot de passe sont brièvement désactivées. Vous pouvez également vous attendre à voir des événements liés aux fonctions de vérification de mot de passe durant l'interruption. Les fonctions de vérification de mot de passe sont activées de nouveau avant que l'instance de base de données Oracle ne soit disponible.

**Pour ajouter l'option JVM à une instance de base de données**

1. Déterminez le groupe d'options que vous voulez utiliser. Vous pouvez créer un groupe d'options ou utiliser un groupe d'options existant. Si vous souhaitez utiliser un groupe d'options existant, passez à l'étape suivante. Sinon, créez un groupe d'options DB personnalisé avec les paramètres suivants : 
   + Pour **Moteur**, choisissez le moteur de base de données utilisé par l'instance de base de données (**oracle-ee**, **oracle-se**, **oracle-se1** ou **oracle-se2**). 
   + Pour **Version majeure du moteur**, choisissez la version de votre instance de base de données. 

   Pour plus d'informations, consultez [Création d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Ajouter l'option **JVM** au groupe d'options. Pour plus d'informations sur l'ajout d'options, consultez [Ajout d’une option à un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). 

1. Appliquez le groupe d'options à une instance de base de données nouvelle ou existante: 
   + Pour une nouvelle instance de base de données, appliquez le groupe d’options lorsque vous lancez l’instance. Pour plus d’informations, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md).
   + Pour une instance de base de données existante, appliquez le groupe d’options en modifiant l’instance et en attachant le nouveau groupe d’options. Pour plus d'informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md).

1. Accordez les autorisations requises aux utilisateurs.

   L'utilisateur principal Amazon RDS est autorisé à utiliser l'option `JVM` par défaut. Si d'autres utilisateurs ont besoin de ces permissions, connectez-vous à l'instance de base de données en tant qu'utilisateur principal dans un client SQL et accordez les autorisations aux utilisateurs.

   L'exemple suivant accorde les autorisation d'utiliser l'option `JVM` à l'utilisateur `test_proc`.

   ```
   create user test_proc identified by password;
   CALL dbms_java.grant_permission('TEST_PROC', 'oracle.aurora.security.JServerPermission', 'LoadClassInPackage.*', '');
   ```
**Note**  
Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.

   Une fois que les autorisations sont accordées à l'utilisateur, la requête suivante doit renvoyer un résultat.

   ```
   select * from dba_java_policy where grantee='TEST_PROC';
   ```
**Note**  
Le nom d'utilisateur Oracle est sensible à la casse et comportent généralement seulement des caractères majuscules.

## Suppression de l'option Oracle JVM
<a name="oracle-options-java.remove"></a>

Vous pouvez supprimer l'option `JVM` d'une instance de base de données. La suppression de l'option entraîne une brève indisponibilité. Une fois que vous supprimez l'option `JVM`, vous n'avez pas besoin de redémarrer votre instance de base de données. 

**Avertissement**  
 La suppression de l'option `JVM` peut entraîner une perte de données si l'instance de base de données utilise des types de données qui ont été activés avec cette option. Sauvegardez vos données avant de continuer. Pour plus d'informations, consultez [Sauvegarde, restauration et exportation de données](CHAP_CommonTasks.BackupRestore.md). 

Pour supprimer l'option `JVM` d'une instance de base de données, effectuez l'une des actions suivantes : 
+ Supprimez l'option `JVM` du groupe d'options auquel elle appartient. Ce changement affecte toutes les instances de bases de données qui utilisent le groupe d’options. Pour plus d'informations, consultez [Suppression d’une option d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption). 
+ Modifiez l'instance de base de données et spécifiez un groupe d'options différent qui n'inclut pas l'option `JVM`. Ce changement affecte une seule instance de base de données. Vous pouvez spécifier le groupe d’options (vide) par défaut, ou un groupe d’options personnalisées différent. Pour plus d’informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

# Oracle Enterprise Manager
<a name="Oracle.Options.OEM"></a>

Amazon RDS prend en charge Oracle Enterprise Manager (OEM). OEM est la gamme de produits pour la gestion intégrée de la technologie de l'information d'entreprise d'Oracle. 

Amazon RDS prend en charge OEM sur Oracle Database 19c non-CDB ou CDB. Le tableau suivant décrit les options d’OEM prises en charge.


****  

| Option | ID d’option | Versions OEM prises en charge | 
| --- | --- | --- | 
|  [OEM Database Express](Appendix.Oracle.Options.OEM_DBControl.md)  |  `OEM`  |  OEM Database Express 19c  | 
|  [OEM Management Agent](Oracle.Options.OEMAgent.md)  |  `OEM_AGENT`  |  OEM Cloud Control for 13c  | 

**Note**  
Vous pouvez utiliser OEM Database ou OEM Management Agent, mais pas les deux.

# Oracle Enterprise Manager Database Express
<a name="Appendix.Oracle.Options.OEM_DBControl"></a>

Amazon RDS prend en charge Oracle Enterprise Manager Database Express (EM Express) via l’utilisation de l’option OEM. Amazon RDS prend en charge EM Express for Oracle Database 19c en utilisant une architecture CDB ou non CDB.

EM Express est un outil de gestion de base de données basé sur le Web inclus dans votre base de données et disponible uniquement lorsqu’il est ouvert. Il prend en charge la gestion des performances clés et les fonctions d’administration de base de données de base. Pour plus d’informations, consultez [Introduction to Oracle Enterprise Manager Database Express](https://docs.oracle.com/en/database/oracle/oracle-database/19/admqs/getting-started-with-database-administration.html#GUID-BA75AD46-D22E-4914-A31E-C395CD6A2BBA) dans la documentation Oracle.

**Note**  
EM Express n’est pas prise en charge sur la classe d’instance de base de données db.t3.small. Pour plus d’informations sur les classes d’instance de base de données, consultez [Classes d’instance de base de données RDS for Oracle](Oracle.Concepts.InstanceClasses.md).

## Paramètres d’option OEM
<a name="Appendix.Oracle.Options.OEM_DBControl.Options"></a>

Amazon RDS prend en charge les paramètres suivants pour l'option OEM. 


****  

| Paramètre d'option | Valeurs valides | Description | 
| --- | --- | --- | 
| **Port** | Une valeur d’entier |  Port de l’instance de base de données RDS for Oracle qui écoute EM Express. La valeur par défaut est 5 500.  | 
| **Groupes de sécurité** | — |  Un groupe de sécurité qui a accès à **Port**.   | 

## Étape 1 : Ajout de l’option OEM
<a name="Appendix.Oracle.Options.OEM_DBControl.Add"></a>

La procédure générale pour ajouter de l'option OEM à une instance de base de données est la suivante : 

1. Créer un groupe d'options ou copier ou modifier un groupe existant.

1. Ajoutez l’option au groupe d’options.

1. Associez le groupe d’options à votre instance de base de données.

Lorsque vous ajoutez l’option OEM, une brève interruption de service se produit pendant le redémarrage automatique de votre instance de base de données. 

**Pour ajouter l'option OEM à une instance de base de données**

1. Déterminez le groupe d'options que vous voulez utiliser. Vous pouvez créer un groupe d'options ou utiliser un groupe d'options existant. Si vous souhaitez utiliser un groupe d'options existant, passez à l'étape suivante. Sinon, créez un groupe d'options DB personnalisé avec les paramètres suivants : 

   1. Pour **Moteur**, choisissez l'édition oracle pour votre instance de base de données. 

   1. Pour **Version majeure du moteur**, choisissez la version de votre instance de base de données. 

   Pour plus d'informations, consultez [Création d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Ajoutez l'option OEM au groupe d'options et configurez les paramètres de l'option. Pour plus d'informations sur l'ajout d'options, consultez [Ajout d’une option à un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). Pour plus d'informations sur chaque paramètre, consultez [Paramètres d’option OEM](#Appendix.Oracle.Options.OEM_DBControl.Options). 
**Note**  
Si vous ajoutez l’option OEM à un groupe d’options existant qui est déjà attaché à une ou plusieurs instances de base de données, une brève interruption de service a lieu pendant le redémarrage automatique de toutes les instances de base de données. 

1. Appliquez le groupe d’options à une instance de base de données nouvelle ou existante:
   + Pour une nouvelle instance de base de données, appliquez le groupe d’options lorsque vous lancez l’instance. Pour plus d’informations, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md). 
   + Pour une instance de base de données existante, appliquez le groupe d’options en modifiant l’instance et en attachant le nouveau groupe d’options. Lorsque vous ajoutez l’option OEM, une brève interruption de service se produit pendant le redémarrage automatique de votre instance de base de données. Pour de plus amples informations, veuillez consulter [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

**Note**  
Vous pouvez également utiliser l'option AWS CLI pour ajouter l'option OEM. Pour obtenir des exemples, consultez [Ajout d’une option à un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).

## Étape 2 : (CDB uniquement) Déverrouillage du compte utilisateur DBSNMP
<a name="Appendix.Oracle.Options.OEM_DBControl.DBSNMP"></a>

Si votre instance de base de données utilise l’architecture CDB, vous devez vous connecter à EM Express en tant que `DBSNMP`, Dans une CDB, `DBSNMP` est un utilisateur commun. Par défaut, ce compte est verrouillé. Si votre instance de base de données n’utilise pas l’architecture CDB, ignorez cette étape.

**Pour déverrouiller le compte utilisateur DBSNMP dans une instance CDB**

1. Dans SQL\$1Plus ou une autre application Oracle SQL, connectez-vous en tant qu’utilisateur principal à votre instance de base de données.

1. Exécutez la procédure stockée suivante pour déverrouiller le compte `DBSNMP` :

   ```
   1. EXEC rdsadmin.rdsadmin_util.reset_oem_agent_password('new_password');
   ```

   Si vous recevez un message d’erreur indiquant que la procédure n’existe pas, redémarrez votre instance CDB pour l’installer automatiquement. Pour de plus amples informations, veuillez consulter [Redémarrage d'une instance de base de données cluster de base de données](USER_RebootInstance.md).

## Étape 3 : Accès à EM Express via votre navigateur
<a name="Appendix.Oracle.Options.OEM_DBControl.Using"></a>

Quand vous accédez à EM Express depuis votre navigateur web, une fenêtre de connexion s’affiche. Elle vous invite à spécifier un nom d’utilisateur et un mot de passe.

**Pour accéder à EM Express via votre navigateur**

1. Identifiez le point de terminaison et le port EM Express de votre instance de base de données Amazon RDS. Pour plus d’informations sur la recherche du point de terminaison de votre instance de base de données Amazon RDS, consultez [Recherche du point de terminaison de votre instance de base de données RDS for Oracle](USER_Endpoint.md).

1. Entrez une URL dans la barre de localisation de votre navigateur au format suivant. 

   ```
   https://endpoint.rds.amazonaws.com:port/em
   ```

   Par exemple, si le point de terminaison pour votre instance de base de données Amazon RDS est `mydb.a1bcde234fgh.us-east-1.rds.amazonaws.com` et que votre port EM Express est `1158`, utilisez l’URL suivante pour accéder à EM Express.

   ```
   1. https://mydb.f9rbfa893tft.us-east-1.rds.amazonaws.com:1158/em
   ```

1. Lorsque vous êtes invité à saisir vos informations de connexion, effectuez l’une des actions suivantes, en fonction de l’architecture de votre base de données :  
**Votre base de données est non-CDB.‭**  
Tapez le nom d'utilisateur principal et le mot de passe principal de votre instance de base de données.  
**Votre base de données est une CDB.**  
Saisissez `DBSNMP` pour l’utilisateur et `DBSNMP` pour le mot de passe. Laissez le champ `Container` vide.

## Modification des paramètres de la base de données OEM
<a name="Appendix.Oracle.Options.OEM_DBControl.ModifySettings"></a>

Après avoir activé la base de données OEM, vous pouvez modifier le paramètre des Groupes de sécurité de l'option. 

Vous ne pouvez pas modifier le numéro de port OEM après avoir associé le groupe d'options à une instance de base de données. Pour modifier le numéro de port OEM d'une instance de base de données, procédez comme suit : 

1. Créez un nouveau groupe d'options.

1. Ajoutez l'option OEM avec le nouveau numéro de port au nouveau groupe d'options. 

1. Supprimez le groupe d'options existant de l'instance de base de données.

1. Ajoutez le nouveau groupe d'options à l'instance de base de données.

Pour plus d'informations sur la modification des paramètres d'options, consultez [Modification d’un paramètre d’option](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.ModifyOption). Pour plus d'informations sur chaque paramètre, consultez [Paramètres d’option OEM](#Appendix.Oracle.Options.OEM_DBControl.Options). 

## Exécution de tâches OEM Database Express
<a name="Appendix.Oracle.Options.OEM_DBControl.DBTasks"></a>

Vous pouvez utiliser les procédures Amazon RDS for exécuter certaines tâches OEM Database Express. Ces procédures vous permettent d'exécuter les tâches indiquées ci-après.

**Note**  
Les tâches OEM Database Express s'exécutent de manière asynchrone.

**Topics**
+ [

### Basculement du front end du site web OEM Database Express vers Adobe Flash
](#Appendix.Oracle.Options.OEM_DBControl.DBTasks.FrontEndToFlash)
+ [

### Basculement du front-end du site web OEM Database Express vers Oracle JET
](#Appendix.Oracle.Options.OEM_DBControl.DBTasks.FrontEndToOracleJET)

### Basculement du front end du site web OEM Database Express vers Adobe Flash
<a name="Appendix.Oracle.Options.OEM_DBControl.DBTasks.FrontEndToFlash"></a>

**Note**  
Cette tâche n'est disponible que pour Oracle Database 19c non-CDBs.

À partir d'Oracle Database 19c, Oracle a rendu obsolète l'ancienne interface utilisateur d'OEM Database Express basée sur Adobe Flash. En conséquence, OEM Database Express utilise désormais une interface conçue avec Oracle JET. Si vous rencontrez des problèmes avec la nouvelle interface, vous pouvez revenir à l'interface obsolète basée sur Flash. Vous pourriez par exemple être bloqué sur un écran `Loading` après vous être connecté à OEM Database Express. Vous pourriez également ne pas avoir accès à certaines fonctions présentes dans la version Flash d'OEM Database Express.

Pour basculer le front end du site web OEM Database Express vers Adobe Flash, exécutez la procédure Amazon RDS `rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_flash`. Cette procédure est équivalente à la commande SQL `execemx emx`.

Les bonnes pratiques en matière de sécurité déconseillent l'utilisation d'Adobe Flash. Bien que vous puissiez revenir à la version Flash d'OEM Database Express, nous recommandons si possible d'utiliser les sites web OEM Database Express basés sur JET. Si vous recommencez à utiliser Adobe Flash et souhaitez revenir à Oracle JET, utilisez la procédure `rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_jet`. Après une mise à niveau de la base de données Oracle, une version plus récente d'Oracle JET est susceptible de résoudre les problèmes liés à JET dans OEM Database Express. Pour plus d’informations sur le basculement vers Oracle JET, consultez [Basculement du front-end du site web OEM Database Express vers Oracle JET](#Appendix.Oracle.Options.OEM_DBControl.DBTasks.FrontEndToOracleJET).

**Note**  
L'exécution de cette tâche à partir de l'instance de base de données source pour un réplica en lecture entraîne également le basculement des front ends du site web OEM Database Express vers Adobe Flash pour le réplica en lecture.

L'appel de procédure suivant crée une tâche permettant de basculer le site web OEM Database Express vers Adobe Flash et renvoie l'ID de la tâche.

```
SELECT rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_flash() as TASK_ID from DUAL;
```

Vous pouvez afficher le résultat en affichant le fichier de sortie de la tâche.

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-task-id.log'));
```

Remplacez *`task-id`* par l'ID de tâche renvoyé par la procédure. Pour de plus amples informations sur la procédure Amazon RDS `rdsadmin.rds_file_util.read_text_file`, veuillez consulter [Lecture de fichiers dans un répertoire d'instance de base de données](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ReadingFiles). 

Vous pouvez également consulter le contenu du fichier de sortie de la tâche dans le en AWS Management Console recherchant les entrées du journal dans la section **Journaux et événements** pour le`task-id`.

### Basculement du front-end du site web OEM Database Express vers Oracle JET
<a name="Appendix.Oracle.Options.OEM_DBControl.DBTasks.FrontEndToOracleJET"></a>

**Note**  
Cette tâche n'est disponible que pour Oracle Database 19c non-CDBs.

Pour basculer le front end du site web OEM Database Express vers Oracle JET, exécutez la procédure Amazon RDS `rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_jet`. Cette procédure est équivalente à la commande SQL `execemx omx`.

Par défaut, les sites web OEM Database Express pour les instances de base de données Oracle exécutant la version 19c ou versions ultérieures utilisent Oracle JET. Si vous avez utilisé la procédure `rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_flash` pour basculer le front end du site web OEM Database Express vers Adobe Flash, vous pouvez revenir à Oracle JET. Pour ce faire, utilisez la procédure `rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_jet`. Pour plus d’informations sur le basculement vers Adobe Flash, consultez [Basculement du front end du site web OEM Database Express vers Adobe Flash](#Appendix.Oracle.Options.OEM_DBControl.DBTasks.FrontEndToFlash).

**Note**  
L'exécution de cette tâche à partir de l'instance de base de données source pour un réplica en lecture entraîne également le basculement des front ends du site web OEM Database Express vers Oracle JET pour le réplica en lecture.

L'appel de procédure suivant crée une tâche permettant de basculer le site web OEM Database Express vers Oracle JET et renvoie l'ID de la tâche.

```
SELECT rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_jet() as TASK_ID from DUAL;
```

Vous pouvez afficher le résultat en affichant le fichier de sortie de la tâche.

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-task-id.log'));
```

Remplacez *`task-id`* par l'ID de tâche renvoyé par la procédure. Pour de plus amples informations sur la procédure Amazon RDS `rdsadmin.rds_file_util.read_text_file`, veuillez consulter [Lecture de fichiers dans un répertoire d'instance de base de données](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ReadingFiles). 

Vous pouvez également consulter le contenu du fichier de sortie de la tâche dans le en AWS Management Console recherchant les entrées du journal dans la section **Journaux et événements** pour le`task-id`.

## Suppression de l'option de base de données OEM
<a name="Appendix.Oracle.Options.OEM_DBControl.Remove"></a>

Vous pouvez supprimer l'option OEM d'une instance de base de données. Lorsque vous supprimez l’option OEM, une brève interruption de service se produit pendant le redémarrage automatique de votre instance de base de données. Après avoir supprimé l'option OEM, vous n'avez pas besoin de redémarrer votre instance de base de données.

Pour supprimer l'option OEM d'une instance de base de données, effectuez l'une des actions suivantes :
+ Supprimez l'option OEM du groupe d'options auquel elle appartient. Ce changement affecte toutes les instances de bases de données qui utilisent le groupe d'options. Pour plus d'informations, consultez [Suppression d’une option d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption). 
+ Modifiez l'instance de base de données et spécifiez un groupe d'options différent qui n'inclut pas l'option OEM Ce changement affecte une seule instance de base de données. Vous pouvez spécifier le groupe d’options (vide) par défaut, ou un groupe d’options personnalisées différent. Pour plus d’informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

# Oracle Management Agent pour Enterprise Manager Cloud Control
<a name="Oracle.Options.OEMAgent"></a>

Oracle Enterprise Manager (OEM) Management Agent est un composant logiciel qui surveille les cibles en cours d'exécution sur les hôtes et communique ces informations au Oracle Management Service (OMS) de niveau intermédiaire. Amazon RDS prend en charge Management Agen via l'utilisation due l'option `OEM_AGENT`. 

Pour plus d'informations, consultez les présentations [Overview of Oracle Enterprise Manager Cloud Control 12c](http://docs.oracle.com/cd/E24628_01/doc.121/e25353/overview.htm) et [Overview of Oracle Enterprise Manager Cloud Control 13c](http://docs.oracle.com/cd/E63000_01/EMCON/overview.htm#EMCON109) dans la documentation Oracle.

**Topics**
+ [

## Exigences pour Management Agent
](#Oracle.Options.OEMAgent.PreReqs)
+ [

## Prérequis à la communication avec l'hôte OMS
](#Oracle.Options.OEMAgent.PreReqs.host)
+ [

## Limitations pour Management Agent
](#Oracle.Options.OEMAgent.limitations)
+ [

## Paramètres de l'option Management Agent
](#Oracle.Options.OEMAgent.Options)
+ [

## Activation de l’option Management Agent pour votre instance de base de données
](#Oracle.Options.OEMAgent.Enable)
+ [

## Suppression de l'option Management Agent
](#Oracle.Options.OEMAgent.Remove)
+ [

## Exécution de tâches de base de données avec l'option Management Agent
](#Oracle.Options.OEMAgent.DBTasks)

## Exigences pour Management Agent
<a name="Oracle.Options.OEMAgent.PreReqs"></a>

Pour utiliser Management Agent, vous devez respecter les exigences générales suivantes : 
+ Votre instance de base de données doit exécuter Oracle Database 19c (19.0.0.0). Vous pouvez utiliser l’architecture CDB ou non-CDB.
+ Vous devez disposer d’une instance Oracle Management Service (OMS) configurée pour se connecter à votre instance de base de données. Notez les exigences OMS suivantes :
  + Management Agent versions 13.5.0.0.v2 et 13.5.0.0.v3 requièrent OMS version 13.5.0.23 ou 24.1.
  + Management Agent version 13.5.0.0.v1 requiert OMS version 13.5.0.0 ou 24.1.
  + Management Agent versions 13.4.0.9.v1 et 13.4.0.9.v2 requièrent OMS version 13.4.0.9 ou ultérieure et le correctif 32198287.
+ Dans la plupart des cas, vous devez configurer votre VPC de sorte à autoriser les connexions entre OMS et votre instance de base de données. Si vous n'avez pas l'habitude de Amazon Virtual Private Cloud (Amazon VPC), nous vous recommandons d'effectuer les étapes de [Tutoriel : Création d'un VPC à utiliser avec un ) IPv4](CHAP_Tutorials.WebServerDB.CreateVPC.md) avant de poursuivre. 
+ Vous pouvez utiliser Management Agent avec Oracle Enterprise Manager Cloud Control pour 12c et 13c. Vérifiez que vous disposez d'un espace de stockage suffisant pour votre version OEM :
  + Au moins 8,5 Gio pour OEM 13c version 5
  + Au moins 8,5 Gio pour OEM 13c version 4
  + Au moins 8,5 Gio pour OEM 13c version 3
  + Au moins 5,5 Gio pour OEM 13c version 2
  + Au moins 4,5 Gio pour OEM 13c version 1
  + Au moins 2,5 Gio pour OEM 12c
+ Si vous utilisez les versions Management Agent `OEM_AGENT 13.2.0.0.v3` et `13.3.0.0.v2`, et que vous voulez utiliser la connectivité TCPS, suivez les instructions de la section [Configuration de certificats CA tiers pour la communication avec les bases de données cible](https://docs.oracle.com/cd/E73210_01/EMSEC/GUID-8337AD48-1A32-4CD5-84F3-256FAE93D043.htm#EMSEC15996) de la documentation Oracle. De même, mettez à jour le JDK sur votre OMS en suivant les instructions du document Oracle dont l'ID de document Oracle est : 2241358.1. Cette étape garantit qu'OMS prendra en charge toutes les suites de chiffrement prises en charge par la base de données.
**Note**  
La connectivité TCPS entre Management Agent et l'instance de base de données est uniquement prise en charge pour les versions `OEM_AGENT 13.2.0.0.v3`, `13.3.0.0.v2`, `13.4.0.9.v1` et ultérieures de Management Agent.

## Prérequis à la communication avec l'hôte OMS
<a name="Oracle.Options.OEMAgent.PreReqs.host"></a>

Vérifiez que votre hôte OMS et votre instance de base de données Amazon RDS peuvent communiquer. Procédez comme suit : 
+ Pour établir une connexion entre Management Agent et votre hôte OMS, si ce dernier se trouve derrière un pare-feu, ajoutez les adresses IP de vos instances de base de données au pare-feu. Assurez-vous que le pare-feu de l’OMS autorise le trafic réseau suivant :  
De l’hôte OMS à votre instance de base de données  
Configurez une règle de pare-feu unidirectionnelle qui autorise le trafic en provenance de l’hôte OMS vers le port de l’écouteur de base de données (par défaut, le port 1521) et le port de l’agent OEM (par défaut, le port 3872).  
De votre instance de base de données à l’hôte OMS  
Configurez une règle de pare-feu unidirectionnelle qui autorise le trafic entre l’instance de base de données et le port HTTP OMS (par défaut, le port 4903).
+ Pour établir une connexion entre votre instance OMS et Management Agent, si votre instance OMS possède un nom d'hôte publiquement résolu, ajoutez l'adresse OMS à un groupe de sécurité. Votre groupe de sécurité doit avoir des règles de trafic entrant qui autorisent l'accès au port de l'instance de base de données et au port de Management Agent. Pour obtenir un exemple de création de règles de sécurité et d'ajout de règles de trafic entrant, consultez [Tutoriel : Création d'un VPC à utiliser avec un ) IPv4](CHAP_Tutorials.WebServerDB.CreateVPC.md). 
+ Pour vous connecter depuis votre OMS à l'agent de gestion, si votre OMS ne possède pas de nom d'hôte publiquement résolu, procédez d'une des manières suivantes : 
  + Si votre OMS est hébergé sur une instance Amazon Elastic Compute Cloud (Amazon EC2) dans un VPC privé, vous pouvez configurer un appairage de VPC pour vous connecter depuis l'OMS à l'agent de gestion. Pour plus d'informations, consultez [Une instance de base de données d’un VPC accessible par une instance EC2 d’un autre VPC](USER_VPC.Scenarios.md#USER_VPC.Scenario3). 
  + Si votre OMS est hébergé sur site, vous pouvez configurer une connexion VPN pour autoriser l'accès entre OMS et l'agent de gestion. Pour plus d'informations, consultez [Une instance de base de données d’un VPC accessible par une application cliente via Internet](USER_VPC.Scenarios.md#USER_VPC.Scenario4) ou [Connexions VPN](https://docs.aws.amazon.com/vpc/latest/userguide/vpn-connections.html). 
+ Pour connecter OEM Management Agent version 13.5.0.0 (v1-v3) à un hôte OMS 24.1, configurez `MINIMUM_TLS_VERSION` pour utiliser le protocole TLS 1.2 `TLSv1.2` dans vos options de configuration.

## Limitations pour Management Agent
<a name="Oracle.Options.OEMAgent.limitations"></a>

Voici quelques limitations quant à l'utilisation de Management Agent : 
+ Vous ne pouvez pas fournir d’images personnalisées d’Oracle Management Agent.
+ Les tâches d'administration telles que l'exécution de tâches et l'application de correctifs de bases de données, qui nécessitent des informations d'identification de l'hôte, ne sont pas prises en charge. 
+ Les métriques de l'hôte et la liste des processus ne reflètent pas nécessairement l'état réel du système. Par conséquent, vous ne devez pas utiliser OEM pour surveiller le système de fichiers racine ou le système de fichiers de point de montage. Pour plus d’informations sur la surveillance du système d’exploitation, consultez [Surveillance des métriques du système d’exploitation à l’aide de la Surveillance améliorée](USER_Monitoring.OS.md).
+ La découverte automatique n'est pas prise en charge. Vous devez ajouter manuellement les cibles de base de données. 
+ La disponibilité du module OMS dépend de l'édition de votre base de données. Par exemple, le module de diagnostic et de réglage des performances des bases de données n'est disponible que pour Oracle Database Enterprise Edition. 
+ Management Agent consomme des ressources de mémoire et de calcul supplémentaires. Si vous rencontrez des problèmes de performances après avoir activé l'option `OEM_AGENT`, nous vous recommandons d'augmenter la taille de la classe d'instance de base de données Pour plus d’informations, consultez [Classes d'instances de base de données ](Concepts.DBInstanceClass.md) et [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 
+ L'utilisateur exécutant `OEM_AGENT` sur l'hôte Amazon RDS n'a pas accès au journal des alertes par le système d'exploitation. Vous ne pouvez donc pas collecter de métriques pour `DB Alert Log` et `DB Alert Log Error Status` dans OEM.

## Paramètres de l'option Management Agent
<a name="Oracle.Options.OEMAgent.Options"></a>

Amazon RDS prend en charge les paramètres suivants pour l'option Management Agent.


| Paramètre d'option | Obligatoire | Valeurs valides | Description | 
| --- | --- | --- | --- | 
|  **Version** (`AGENT_VERSION`)  |  Oui  |  `13.5.0.0.v3` `13.5.0.0.v2` `13.5.0.0.v1` `13.4.0.9.v2` `13.4.0.9.v1` `13.3.0.0.v2` `13.3.0.0.v1` `13.2.0.0.v3` `13.2.0.0.v2` `13.2.0.0.v1` `13.1.0.0.v1`  |  La version du logiciel Management Agent. La version minimale prise en charge est `13.1.0.0.v1`. Le nom de AWS CLI l'option est`OptionVersion`.  Dans les AWS GovCloud (US) régions, les versions 13.1 ne sont pas disponibles.   | 
|  **Port** (`AGENT_PORT`)  |  Oui  |  Une valeur d'entier  |  Le port de l'instance de base de données qui écoute l'hôte OMS. La valeur par défaut est 3872. Votre hôte OMS doit appartenir à un groupe de sécurité qui a accès à ce port.  Le nom de AWS CLI l'option est`Port`.  | 
|  **Groupes de sécurité**  |  Oui  |  Groupes de sécurité existants  |  Un groupe de sécurité qui a accès à **Port**. Votre hôte OMS doit appartenir à ce groupe de sécurité.  Le nom de l' AWS CLI option est `VpcSecurityGroupMemberships` ou`DBSecurityGroupMemberships`.  | 
|  **OMS\$1HOST**  |  Oui  |  Une valeur de chaîne, par exemple *my.example.oms*   |  Le nom d'hôte accessible au public ou l'adresse IP de l'OMS.  Le nom de AWS CLI l'option est`OMS_HOST`.  | 
|  **OMS\$1PORT**  |  Oui  |  Une valeur d'entier  |  Le port de chargement HTTPS de l'hôte OMS qui écoute l'agent de gestion.  Pour déterminer le port de chargement the HTTPS, connectez-vous à l'hôte OMS et exécutez la commande suivante (sui nécessite le mot de passe `SYSMAN`) : emctl status oms -details  Le nom de AWS CLI l'option est`OMS_PORT`.  | 
|  **AGENT\$1REGISTRATION\$1PASSWORD**  |  Oui  |  Une valeur de chaîne  |  Le mot de passe que l'agent de gestion utilise pour s'authentifier auprès de l'OMS. Nous vous recommandons de créer un mot de passe permanent dans votre OMS avant d'activer l'option `OEM_AGENT`. Avec un mot de passe permanent, vous pouvez partager un groupe particulier de l'option Management Agent entre plusieurs bases de données Amazon RDS.  Le nom de AWS CLI l'option est`AGENT_REGISTRATION_PASSWORD`.  | 
|  **ALLOW\$1TLS\$1ONLY**  |  Non  |  `true`, `false` (par défaut)  |  Valeur qui configure l'agent OEM pour ne prendre en charge que le protocole `TLSv1` pendant que l'agent écoute en tant que serveur. Ce paramètre n’est plus pris en charge. Les versions 13.1.0.0.v1 et ultérieures de Management Agent prennent en charge le protocole TLS (Transport Layer Security) par défaut.   | 
|  **MINIMUM\$1TLS\$1VERSION**  |  Non  |  `TLSv1` (par défaut), `TLSv1.2`  |  Valeur qui spécifie la version TLS minimale prise en charge par l'agent OEM pendant que l'agent écoute en tant que serveur. Les versions qui ne sont plus prises en charge de l’agent prennent uniquement en charge le paramètre `TLSv1`. Pour connecter 13.5.0.0 (v1-v3) à un hôte OMS 24.1, définissez ce paramètre sur `TLSv1.2`.  | 
|  **TLS\$1CIPHER\$1SUITE**  |  Non  |  Consultez [Paramètres de l'option Management Agent](#Oracle.Options.OEMAgent.Options).  |  Valeur qui spécifie la suite de chiffrement TLS utilisée par l'agent OEM pendant que l'agent écoute en tant que serveur.   | 

La table suivante répertorie les suites de chiffrement TLS prises en charge par l'option Management Agent.


| Suite de chiffrement | Version d'Agent prise en charge | Conforme au programme FedRAMP | 
| --- | --- | --- | 
| TLS\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA | Tous | Non | 
| TLS\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1 SHA256 | 13.1.0.0.v1 et ultérieures | Non | 
| TLS\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA | 13.2.0.0.v3 et ultérieures | Non | 
| TLS\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1 SHA256 | 13.2.0.0.v3 et ultérieures | Non | 
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA | 13.2.0.0.v3 et ultérieures | Oui | 
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA | 13.2.0.0.v3 et ultérieures | Oui | 
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1 SHA256 | 13.2.0.0.v3 et ultérieures | Oui | 
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1 SHA384 | 13.2.0.0.v3 et ultérieures | Oui | 
| TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1GCM\$1 SHA384 | 13.4.0.9.v1 et ultérieures | Oui | 
| TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1CBC\$1 SHA384 | 13.4.0.9.v1 et ultérieures | Oui | 

### Compatibilité des certificats avec les suites de chiffrement
<a name="Oracle.Options.OEMAgent.CertificateCompatibility"></a>

RDS for Oracle prend en charge à la fois les certificats RSA et ECDSA (Elliptic Curve Digital Signature Algorithm). Lorsque vous configurez l’option OEM Agent pour votre instance de base de données, vous devez vous assurer que les suites de chiffrement que vous spécifiez dans le paramètre d’option `TLS_CIPHER_SUITE` sont compatibles avec le type de certificat utilisé par votre instance de base de données.

Le tableau suivant montre la compatibilité entre les types de certificats et les suites de chiffrement :


| Type de certificat | Suites de chiffrement compatibles | Suites de chiffrement incompatibles | 
| --- | --- | --- | 
| Certificats RSA (rds-ca-2019, 2048-g1, 4096-g1) rds-ca-rsa rds-ca-rsa |  TLS\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA TLS\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1 SHA256 TLS\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA TLS\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1 SHA256 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1 SHA256 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1 SHA384  |  TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1GCM\$1 SHA384 TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1CBC\$1 SHA384  | 
| Certificats ECDSA (384-g1) rds-ca-ecc |  TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1GCM\$1 SHA384 TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1CBC\$1 SHA384  |  TLS\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA TLS\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1 SHA256 TLS\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA TLS\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1 SHA256 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1 SHA256 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1 SHA384  | 

Lorsque vous spécifiez une suite de chiffrement dans le paramètre d’option `TLS_CIPHER_SUITE`, assurez-vous qu’il est compatible avec le type de certificat utilisé par votre instance de base de données. Si vous tentez d’associer un groupe d’options à une option OEM Agent contenant une suite de chiffrement incompatible avec le type de certificat d’une instance de base de données, l’opération échoue avec un message d’erreur indiquant l’incompatibilité.

## Activation de l’option Management Agent pour votre instance de base de données
<a name="Oracle.Options.OEMAgent.Enable"></a>

Pour activer l’option Management Agent, procédez comme suit :

**Topics**
+ [

### Étape 1 : Ajout de l’option Management Agent à votre instance de base de données
](#Oracle.Options.OEMAgent.Add)
+ [

### Étape 2 : Déverrouillage du compte utilisateur DBSNMP
](#Oracle.Options.OEMAgent.DBSNMP)
+ [

### Étape 3 : Ajout de vos cibles à la console Management Agent
](#Oracle.Options.OEMAgent.Using)

### Étape 1 : Ajout de l’option Management Agent à votre instance de base de données
<a name="Oracle.Options.OEMAgent.Add"></a>

Pour ajouter l’option Management Agent à votre instance de base de données, procédez comme suit :

1. Créer un groupe d’options ou copier ou modifier un groupe existant.

1. Ajoutez l'option au groupe d'options.

1. Associez le groupe d'options à l'instance de base de données.

Si des erreurs se produisent, vous pouvez consulter les documents [My Oracle Support](https://support.oracle.com/) pour savoir comment résoudre des problèmes spécifiques.

Après avoir ajouté l'option Management Agent, vous n'avez pas besoin de redémarrer votre instance de base de données. Dès que le groupe d'options est actif, l'agent OEM est actif. 

Si votre hôte OMS utilise un certificat tiers non approuvé, Amazon RDS renvoie l'erreur suivante :

```
You successfully installed the OEM_AGENT option. Your OMS host is using an untrusted third party certificate. 
Configure your OMS host with the trusted certificates from your third party.
```

S'il vous renvoie une erreur, l'option Management Agent n'est pas activée avant que le problème soit résolu. Pour plus d'informations sur la résolution des problèmes, consultez le document du Support My Oracle [2202569.1](https://support.oracle.com/epmos/faces/DocContentDisplay?id=2202569.1).

#### Console
<a name="Oracle.Options.OEMAgent.Add.Console"></a>

**Pour ajouter l’option Management Agent à votre instance de base de données**

1. Déterminez le groupe d’options que vous voulez utiliser. Vous pouvez créer un groupe d'options ou utiliser un groupe d'options existant. Si vous souhaitez utiliser un groupe d'options existant, passez à l'étape suivante. Sinon, créez un groupe d'options DB personnalisé avec les paramètres suivants : 

   1. Pour **Moteur**, choisissez l'édition oracle pour votre instance de base de données. 

   1. Pour **Version majeure du moteur**, choisissez la version de votre instance de base de données. 

   Pour plus d'informations, consultez [Création d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Ajoutez l'option **OEM\$1AGENT** pour le groupe d'options et configurez les paramètres de l'option. Pour plus d'informations sur l'ajout d'options, consultez [Ajout d’une option à un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). Pour plus d'informations sur chaque paramètre, consultez [Paramètres de l'option Management Agent](#Oracle.Options.OEMAgent.Options). 

1. Appliquez le groupe d'options à une instance de base de données nouvelle ou existante: 
   + Pour une nouvelle instance de base de données, vous appliquez le groupe d'options lorsque vous lancez l'instance. Pour plus d’informations, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md). 
   + Pour une instance de base de données existante, vous appliquez le groupe d'options en modifiant l'instance et en attachant le nouveau groupe d'options. Pour de plus amples informations, veuillez consulter [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

#### AWS CLI
<a name="Oracle.Options.OEMAgent.Add.CLI"></a>

L'exemple suivant utilise la commande AWS CLI [add-option-to-option-group](https://docs.aws.amazon.com/cli/latest/reference/rds/add-option-to-option-group.html) pour ajouter l'`OEM_AGENT`option à un groupe d'options appelé`myoptiongroup`. 

Pour Linux, macOS ou Unix :

```
aws rds add-option-to-option-group \
    --option-group-name "myoptiongroup" \
    --options OptionName=OEM_AGENT,OptionVersion=13.1.0.0.v1,Port=3872,VpcSecurityGroupMemberships=sg-1234567890,OptionSettings=[{Name=OMS_HOST,Value=my.example.oms},{Name=OMS_PORT,Value=4903},{Name=AGENT_REGISTRATION_PASSWORD,Value=password}] \
    --apply-immediately
```

Pour Windows :

```
aws rds add-option-to-option-group ^
    --option-group-name "myoptiongroup" ^
    --options OptionName=OEM_AGENT,OptionVersion=13.1.0.0.v1,Port=3872,VpcSecurityGroupMemberships=sg-1234567890,OptionSettings=[{Name=OMS_HOST,Value=my.example.oms},{Name=OMS_PORT,Value=4903},{Name=AGENT_REGISTRATION_PASSWORD,Value=password}] ^
    --apply-immediately
```

### Étape 2 : Déverrouillage du compte utilisateur DBSNMP
<a name="Oracle.Options.OEMAgent.DBSNMP"></a>

Management Agent utilise le compte utilisateur `DBSNMP` pour se connecter à la base de données et signaler les problèmes à Oracle Enterprise Manager. Dans une CDB, `DBSNMP` est un utilisateur ordinaire. Ce compte utilisateur est nécessaire à la fois pour Management Agent et pour OEM Database Express. Par défaut, ce compte est verrouillé. La procédure de déverrouillage de ce compte varie selon que votre base de données utilise une architecture non-CDB ou CDB.

**Pour déverrouiller le compte utilisateur DBSNMP**

1. Dans SQL\$1Plus ou une autre application Oracle SQL, connectez-vous en tant qu’utilisateur principal à votre instance de base de données.

1. Procédez comme suit, en fonction de l’architecture de la base de données :  
**Votre base de données est non-CDB.**  
Utilisez l’instruction SQL suivante :  

   ```
   1. ALTER USER dbsnmp IDENTIFIED BY new_password ACCOUNT UNLOCK;
   ```  
**Votre base de données est une CDB.**  
Exécutez la procédure stockée suivante pour déverrouiller le compte `DBSNMP` :  

   ```
   1. EXEC rdsadmin.rdsadmin_util.reset_oem_agent_password('new_password');
   ```
Si vous recevez un message d’erreur indiquant que la procédure n’existe pas, redémarrez votre instance CDB pour l’installer automatiquement. Pour plus d’informations, consultez [Redémarrage d'une instance de base de données cluster de base de données](USER_RebootInstance.md).

### Étape 3 : Ajout de vos cibles à la console Management Agent
<a name="Oracle.Options.OEMAgent.Using"></a>

Pour ajouter une instance de base de données en tant que cible, assurez-vous de connaître le point de terminaison et le port. Pour plus d’informations sur la recherche du point de terminaison de votre instance de base de données Amazon RDS, consultez [Recherche du point de terminaison de votre instance de base de données RDS for Oracle](USER_Endpoint.md). Si votre base de données utilise l’architecture CDB, ajoutez le conteneur `CDB$ROOT` séparément en tant que cible.

**Pour ajouter des cibles à la console Management Agent**

1. Dans la console OMS, choisissez **Setup (Configuration)**, **Add Target (Ajouter une cible)**, **Add Targets Manually (Ajouter des cibles manuellement)**. 

1. Choisissez **Add Targets Declaratively by Specifying Target Monitoring Properties (Ajouter déclarativement des cibles en spécifiant les propriétés de surveillance cibles)**.

1. Pour **Target Type (Type de cible)**, choisissez **Database Instance (Instance de base de données)**.

1. Pour **Monitoring Agent (Agent de surveillance)**, sélectionnez l'agent ayant le même identifiant que votre identifiant d'instance de base de données RDS. 

1. Choisissez **Add Manually (Ajouter manuellement)**.

1. Entrez le point de terminaison de votre instance de base de données Amazon RDS ou sélectionnez-le dans la liste de noms d’hôte. Vérifiez que le nom d'hôte spécifié correspond au point de terminaison de l'instance de base de données Amazon RDS.

1. Spécifiez les propriétés de base de données suivantes :
   + Pour **Target Name (Nom de la cible)**, entrez un nom. 
   + Pour **Database system name (Nom du système de base de données)**, entrez un nom.
   + Pour **Monitor username (Nom d'utilisateur de surveillance)**, entrez **dbsnmp**. 
   + Pour **Mot de passe de surveillance**, entrez le mot de passe de [Étape 2 : Déverrouillage du compte utilisateur DBSNMP](#Oracle.Options.OEMAgent.DBSNMP). 
   + Pour **Role (Rôle)**, entrez **normal**. 
   + Pour **Oracle home path (Chemin d'origine Oracle)**, entrez **/oracle**. 
   + Pour **Listener Machine name (Nom de machine d'écouteur)**, l'identifiant de l'agent est déjà affiché. 
   + Pour **Port**, entrez le port de la base de données. La port RDS par défaut est 1521. 
   + Pour **Database name (Nom de la base de données)**, entrez le nom de votre base de données. Si votre base de données est une CDB, ce nom est `RDSCDB`. 

1. Choisissez **Test Connection (Connexion test)**. 

1. Choisissez **Suivant**. La base de données cible apparaît dans votre liste de ressources surveillées. 

## Suppression de l'option Management Agent
<a name="Oracle.Options.OEMAgent.Remove"></a>

Vous pouvez supprimer l'agent OEM d'une instance de base de données. Lorsque vous avez supprimé l'agent OEM, vous n'avez pas besoin de redémarrer votre instance de base de données. 

Pour supprimer l'agent OEM d'une instance de base de données, effectuez l'une des actions suivantes : 
+ Supprimez l'option OEM Agent du groupe d'options auquel elle appartient. Ce changement affecte toutes les instances de bases de données qui utilisent le groupe d'options. Pour plus d'informations, consultez [Suppression d’une option d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption). 
+ Modifiez l'instance de base de données et spécifiez un groupe d'options différent qui n'inclut pas l'option OEM Agent. Ce changement affecte une seule instance de base de données. Vous pouvez spécifier le groupe d’options (vide) par défaut, ou un groupe d’options personnalisées différent. Pour plus d’informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

## Exécution de tâches de base de données avec l'option Management Agent
<a name="Oracle.Options.OEMAgent.DBTasks"></a>

Vous pouvez utiliser les procédures Amazon RDS for exécuter certaines commandes EMCTL sur Management Agent. Ces procédures vous permettent d'exécuter les tâches indiquées ci-après.

**Note**  
Les tâches sont exécutées de manière asynchrone.

**Topics**
+ [

### Sécurisation de Management Agent
](#Oracle.Options.OEMAgent.DBTasks.SecureAgent)
+ [

### Obtenir le statut de l'agent de gestion
](#Oracle.Options.OEMAgent.DBTasks.GetAgentStatus)
+ [

### Redémarrage du Management Agent
](#Oracle.Options.OEMAgent.DBTasks.RestartAgent)
+ [

### Liste des cibles surveillées par le Management Agent
](#Oracle.Options.OEMAgent.DBTasks.ListTargets)
+ [

### Constitution de la liste des threads de collecte surveillés par Management Agent
](#Oracle.Options.OEMAgent.DBTasks.ListCollectionThreads)
+ [

### Suppression de l'état du Management Agent
](#Oracle.Options.OEMAgent.DBTasks.ClearState)
+ [

### Chargement de l'OMS par le Management Agent
](#Oracle.Options.OEMAgent.DBTasks.ForceUploadOMS)
+ [

### Envoi de la commande Ping vers l'OMS
](#Oracle.Options.OEMAgent.DBTasks.PingOMS)
+ [

### Affichage du statut d'une tâche en cours
](#Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus)

### Sécurisation de Management Agent
<a name="Oracle.Options.OEMAgent.DBTasks.SecureAgent"></a>

Pour redémarrer Management Agent, exécutez la procédure Amazon RDS `rdsadmin.rdsadmin_oem_agent_tasks.secure_oem_agent`. Cette procédure équivaut à exécuter la commande `emctl secure agent`.

La procédure suivante crée une tâche permettant de sécuriser Management Agent et renvoie l’ID de la tâche :

```
SELECT rdsadmin.rdsadmin_oem_agent_tasks.secure_oem_agent as TASK_ID from DUAL;
```

Pour afficher le fichier de résultat pour la tâche et voir le résultat, consultez [Affichage du statut d'une tâche en cours](#Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus).

### Obtenir le statut de l'agent de gestion
<a name="Oracle.Options.OEMAgent.DBTasks.GetAgentStatus"></a>

Pour obtenir le statut de l'agent de gestion, exécutez la procédure Amazon RDS `rdsadmin.rdsadmin_oem_agent_tasks.get_status_oem_agent`. Cette procédure est équivalente à la commande `emctl status agent`.

La procédure suivante crée une tâche permettant d'obtenir le statut du Management Agent et renvoie l'ID de la tâche.

```
SELECT rdsadmin.rdsadmin_oem_agent_tasks.get_status_oem_agent() as TASK_ID from DUAL;
```

Pour afficher le fichier de résultat pour la tâche et voir le résultat, consultez [Affichage du statut d'une tâche en cours](#Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus).

### Redémarrage du Management Agent
<a name="Oracle.Options.OEMAgent.DBTasks.RestartAgent"></a>

Pour redémarrer le Management Agent, exécutez la procédure Amazon RDS `rdsadmin.rdsadmin_oem_agent_tasks.restart_oem_agent`. Cette procédure équivaut à exécuter les commandes `emctl stop agent` et `emctl start agent`.

La procédure suivante crée une tâche permettant de redémarrer Management Agent et renvoie l'ID de la tâche.

```
SELECT rdsadmin.rdsadmin_oem_agent_tasks.restart_oem_agent as TASK_ID from DUAL;    
```

Pour afficher le fichier de résultat pour la tâche et voir le résultat, consultez [Affichage du statut d'une tâche en cours](#Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus).

### Liste des cibles surveillées par le Management Agent
<a name="Oracle.Options.OEMAgent.DBTasks.ListTargets"></a>

Pour répertorier les cibles surveillées par le Management Agent, exécutez la procédure Amazon RDS `rdsadmin.rdsadmin_oem_agent_tasks.list_targets_oem_agent`. Cette procédure équivaut à exécuter la commande `emctl config agent listtargets`.

La procédure suivante crée une tâche pour répertorier les cibles surveillées par Management Agent et renvoie l'ID de la tâche.

```
SELECT rdsadmin.rdsadmin_oem_agent_tasks.list_targets_oem_agent as TASK_ID from DUAL;
```

Pour afficher le fichier de résultat pour la tâche et voir le résultat, consultez [Affichage du statut d'une tâche en cours](#Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus).

### Constitution de la liste des threads de collecte surveillés par Management Agent
<a name="Oracle.Options.OEMAgent.DBTasks.ListCollectionThreads"></a>

Pour répertorier tous les threads de collecte (en cours d'exécution, prêts et planifiés) surveillés par Management Agent, exécutez la procédure Amazon RDS `rdsadmin.rdsadmin_oem_agent_tasks.list_clxn_threads_oem_agent`. Cette procédure est équivalente à la commande `emctl status agent scheduler`.

La procédure suivante crée une tâche pour répertorier les threads de collecte et renvoie l'ID de la tâche.

```
SELECT rdsadmin.rdsadmin_oem_agent_tasks.list_clxn_threads_oem_agent() as TASK_ID from DUAL;          
```

Pour afficher le fichier de résultat pour la tâche et voir le résultat, consultez [Affichage du statut d'une tâche en cours](#Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus).

### Suppression de l'état du Management Agent
<a name="Oracle.Options.OEMAgent.DBTasks.ClearState"></a>

Pour supprimer l'état du Management Agent, exécutez la procédure Amazon RDS `rdsadmin.rdsadmin_oem_agent_tasks.clearstate_oem_agent`. Cette procédure équivaut à exécuter la commande `emctl clearstate agent`.

La procédure suivante crée une tâche permettant d'annuler le statut de Management Agent et renvoie l'ID de la tâche.

```
SELECT rdsadmin.rdsadmin_oem_agent_tasks.clearstate_oem_agent() as TASK_ID from DUAL;
```

Pour afficher le fichier de résultat pour la tâche et voir le résultat, consultez [Affichage du statut d'une tâche en cours](#Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus).

### Chargement de l'OMS par le Management Agent
<a name="Oracle.Options.OEMAgent.DBTasks.ForceUploadOMS"></a>

Pour que le Management Agent charge l'OMS (Oracle Management Server) qui lui est associé, exécutez la procédure Amazon RDS `rdsadmin.rdsadmin_oem_agent_tasks.upload_oem_agent`. Cette procédure équivaut à exécuter la commande `emclt upload agent`.

La procédure suivante crée une tâche dans laquelle Management Agent charge son OMS associé et renvoie l'ID de la tâche.

```
SELECT rdsadmin.rdsadmin_oem_agent_tasks.upload_oem_agent() as TASK_ID from DUAL;
```

Pour afficher le fichier de résultat pour la tâche et voir le résultat, consultez [Affichage du statut d'une tâche en cours](#Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus).

### Envoi de la commande Ping vers l'OMS
<a name="Oracle.Options.OEMAgent.DBTasks.PingOMS"></a>

Pour envoyer la commande Ping à l'OMS du Management Agent, exécutez la procédure Amazon RDS `rdsadmin.rdsadmin_oem_agent_tasks.ping_oms_oem_agent`. Cette procédure équivaut à exécuter la commande `emctl pingOMS`.

La procédure suivante crée une tâche permettant de pinger l'OMS de Management Agent et renvoie l'ID de la tâche.

```
SELECT rdsadmin.rdsadmin_oem_agent_tasks.ping_oms_oem_agent() as TASK_ID from DUAL;
```

Pour afficher le fichier de résultat pour la tâche et voir le résultat, consultez [Affichage du statut d'une tâche en cours](#Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus).

### Affichage du statut d'une tâche en cours
<a name="Oracle.Options.OEMAgent.DBTasks.ViewTaskStatus"></a>

Vous pouvez consulter le statut d'une tâche en cours dans un fichier bdump. Les fichiers bdump se trouvent dans le répertoire `/rdsdbdata/log/trace`. Chaque nom de fichier bdump a le format suivant.

```
dbtask-task-id.log 
```

Lorsque vous souhaitez surveiller une tâche, remplacez `task-id` par l'ID de la tâche que vous souhaitez surveiller.

Pour afficher le contenu des fichiers bdump, exécutez la procédure Amazon RDS `rdsadmin.rds_file_util.read_text_file`. La requête suivante renvoie le contenu du fichier bdump `dbtask-1546988886389-2444.log`. 

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-1546988886389-2444.log'));
```

Pour plus d’informations sur la procédure Amazon RDS `rdsadmin.rds_file_util.read_text_file`, consultez [Lecture de fichiers dans un répertoire d'instance de base de données](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ReadingFiles).

# Oracle Label Security
<a name="Oracle.Options.OLS"></a>

Amazon RDS prend en charge Oracle Label Security pour Oracle Database Enterprise Edition, grâce à l'utilisation de l'option OLS.

La plupart des contrôles de sécurité de base de données accèdent au niveau de l'objet. Oracle Label Security offre un contrôle d'accès précis aux lignes de table individuelles. Par exemple, vous pouvez utiliser Label Security pour assurer la conformité réglementaire avec un modèle d'administration basé sur politique. Vous pouvez utiliser des politiques Label Security pour contrôler l'accès aux données sensibles et limiter l'accès aux seuls utilisateurs dotés du niveau d'autorisation approprié. Pour plus d'informations, consultez [Introduction to Oracle Label Security](https://docs.oracle.com/database/121/OLSAG/intro.htm#OLSAG001) dans la documentation Oracle.

**Topics**
+ [

## Exigences pour Oracle Label Security
](#Oracle.Options.OLS.PreReqs)
+ [

## Considérations relatives à l’utilisation d’Oracle Label Security
](#Oracle.Options.OLS.Using)
+ [

## Ajout de l'option Oracle Label Security
](#Oracle.Options.OLS.Add)
+ [

## Résolution des problèmes
](#Oracle.Options.OLS.Troubleshooting)

## Exigences pour Oracle Label Security
<a name="Oracle.Options.OLS.PreReqs"></a>

Familiarisez-vous avec les exigences suivantes pour Oracle Label Security : 
+ Votre instance de base de données doit utiliser le modèle Apportez votre propre licence. Pour plus d'informations, consultez [Options de licence RDS for Oracle](Oracle.Concepts.Licensing.md). 
+ Vous devez disposer d'une licence valide pour Oracle Enterprise Edition avec la licence de mise à jour du logiciel et le support. 
+ Votre licence Oracle doit inclure l'option Label Security.

## Considérations relatives à l’utilisation d’Oracle Label Security
<a name="Oracle.Options.OLS.Using"></a>

Pour utiliser Oracle Label Security, vous créez des politiques qui contrôlent l'accès à des lignes spécifiques dans vos tables. Pour plus d'informations, consultez [Creating an Oracle Label Security Policy (Créer une stratégie Oracle Label Security)](https://docs.oracle.com/database/121/OLSAG/getstrtd.htm#OLSAG3096) dans la documentation Oracle. 

Éléments à prendre en compte :
+ Oracle Label Security est une option permanente et persistante. Comme cette option est permanente, vous ne pouvez pas la supprimer d'un groupe d'options. Si vous ajoutez Oracle Label Security à un groupe d'options et que vous l'associez à votre instance de base de données, vous pouvez ultérieurement associer un autre groupe d'options à votre instance de base de données, mais ce groupe doit également contenir l'option Oracle Label Security.
+ Lorsque vous travaillez avec Label Security, vous effectuez toutes les actions avec le rôle de `LBAC_DBA`. L’utilisateur principal pour votre instance de base de données se voit accorder le rôle `LBAC_DBA`. Vous pouvez accorder le rôle `LBAC_DBA` à d’autres utilisateurs pour leur permettre d’administrer des politiques Label Security.
+ Veillez à accorder l’accès au package `OLS_ENFORCEMENT` à tous les nouveaux utilisateurs qui ont besoin d’accéder à Oracle Label Security. Pour accorder l'accès au package `OLS_ENFORCEMENT`, connectez-vous à l'instance de base de données en tant qu'utilisateur principal, puis exécutez l'instruction SQL suivante :

  ```
  GRANT ALL ON LBACSYS.OLS_ENFORCEMENT TO username;
  ```
+ Vous pouvez configurer Label Security via Oracle Enterprise Manager (OEM) Cloud Control. Amazon RDS prend en charge OEM Cloud Control via l’option Management Agent. Pour plus d’informations, consultez [Oracle Management Agent pour Enterprise Manager Cloud Control](Oracle.Options.OEMAgent.md). 

## Ajout de l'option Oracle Label Security
<a name="Oracle.Options.OLS.Add"></a>

Le processus général d'ajout de l'option Oracle Label Security à une instance de base de données est le suivant : 

1. Créer un groupe d'options ou copier ou modifier un groupe existant.

1. Ajoutez l’option au groupe d’options.
**Important**  
Oracle Label Security est une option permanente et persistante.

1. Associez le groupe d’options à l’instance de base de données.

Lorsque vous ajoutez l'option Label Security, dès que le groupe d'options est actif, l'option Label Security est active. 

**Pour ajouter l'option Label Security à une instance de base de données**

1. Déterminez le groupe d'options que vous voulez utiliser. Vous pouvez créer un groupe d'options ou utiliser un groupe d'options existant. Si vous souhaitez utiliser un groupe d'options existant, passez à l'étape suivante. Sinon, créez un groupe d'options DB personnalisé avec les paramètres suivants : 

   1. Pour **Moteur**, choisissez **oracle-ee**. 

   1. Pour **Version majeure du moteur**, choisissez la version de votre instance de base de données. 

   Pour plus d'informations, consultez [Création d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Ajouter l'option **OLS** au groupe d'options. Pour plus d'informations sur l'ajout d'options, consultez [Ajout d’une option à un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). 
**Important**  
Si vous ajoutez l'option Label Security dans un groupe d'options existant qui est déjà attaché à une ou plusieurs instances de base de données, toutes les instances de base de données sont redémarrées. 

1. Appliquez le groupe d'options à une instance de base de données nouvelle ou existante: 
   + Pour une nouvelle instance de base de données, vous appliquez le groupe d'options lorsque vous lancez l'instance. Pour plus d’informations, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md). 

      
   + Pour une instance de base de données existante, vous appliquez le groupe d'options en modifiant l'instance et en attachant le nouveau groupe d'options. Lorsque vous ajoutez l'option Label Security à une instance de base de données existante, une brève panne se produit pendant le redémarrage automatique de votre instance de base de données. Pour plus d’informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md).

## Résolution des problèmes
<a name="Oracle.Options.OLS.Troubleshooting"></a>

Ci-après des problèmes que vous pouvez rencontrer en utilisant Oracle Label Security. 


****  

| Problème | Suggestions de dépannage | 
| --- | --- | 
|  Lorsque vous essayez de créer une stratégie, vous voyez un message d'erreur similaire à ce qui suit : `insufficient authorization for the SYSDBA package`.   |  Un problème connu avec la fonctionnalité Label Security d'Oracle empêche les utilisateurs avec des noms d'utilisateur de 16 ou 24 caractères d'exécuter des commandes Label Security. Vous pouvez créer un nouvel utilisateur comportant un nombre différent de caractères, accorder LBAC\$1DBA au nouvel utilisateur, vous connecter comme le nouvel utilisateur et exécuter les commandes OLS en tant que ce nouvel utilisateur. Pour plus d’informations, contactez le support d’Oracle.   | 

# Oracle Locator
<a name="Oracle.Options.Locator"></a>

Amazon RDS prend en charge Oracle Locator par l'intermédiaire de l'option `LOCATOR`. Oracle Locator fournit des capacités généralement requises pour prendre en charge les applications basées sur des services sans fil et sur Internet, ainsi que les solutions GIS basées sur le partenariat. Oracle Locator est un sous-ensemble limité d'Oracle Spatial. Pour plus d'informations, consultez [Oracle Locator](https://docs.oracle.com/database/121/SPATL/sdo_locator.htm#SPATL340) dans la documentation d'Oracle. 

**Important**  
Si vous utilisez Oracle Locator, Amazon RDS met automatiquement à jour votre instance de base de données vers le PSU Oracle le plus récent en cas de vulnérabilités de sécurité présentant un score de Common Vulnerability Scoring System (CVSS) égal ou supérieur à 9, ou d'autres vulnérabilités de sécurité annoncées. 

## Versions de base de données prises en charge pour Oracle Locator
<a name="Oracle.Options.Locator.Releases"></a>

RDS for Oracle prend en charge Oracle Locator pour Oracle Database 19c. Oracle Locator n'est pas pris en charge par Oracle Database 21c, mais sa fonctionnalité est disponible dans l'option Oracle Spatial. Auparavant, l'option Spatial nécessitait des licences supplémentaires. Oracle Locator représentait un sous-ensemble des fonctionnalités de Oracle Spatial et ne nécessitait pas de licences supplémentaires. En 2019, Oracle a annoncé que toutes les fonctionnalités de Oracle Spatial étaient incluses dans les licences Enterprise Edition et Standard Edition 2 sans coût supplémentaire. Par conséquent, l'option Oracle Spatial ne nécessite plus de licence supplémentaire. Pour plus d'informations, consultez l'article [Machine Learning, Spatial and Graph - No License Required\$1](https://blogs.oracle.com/database/post/machine-learning-spatial-and-graph-no-license-required) (Machine Learning, Spatial et Graph — Aucune licence requise \$1) sur le blog Oracle Database Insider.

## Prérequis pour Oracle Locator
<a name="Oracle.Options.Locator.PreReqs"></a>

Les conditions suivantes sont requises pour utiliser Oracle Locator : 
+ Votre instance de base de données doit être d'une classe suffisante. Oracle Locator n’est pas pris en charge pour les classes d’instance de base de données db.t3.small. Pour plus d’informations, consultez [Classes d’instance de base de données RDS for Oracle](Oracle.Concepts.InstanceClasses.md). 
+ Votre instance de base de données doit avoir l'option **Auto Minor Version Upgrade (Mise à niveau automatique des versions mineures)** activée. Cette option permet à votre instance de base de données de recevoir automatiquement des mises à niveau mineures de version du moteur de base de données quand elles sont disponibles, et est requise pour toutes les options qui installent la machine virtuelle Java (JVM) Oracle. Amazon RDS utilise cette option pour mettre à jour votre instance de base de données vers le dernier PSU (Patch Set Update) ou la dernière mise à jour (RU) Oracle. Pour plus d'informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

## Bonnes pratiques pour Oracle Locator
<a name="Oracle.Options.Locator.BestPractces"></a>

Les bonnes pratiques suivantes sont requises pour utiliser Oracle Locator : 
+ Pour une sécurité maximale, utilisez l'option `LOCATOR` avec Secure Sockets Layer (SSL). Pour plus d'informations, consultez [Oracle Secure Sockets Layer (SSL)](Appendix.Oracle.Options.SSL.md). 
+ Configurez votre instance de base de données pour en restreindre l'accès. Pour plus d’informations, consultez [Scénarios d’accès à une instance de base de données d’un VPC](USER_VPC.Scenarios.md) et [Utilisation d’une instance de base de données dans un VPC](USER_VPC.WorkingWithRDSInstanceinaVPC.md). 

## Ajout de l'option Oracle Locator
<a name="Oracle.Options.Locator.Add"></a>

La procédure générale suivante permet d'ajouter l'option `LOCATOR` à une instance de base de données : 

1. Créer un groupe d'options ou copier ou modifier un groupe existant.

1. Ajoutez l'option au groupe d'options.

1. Associez le groupe d'options à l'instance de base de données.

Si Oracle Java Virtual Machine (JVM) *n'est pas* installé sur l'instance de base de données, il y a une brève panne lorsque l'option `LOCATOR` est ajoutée. Il n'y a pas de panne si Oracle Java Virtual Machine (JVM) est déjà installé sur l'instance de base de données. Une fois que vous ajoutez l'option, vous n'avez pas besoin de redémarrer votre instance de base de données. Dès que le groupe d'options est actif, Oracle Locator est disponible. 

**Note**  
Durant cette interruption, les fonctions de vérification de mot de passe sont brièvement désactivées. Vous pouvez également vous attendre à voir des événements liés aux fonctions de vérification de mot de passe durant l'interruption. Les fonctions de vérification de mot de passe sont activées de nouveau avant que l'instance de base de données Oracle ne soit disponible.

**Pour ajouter l'option `LOCATOR` à une instance de base de données**

1. Déterminez le groupe d'options que vous voulez utiliser. Vous pouvez créer un groupe d'options ou utiliser un groupe d'options existant. Si vous souhaitez utiliser un groupe d'options existant, passez à l'étape suivante. Sinon, créez un groupe d'options DB personnalisé avec les paramètres suivants : 

   1. Pour **Moteur**, choisissez l'édition oracle pour votre instance de base de données. 

   1. Pour **Version majeure du moteur**, choisissez la version de votre instance de base de données. 

   Pour plus d'informations, consultez [Création d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Ajoutez l'option **LOCATOR** au groupe d'options. Pour plus d'informations sur l'ajout d'options, consultez [Ajout d’une option à un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). 

1. Appliquez le groupe d'options à une instance de base de données nouvelle ou existante: 
   + Pour une nouvelle instance de base de données, vous appliquez le groupe d'options lorsque vous lancez l'instance. Pour plus d’informations, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md). 
   + Pour une instance de base de données existante, vous appliquez le groupe d'options en modifiant l'instance et en attachant le nouveau groupe d'options. Pour plus d'informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

## Utilisation d'Oracle Locator
<a name="Oracle.Options.Locator.Using"></a>

Une fois que vous activez l'option Oracle Locator, vous pouvez commencer à l'utiliser. Utilisez uniquement les fonctions Oracle Locator. N'utilisez pas les fonctions Oracle Spatial, sauf si vous avez la licence correspondante. 

Pour obtenir la liste des fonctions prises en charge pour Oracle Locator, consultez [Fonctions incluses avec Locator](https://docs.oracle.com/database/121/SPATL/sdo_locator.htm#GUID-EC6DEA23-8FD7-4109-A0C1-93C0CE3D6FF2__CFACCEEG) dans la documentation d'Oracle. 

Pour obtenir la liste des fonctions qui ne sont pas prises en charge pour Oracle Locator, consultez [Fonctions non incluses avec Locator](https://docs.oracle.com/database/121/SPATL/sdo_locator.htm#GUID-EC6DEA23-8FD7-4109-A0C1-93C0CE3D6FF2__CFABACEA) dans la documentation d'Oracle. 

## Suppression de l'option Oracle Locator
<a name="Oracle.Options.Locator.Remove"></a>

Après avoir supprimé tous les objets qui utilisent des types de données fournis par l'option `LOCATOR`, vous pouvez supprimer l'option d'une instance de base de données. Si Oracle Java Virtual Machine (JVM) *n'est pas* installé sur l'instance de base de données, il y a une brève panne lorsque l'option `LOCATOR` est supprimée. Il n'y a pas de panne si Oracle Java Virtual Machine (JVM) est déjà installé sur l'instance de base de données. Une fois que vous supprimez l'option `LOCATOR`, vous n'avez pas besoin de redémarrer votre instance de base de données. 

**Pour supprimer l'option `LOCATOR`**

1. Sauvegardez vos données.
**Avertissement**  
Si l'instance utilise des types de données qui ont été activés dans le cadre de l'option, et si vous supprimez l'option `LOCATOR`, vous pouvez perdre des données. Pour plus d'informations, consultez [Sauvegarde, restauration et exportation de données](CHAP_CommonTasks.BackupRestore.md).

1. Vérifiez si des objets existants font référence à des types de données ou à des fonctionnalités de l'option `LOCATOR`. 

   Si des options `LOCATOR` existent, l'instance peut rester bloquée lors de l'application du nouveau groupe d'options qui n'a pas l'option `LOCATOR`. Vous pouvez identifier les objets à l'aide des requêtes suivantes :

   ```
   SELECT OWNER, SEGMENT_NAME, TABLESPACE_NAME, BYTES/1024/1024 mbytes
   FROM   DBA_SEGMENTS
   WHERE  SEGMENT_TYPE LIKE '%TABLE%'
   AND    (OWNER, SEGMENT_NAME) IN
          (SELECT DISTINCT OWNER, TABLE_NAME 
           FROM   DBA_TAB_COLUMNS
           WHERE  DATA_TYPE='SDO_GEOMETRY'
           AND    OWNER <> 'MDSYS')
   ORDER BY 1,2,3,4;
   
   SELECT OWNER, TABLE_NAME, COLUMN_NAME
   FROM   DBA_TAB_COLUMNS 
   WHERE  DATA_TYPE = 'SDO_GEOMETRY' 
   AND    OWNER <> 'MDSYS' 
   ORDER BY 1,2,3;
   ```

1. Supprimez tous les objets qui font référence à des types de données ou à des fonctionnalités de l'option `LOCATOR`.

1. Effectuez l'une des actions suivantes :
   + Supprimez l'option `LOCATOR` du groupe d'options auquel elle appartient. Ce changement affecte toutes les instances de bases de données qui utilisent le groupe d’options. Pour plus d'informations, consultez [Suppression d’une option d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption).
   + Modifiez l'instance de base de données et spécifiez un groupe d'options différent qui n'inclut pas l'option `LOCATOR`. Ce changement affecte une seule instance de base de données. Vous pouvez spécifier le groupe d’options (vide) par défaut, ou un groupe d’options personnalisées différent. Pour plus d’informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

# Oracle NNE (Native Network Encryption)
<a name="Appendix.Oracle.Options.NetworkEncryption"></a>

Amazon RDS prend en charge le chiffrement Oracle NNE. Avec l’option `NATIVE_NETWORK_ENCRYPTION`, vous pouvez chiffrer les données lors de leur déplacement vers ou depuis une instance de base de données. Amazon RDS prend en charge NNE pour toutes les éditions de base de données Oracle.

Une présentation détaillée d'Oracle NNE dépasse le propos de ce guide, mais vous devez bien comprendre les points forts et les points faibles de chaque algorithme et de chaque clé avant de choisir une solution pour votre déploiement. Pour plus d'informations sur les algorithmes et les clés qui sont disponibles via Oracle NNE, consultez [Configuration du chiffrement des données réseau](http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r2/prod/security/network_encrypt/ntwrkencrypt.htm) dans la documentation Oracle. Pour plus d'informations sur la sécurité d'AWS, consultez le [Centre de sécurité AWS](https://aws.amazon.com/security).

**Note**  
Vous pouvez utiliser le chiffrement réseau natif ou le protocole SSL (Secure Sockets Layer), mais pas les deux. Pour plus d’informations, consultez [Oracle Secure Sockets Layer (SSL)](Appendix.Oracle.Options.SSL.md). 

**Topics**
+ [

# Paramètres de l’option NATIVE\$1NETWORK\$1ENCRYPTION
](Oracle.Options.NNE.Options.md)
+ [

# Ajout de l’option NATIVE\$1NETWORK\$1ENCRYPTION
](Oracle.Options.NNE.Add.md)
+ [

# Définition des valeurs NNE dans sqlnet.ora
](Oracle.Options.NNE.Using.md)
+ [

# Modification des paramètres de l’option NATIVE\$1NETWORK\$1ENCRYPTION
](Oracle.Options.NNE.ModifySettings.md)
+ [

# Suppression de l’option NATIVE\$1NETWORK\$1ENCRYPTION
](Oracle.Options.NNE.Remove.md)

# Paramètres de l’option NATIVE\$1NETWORK\$1ENCRYPTION
<a name="Oracle.Options.NNE.Options"></a>

Vous pouvez spécifier les exigences de chiffrement à la fois sur le serveur et le client. L'instance de base de données peut agir en tant que client lorsque, par exemple, elle utilise un lien de base de données pour se connecter à une autre base de données. Vous pouvez éviter de forcer le chiffrement côté serveur. Par exemple, vous pouvez ne pas forcer toutes les communications client à utiliser le chiffrement car le serveur en a besoin. Dans ce cas, vous pouvez forcer le chiffrement côté client à l’aide des options `SQLNET.*CLIENT`.

Amazon RDS prend en charge les paramètres suivants pour l’option `NATIVE_NETWORK_ENCRYPTION`.

**Note**  
Lorsque vous utilisez des virgules pour séparer les valeurs d'un paramètre d'option, ne placez pas d'espace après la virgule.


****  

| Paramètre d'option | Valeurs valides | Valeurs par défaut | Description | 
| --- | --- | --- | --- | 
|  `SQLNET.ALLOW_WEAK_CRYPTO_CLIENTS`  |  `TRUE`, `FALSE`  |  `TRUE`  |  Comportement du serveur lorsqu'un client utilisant un chiffrement non sécurisé tente de se connecter à la base de données. Si `TRUE`, les clients peuvent se connecter même s'ils ne sont pas corrigés avec la PSU de juillet 2021.  Si le paramètre est `FALSE`, les clients peuvent se connecter à la base de données uniquement lorsqu'ils sont corrigés avec la PSU de juillet 2021. Avant de paramétrer `SQLNET.ALLOW_WEAK_CRYPTO_CLIENTS` à `FALSE`, assurez-vous que les conditions suivantes sont remplies : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/Oracle.Options.NNE.Options.html)  | 
|  `SQLNET.ALLOW_WEAK_CRYPTO`  |  `TRUE`, `FALSE`  |  `TRUE`  |  Comportement du serveur lorsqu'un client utilisant un chiffrement non sécurisé tente de se connecter à la base de données. Les chiffrements suivants sont considérés comme non sécurisés : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/Oracle.Options.NNE.Options.html) Si le paramètre est `TRUE`, les clients peuvent se connecter lorsqu'ils utilisent les chiffrements non sécurisés précédents. Si le paramètre est `FALSE`, la base de données empêche les clients de se connecter lorsqu'ils utilisent les chiffrements non sécurisés précédents. Avant de paramétrer `SQLNET.ALLOW_WEAK_CRYPTO` à `FALSE`, assurez-vous que les conditions suivantes sont remplies : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/Oracle.Options.NNE.Options.html)  | 
|  `SQLNET.CRYPTO_CHECKSUM_CLIENT`  |  `Accepted`, `Rejected`, `Requested`, `Required`   |  `Requested`  |  Comportement d'intégrité des données quand une instance de base de données se connecte au client, ou à un serveur agissant en tant que client. Lorsqu'une instance DB utilise un lien de base de données, elle agit en tant que client. `Requested` indique que le client ne nécessite pas que l'instance de base de données effectue un total de contrôle.  | 
|  `SQLNET.CRYPTO_CHECKSUM_SERVER`  |  `Accepted`, `Rejected`, `Requested`, `Required`   |  `Requested`  |  Comportement d'intégrité des données quand un client, ou un serveur agissant en tant que client, se connecte à l'instance de base de données. Lorsqu'une instance DB utilise un lien de base de données, elle agit en tant que client. `Requested` indique que l'instance de base de données ne nécessite pas que le client effectue un total de contrôle.  | 
|  `SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT`  |  `SHA256`, `SHA384`, `SHA512`, `SHA1`, `MD5`  |  `SHA256`, `SHA384`, `SHA512`  |  Une liste d’algorithmes de somme de contrôle. Vous pouvez spécifier une valeur ou une liste de valeurs séparées par des virgules. Si vous spécifiez une virgule, n’insérez pas d’espace après celle-ci ; sinon, vous recevez une erreur `InvalidParameterValue`. Ce paramètre et `SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER ` doivent avoir un chiffrement commun.  | 
|  `SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER`  |  `SHA256`, `SHA384`, `SHA512`, `SHA1`, `MD5`  |  `SHA256`, `SHA384`, `SHA512`, `SHA1`, `MD5`  |  Une liste d’algorithmes de somme de contrôle. Vous pouvez spécifier une valeur ou une liste de valeurs séparées par des virgules. Si vous spécifiez une virgule, n’insérez pas d’espace après celle-ci ; sinon, vous recevez une erreur `InvalidParameterValue`. Ce paramètre et `SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT` doivent avoir un chiffrement commun.  | 
|  `SQLNET.ENCRYPTION_CLIENT`  |  `Accepted`, `Rejected`, `Requested`, `Required`   |  `Requested`  |  Comportement de chiffrement du client quand un client, ou un serveur agissant en tant que client, se connecte à l'instance de base de données. Lorsqu'une instance DB utilise un lien de base de données, elle agit en tant que client. `Requested` indique que le client ne requiert pas que le trafic depuis l'instance de base de données soit chiffré.  | 
|  `SQLNET.ENCRYPTION_SERVER`  |  `Accepted`, `Rejected`, `Requested`, `Required`   |  `Requested`  |  Comportement de chiffrement du serveur quand un client, ou un serveur agissant en tant que client, se connecte à l'instance de base de données. Lorsqu'une instance DB utilise un lien de base de données, elle agit en tant que client. `Requested` indique que l'instance de base de données ne requiert pas que le trafic depuis le client soit chiffré.  | 
|  `SQLNET.ENCRYPTION_TYPES_CLIENT`  |  `RC4_256`, `AES256`, `AES192`, `3DES168`, `RC4_128`, `AES128`, `3DES112`, `RC4_56`, `DES`, `RC4_40`, `DES40`  |  `RC4_256`, `AES256`, `AES192`, `3DES168`, `RC4_128`, `AES128`, `3DES112`, `RC4_56`, `DES`, `RC4_40`, `DES40`  |  Liste d'algorithmes de chiffrement utilisés par le client. Le client tente de déchiffrer l'entrée du serveur en essayant chaque algorithme, dans l'ordre, jusqu'à ce qu'un algorithme réussisse ou que la fin de la liste soit atteinte.  Amazon RDS utilise la liste par défaut suivante d’Oracle. RDS commence par `RC4_256` et parcourt la liste dans l'ordre. Vous pouvez modifier l'ordre ou limiter les algorithmes que l'instance de base de données accepte.  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/Oracle.Options.NNE.Options.html) Vous pouvez spécifier une valeur ou une liste de valeurs séparées par des virgules. Si vous spécifiez une virgule, n’insérez pas d’espace après celle-ci ; sinon, vous recevez une erreur `InvalidParameterValue`. Ce paramètre et `SQLNET.SQLNET.ENCRYPTION_TYPES_SERVER` doivent avoir un chiffrement commun.  | 
|  `SQLNET.ENCRYPTION_TYPES_SERVER`  |  `RC4_256`, `AES256`, `AES192`, `3DES168`, `RC4_128`, `AES128`, `3DES112`, `RC4_56`, `DES`, `RC4_40`, `DES40`  |  `RC4_256`, `AES256`, `AES192`, `3DES168`, `RC4_128`, `AES128`, `3DES112`, `RC4_56`, `DES`, `RC4_40`, `DES40`  |  Liste d'algorithmes de chiffrement utilisés par l'instance de base de données. L'instance de base de données utilise chaque algorithme, dans l'ordre, pour tenter de déchiffrer l'entrée du client jusqu'à ce qu'un algorithme réussisse ou que la fin de la liste soit atteinte.  Amazon RDS utilise la liste par défaut suivante d’Oracle. Vous pouvez modifier l'ordre ou limiter les algorithmes que le client accepte.  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/Oracle.Options.NNE.Options.html) Vous pouvez spécifier une valeur ou une liste de valeurs séparées par des virgules. Si vous spécifiez une virgule, n’insérez pas d’espace après celle-ci ; sinon, vous recevez une erreur `InvalidParameterValue`. Ce paramètre et `SQLNET.SQLNET.ENCRYPTION_TYPES_SERVER` doivent avoir un chiffrement commun.  | 

# Ajout de l’option NATIVE\$1NETWORK\$1ENCRYPTION
<a name="Oracle.Options.NNE.Add"></a>

La procédure générale pour ajouter l’option `NATIVE_NETWORK_ENCRYPTION` à une instance de base de données est la suivante : 

1. Créer un groupe d’options ou copier ou modifier un groupe existant.

1. Ajoutez l'option au groupe d'options.

1. Associez le groupe d’options à l’instance de base de données.

Quand le groupe d'options est actif, NNE est actif. 

**Pour ajouter l'option NATIVE\$1NETWORK\$1ENCRYPTION à une instance de base de données à l'aide du AWS Management Console**

1. Pour **Moteur**, sélectionnez l'édition d'Oracle que vous voulez utiliser. NNE est pris en charge par toutes les éditions. 

1. Pour **Version majeure du moteur**, choisissez la version de votre instance de base de données. 

   Pour plus d’informations, consultez [Création d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Ajoutez l’option **NATIVE\$1NETWORK\$1ENCRYPTION** au groupe d’options. Pour plus d’informations sur l’ajout d’options, consultez [Ajout d’une option à un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).
**Note**  
Après avoir ajouté l’option **NATIVE\$1NETWORK\$1ENCRYPTION**, vous n’avez pas besoin de redémarrer vos instances de base de données. Dès que le groupe d’options est actif, NNE est actif. 

1. Appliquez le groupe d'options à une instance de base de données nouvelle ou existante: 
   + Pour une nouvelle instance de base de données, vous appliquez le groupe d'options lorsque vous lancez l'instance. Pour plus d’informations, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md).
   + Pour une instance de base de données existante, vous appliquez le groupe d'options en modifiant l'instance et en attachant le nouveau groupe d'options. Après avoir ajouté l’option **NATIVE\$1NETWORK\$1ENCRYPTION**, vous n’avez pas besoin de redémarrer votre instance de base de données. Dès que le groupe d’options est actif, NNE est actif. Pour plus d’informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

# Définition des valeurs NNE dans sqlnet.ora
<a name="Oracle.Options.NNE.Using"></a>

Avec le chiffrement réseau natif Oracle, vous pouvez spécifier le chiffrement réseau côté serveur et côté client. Le client est l'ordinateur utilisé pour se connecter à l'instance de base de données. Vous pouvez spécifier les paramètres client suivants dans le fichier slqnet.ora : 
+ `SQLNET.ALLOW_WEAK_CRYPTO`
+ `SQLNET.ALLOW_WEAK_CRYPTO_CLIENTS`
+ `SQLNET.CRYPTO_CHECKSUM_CLIENT`
+ `SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT`
+ `SQLNET.ENCRYPTION_CLIENT`
+ `SQLNET.ENCRYPTION_TYPES_CLIENT`

Pour plus d'informations, consultez [Configuration du chiffrement des données réseau et intégrité des clients et serveurs Oracle](http://docs.oracle.com/cd/E11882_01/network.112/e40393/asoconfg.htm) dans la documentation Oracle.

Parfois, l'instance de base de données rejette une demande de connexion provenant d'une application. Par exemple, un rejet peut se produire lorsque les algorithmes de chiffrement sur le client et sur le serveur ne correspondent pas. Pour tester le chiffrement réseau natif Oracle, ajoutez les lignes suivantes dans le fichier sqlnet.ora sur le client : 

```
DIAG_ADR_ENABLED=off
TRACE_DIRECTORY_CLIENT=/tmp
TRACE_FILE_CLIENT=nettrace
TRACE_LEVEL_CLIENT=16
```

Lors d'une tentative de connexion, ces lignes génèrent un fichier de trace sur le client appelé `/tmp/nettrace*`. Le fichier de trace contient des informations concernant la connexion. Pour plus d'informations sur les problèmes liés à la connexion lorsque vous utilisez le chiffrement de réseau natif Oracle, veuillez consulter [À propos de la négociation du chiffrement et de l'intégrité](http://docs.oracle.com/cd/E11882_01/network.112/e40393/asoconfg.htm#autoId12) dans la documentation base de données Oracle.

# Modification des paramètres de l’option NATIVE\$1NETWORK\$1ENCRYPTION
<a name="Oracle.Options.NNE.ModifySettings"></a>

Après avoir activé l’option `NATIVE_NETWORK_ENCRYPTION`, vous pouvez modifier ses paramètres. Actuellement, vous ne pouvez modifier les paramètres des `NATIVE_NETWORK_ENCRYPTION` options qu'avec l'API AWS CLI ou RDS. Vous ne pouvez pas utiliser la console. L’exemple suivant modifie deux paramètres de l’option.

```
aws rds add-option-to-option-group \
    --option-group-name my-option-group \
    --options "OptionName=NATIVE_NETWORK_ENCRYPTION,OptionSettings=[{Name=SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER,Value=SHA256},{Name=SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER,Value=SHA256}]" \
    --apply-immediately
```

Pour découvrir comment modifier des paramètres d'option avec l'interface de ligne de commande, consultez [AWS CLI](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.ModifyOption.CLI). Pour plus d'informations sur chaque paramètre, consultez [Paramètres de l’option NATIVE\$1NETWORK\$1ENCRYPTION](Oracle.Options.NNE.Options.md).

**Topics**
+ [

## Modification des valeurs CRYPTO\$1CHECKSUM\$1\$1
](#Oracle.Options.NNE.ModifySettings.checksum)
+ [

## Modification des paramètres ALLOW\$1WEAK\$1CRYPTO\$1
](#Oracle.Options.NNE.ModifySettings.encryption)

## Modification des valeurs CRYPTO\$1CHECKSUM\$1\$1
<a name="Oracle.Options.NNE.ModifySettings.checksum"></a>

Si vous modifiez les paramètres de l’option **NATIVE\$1NETWORK\$1ENCRYPTION**, assurez-vous que les paramètres des options suivantes ont au moins un chiffrement commun :
+ `SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER`
+ `SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT`

L'exemple suivant montre un scénario dans lequel vous modifiez `SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER`. La configuration est valide car `CRYPTO_CHECKSUM_TYPES_CLIENT` et `CRYPTO_CHECKSUM_TYPES_SERVER` utilisent tous les deux `SHA256`.


| Paramètre d’option | Valeurs avant modification | Valeurs après modification | 
| --- | --- | --- | 
|  `SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT`  |  `SHA256`, `SHA384`, `SHA512`  |  Pas de modification  | 
|  `SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER`  |  `SHA256`, `SHA384`, `SHA512`, `SHA1`, `MD5`  | SHA1,MD5,SHA256 | 

Pour un autre exemple, supposons que vous souhaitez modifier `SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER` à partir de son paramètre par défaut vers `SHA1,MD5`. Dans ce cas, veillez à définir `SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT` sur `SHA1` ou `MD5`. Ces algorithmes ne sont pas inclus dans les valeurs par défaut pour `SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT`.

## Modification des paramètres ALLOW\$1WEAK\$1CRYPTO\$1
<a name="Oracle.Options.NNE.ModifySettings.encryption"></a>

Pour définir le paramètre `SQLNET.ALLOW_WEAK_CRYPTO*` de la valeur par défaut à `FALSE`, vérifiez que les conditions suivantes sont réunies :
+ `SQLNET.ENCRYPTION_TYPES_SERVER` et `SQLNET.ENCRYPTION_TYPES_CLIENT` possèdent une méthode de chiffrement sécurisée correspondante. Une méthode est considérée comme sécurisée si elle n'est pas `DES` ,`3DES` ou `RC4` (toutes les longueurs de clés).
+ `SQLNET.CHECKSUM_TYPES_SERVER` et `SQLNET.CHECKSUM_TYPES_CLIENT` disposent d'une méthode de total de contrôle sécurisée correspondante. Une méthode est considérée comme sécurisée si elle n'est pas `MD5`.
+ Le client est corrigé avec la PSU de juillet 2021. Si le client n'est pas corrigé, il perd la connexion et reçoit l'erreur `ORA-12269`.

L'exemple suivant montre des exemples de paramètres NNE. Supposons que vous souhaitez définir `SQLNET.ENCRYPTION_TYPES_SERVER` et `SQLNET.ENCRYPTION_TYPES_CLIENT` à FALSE, bloquant ainsi les connexions non sécurisées. Les paramètres de l'option de total de contrôle répondent aux conditions préalables car ils ont tous les deux `SHA256`. Cependant, `SQLNET.ENCRYPTION_TYPES_CLIENT` et `SQLNET.ENCRYPTION_TYPES_SERVER` utilisent les méthodes de chiffrement `DES`, `3DES` et `RC4`, qui ne sont pas sécurisées. Par conséquent, pour définir les options `SQLNET.ALLOW_WEAK_CRYPTO*` à `FALSE`, définissez d'abord `SQLNET.ENCRYPTION_TYPES_SERVER` et `SQLNET.ENCRYPTION_TYPES_CLIENT` pour utiliser une méthode de chiffrement sécurisée telle que `AES256`.


| Paramètre d’option | Valeurs | 
| --- | --- | 
|  `SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT`  |  `SHA256`, `SHA384`, `SHA512`  | 
|  `SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER`  | SHA1,MD5,SHA256 | 
|  `SQLNET.ENCRYPTION_TYPES_CLIENT`  |  `RC4_256`, `3DES168`, `DES40`  | 
|  `SQLNET.ENCRYPTION_TYPES_SERVER`  |  `RC4_256`, `3DES168`, `DES40`  | 

# Suppression de l’option NATIVE\$1NETWORK\$1ENCRYPTION
<a name="Oracle.Options.NNE.Remove"></a>

Vous pouvez supprimer NNE d'une instance de base de données. 

Pour supprimer l’option `NATIVE_NETWORK_ENCRYPTION` d’une instance de base de données, effectuez l’une des actions suivantes : 
+ Pour supprimer l’option de plusieurs instances de base de données, supprimez l’option `NATIVE_NETWORK_ENCRYPTION` du groupe d’options auquel elles appartiennent. Ce changement affecte toutes les instances de bases de données qui utilisent le groupe d’options. Après avoir supprimé l’option `NATIVE_NETWORK_ENCRYPTION`, vous n’avez pas besoin de redémarrer vos instances de base de données. Pour plus d’informations, consultez [Suppression d’une option d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption). 
+ Pour supprimer l’option d’une instance de base de données particulière, modifiez l’instance de base de données et spécifiez un autre groupe d’options qui n’inclut pas l’option `NATIVE_NETWORK_ENCRYPTION`. Vous pouvez spécifier le groupe d’options (vide) par défaut, ou un groupe d’options personnalisées différent. Une fois que vous supprimez l’option `NATIVE_NETWORK_ENCRYPTION`, vous n’avez pas besoin de redémarrer votre instance de base de données. Pour plus d’informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

# Oracle OLAP
<a name="Oracle.Options.OLAP"></a>

Amazon RDS prend en charge Oracle OLAP par l'intermédiaire de l'option `OLAP`. L'option OLAP (Online Analytical Processing) est proposée pour les instances de base de données Oracle. Vous pouvez utiliser Oracle OLAP pour analyser de grandes quantités de données en créant des objets et des cubes dimensionnels conformément à la norme OLAP. Pour plus d’informations, consultez la [documentation Oracle](https://docs.oracle.com/en/database/oracle/oracle-database/19/olaug/index.html). 

**Important**  
Si vous utilisez Oracle OLAP, Amazon RDS met automatiquement à jour votre instance de base de données vers le PSU Oracle le plus récent en cas de vulnérabilités de sécurité présentant un score CVSS (Common Vulnerability Scoring System) égal ou supérieur à 9, ou d'autres vulnérabilités de sécurité annoncées. 

Amazon RDS prend en charge Oracle OLAP pour Enterprise Edition d’Oracle Database 19c et versions ultérieures.

## Prérequis pour Oracle OLAP
<a name="Oracle.Options.OLAP.PreReqs"></a>

Les conditions suivantes sont requises pour utiliser Oracle OLAP : 
+ Vous devez disposer d'une licence Oracle OLAP d'Oracle. Pour plus d’informations, consultez [Informations sur les licences](https://docs.oracle.com/en/database/oracle/oracle-database/19/dblic/Licensing-Information.html#GUID-B6113390-9586-46D7-9008-DCC9EDA45AB4) dans la documentation Oracle. 
+ La classe d'instance de votre instance de base de données doit être suffisante. Oracle OLAP n’est pas pris en charge pour les classes d’instance de base de données db.t3.small. Pour plus d’informations, consultez [Classes d’instance de base de données RDS for Oracle](Oracle.Concepts.InstanceClasses.md). 
+ Votre instance de base de données doit avoir l'option **Auto Minor Version Upgrade (Mise à niveau automatique des versions mineures)** activée. Cette option permet à votre instance de base de données de recevoir automatiquement des mises à niveau mineures de version du moteur de base de données quand elles sont disponibles, et est requise pour toutes les options qui installent la machine virtuelle Java (JVM) Oracle. Amazon RDS utilise cette option pour mettre à jour votre instance de base de données vers le dernier PSU (Patch Set Update) ou la dernière mise à jour (RU) Oracle. Pour plus d'informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 
+ Votre instance de base de données ne doit pas contenir d'utilisateur nommé `OLAPSYS`. Si votre instance en contient, l'installation de l'option OLAP échoue.

## Bonnes pratiques pour Oracle OLAP
<a name="Oracle.Options.OLAP.BestPractces"></a>

Les bonnes pratiques suivantes sont requises pour utiliser Oracle OLAP : 
+ Pour une sécurité maximale, utilisez l'option `OLAP` avec Secure Sockets Layer (SSL). Pour plus d'informations, consultez [Oracle Secure Sockets Layer (SSL)](Appendix.Oracle.Options.SSL.md). 
+ Configurez votre instance de base de données pour en restreindre l'accès. Pour plus d’informations, consultez [Scénarios d’accès à une instance de base de données d’un VPC](USER_VPC.Scenarios.md) et [Utilisation d’une instance de base de données dans un VPC](USER_VPC.WorkingWithRDSInstanceinaVPC.md). 

## Ajout de l'option Oracle OLAP
<a name="Oracle.Options.OLAP.Add"></a>

La procédure générale suivante permet d'ajouter l'option `OLAP` à une instance de base de données : 

1. Créer un groupe d'options ou copier ou modifier un groupe existant.

1. Ajoutez l'option au groupe d'options.

1. Associez le groupe d'options à l'instance de base de données.

Si Oracle Java Virtual Machine (JVM) *n'est pas* installé sur l'instance de base de données, il y a une brève panne lorsque l'option `OLAP` est ajoutée. Il n'y a pas de panne si Oracle Java Virtual Machine (JVM) est déjà installé sur l'instance de base de données. Une fois que vous ajoutez l'option, vous n'avez pas besoin de redémarrer votre instance de base de données. Dès que le groupe d'options est actif, Oracle OLAP est disponible. 

**Pour ajouter l'option OLAP à une instance de base de données**

1. Déterminez le groupe d'options que vous voulez utiliser. Vous pouvez créer un groupe d'options ou utiliser un groupe d'options existant. Si vous souhaitez utiliser un groupe d'options existant, passez à l'étape suivante. Sinon, créez un groupe d'options DB personnalisé avec les paramètres suivants : 
   + Pour **Moteur**, choisissez l'édition Oracle de votre instance de base de données. 
   + Pour **Version majeure du moteur**, choisissez la version de votre instance de base de données. 

   Pour plus d'informations, consultez [Création d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Ajoutez l'option **OLAP** au groupe d'options. Pour plus d'informations sur l'ajout d'options, consultez [Ajout d’une option à un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). 

1. Appliquez le groupe d'options à une instance de base de données nouvelle ou existante: 
   + Pour une nouvelle instance de base de données, appliquez le groupe d'options lorsque vous lancez l'instance. Pour plus d'informations, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md). 
   + Pour une instance de base de données existante, appliquez le groupe d'options en modifiant l'instance et en attachant le nouveau groupe d'options. Pour plus d'informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

## Utilisation d'Oracle OLAP
<a name="Oracle.Options.OLAP.Using"></a>

Une fois que vous activez l'option Oracle OLAP, vous pouvez commencer à l'utiliser. Pour obtenir la liste des fonctions prises en charge par Oracle OLAP, consultez [la documentation Oracle](https://docs.oracle.com/en/database/oracle/oracle-database/19/olaug/overview.html#GUID-E2056FE4-C623-4D29-B7D8-C4762F941966). 

## Suppression de l'option Oracle OLAP
<a name="Oracle.Options.OLAP.Remove"></a>

Après avoir supprimé tous les objets qui utilisent des types de données fournis par l'option `OLAP`, vous pouvez supprimer l'option d'une instance de base de données. Si Oracle Java Virtual Machine (JVM) *n'est pas* installé sur l'instance de base de données, il y a une brève panne lorsque l'option `OLAP` est supprimée. Il n'y a pas de panne si Oracle Java Virtual Machine (JVM) est déjà installé sur l'instance de base de données. Une fois que vous supprimez l'option `OLAP`, vous n'avez pas besoin de redémarrer votre instance de base de données.

**Pour supprimer l'option `OLAP`**

1. Sauvegardez vos données.
**Avertissement**  
Si l'instance utilise des types de données qui ont été activés dans le cadre de l'option, et si vous supprimez l'option `OLAP`, vous pouvez perdre des données. Pour plus d'informations, consultez [Sauvegarde, restauration et exportation de données](CHAP_CommonTasks.BackupRestore.md).

1. Vérifiez si des objets existants font référence à des types de données ou à des fonctionnalités de l'option `OLAP`. 

1. Supprimez tous les objets qui font référence à des types de données ou à des fonctionnalités de l'option `OLAP`.

1. Effectuez l'une des actions suivantes :
   + Supprimez l'option `OLAP` du groupe d'options auquel elle appartient. Ce changement affecte toutes les instances de bases de données qui utilisent le groupe d'options. Pour plus d'informations, consultez [Suppression d’une option d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption).
   + Modifiez l'instance de base de données et spécifiez un groupe d'options différent qui n'inclut pas l'option `OLAP`. Ce changement affecte une seule instance de base de données. Vous pouvez spécifier le groupe d'options (vide) par défaut, ou un groupe d'options personnalisées différent. Pour plus d'informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

# Oracle Secure Sockets Layer (SSL)
<a name="Appendix.Oracle.Options.SSL"></a>

Pour activer le chiffrement SSL pour une instance de base de données RDS for Oracle, ajoutez l’option Oracle SSL au groupe d’options associé avec l’instance de base de données. Amazon RDS utilise un deuxième port, comme l'exige Oracle, pour les connexions SSL. Cette approche permet aussi bien aux communications en texte clair qu'à celles à chiffrement SSL de se produire simultanément entre une instance de base de données et SQL\$1Plus. Par exemple, vous pouvez utiliser le port avec une communication en texte clair pour communiquer avec d’autres ressources à l’intérieur d’un VPC, tout en utilisant le port avec une communication à chiffrement SSL pour communiquer avec des ressources extérieures au VPC.

**Note**  
Vous pouvez utiliser SSL ou Native Network Encryption (NNE), mais pas les deux, sur la même instance de base de données RDS for Oracle. Si vous utilisez le chiffrement SSL, veillez à désactiver tout autre chiffrement de connexion. Pour de plus amples informations, veuillez consulter [Oracle NNE (Native Network Encryption)](Appendix.Oracle.Options.NetworkEncryption.md).

SSL/TLS et NNE ne font plus partie d'Oracle Advanced Security. Dans RDS for Oracle, vous pouvez utiliser le chiffrement SSL avec toutes les éditions sous licence des versions de base de données suivantes :
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c (19.0.0)

**Topics**
+ [

## Versions TLS pour l'option Oracle SSL
](#Appendix.Oracle.Options.SSL.TLS)
+ [

## Suites de chiffrement pour l'option Oracle SSL
](#Appendix.Oracle.Options.SSL.CipherSuites)
+ [

## Support FIPS
](#Appendix.Oracle.Options.SSL.FIPS)
+ [

## Compatibilité des certificats avec les suites de chiffrement
](#Appendix.Oracle.Options.SSL.CertificateCompatibility)
+ [

# Ajout de l’option SSL
](Appendix.Oracle.Options.SSL.OptionGroup.md)
+ [

# Configuration de SQL\$1Plus de façon à utiliser SSL avec une instance de base de données RDS for Oracle
](Appendix.Oracle.Options.SSL.ClientConfiguration.md)
+ [

# Connexion à une instance de base de données RDS for Oracle à l'aide de SSL
](Appendix.Oracle.Options.SSL.Connecting.md)
+ [

# Configuration d’une connexion SSL via JDBC
](Appendix.Oracle.Options.SSL.JDBC.md)
+ [

# Application d'une correspondance de nom unique avec une connexion SSL
](Appendix.Oracle.Options.SSL.DNMatch.md)
+ [

# Dépannage des connexions SSL
](Appendix.Oracle.Options.SSL.troubleshooting.md)

## Versions TLS pour l'option Oracle SSL
<a name="Appendix.Oracle.Options.SSL.TLS"></a>

Amazon RDS for Oracle prend en charge le protocole TLS (Transport Layer Security) version 1.0 et 1.2. Lorsque vous ajoutez une nouvelle option Oracle SSL, définissez `SQLNET.SSL_VERSION` explicitement sur une valeur valide. Les valeurs suivantes sont autorisées pour ce paramètre d'option :
+ `"1.0"` – Les clients ne peuvent se connecter à l'instance de base de données qu'avec TLS version 1.0. Pour les options Oracle SSL existantes, `SQLNET.SSL_VERSION` est défini automatiquement sur `"1.0"`. Vous pouvez modifier au besoin ce paramètre.
+ `"1.2"` – Les clients ne peuvent se connecter à l'instance de base de données qu'avec TLS 1.2.
+ `"1.2 or 1.0"` – Les clients peuvent se connecter à l'instance de base de données avec TLS 1.2 ou 1.0.

## Suites de chiffrement pour l'option Oracle SSL
<a name="Appendix.Oracle.Options.SSL.CipherSuites"></a>

Amazon RDS for Oracle prend en charge plusieurs suites de chiffrement SSL. Par défaut, l'option Oracle SSL est configurée pour utiliser la suite de chiffrement `SSL_RSA_WITH_AES_256_CBC_SHA`. Pour indiquer une autre suite de chiffrement à utiliser sur les connexions SSL, utilisez le paramètre d'option `SQLNET.CIPHER_SUITE`.

Vous pouvez spécifier plusieurs valeurs pour `SQLNET.CIPHER_SUITE`. Cette technique est utile si vous avez des liens de base de données entre vos instances de base de données et que vous décidez de mettre à jour vos suites de chiffrement.

Le tableau suivant résume la prise en charge de SSL pour RDS for Oracle dans toutes les éditions d’Oracle Database 19c et 21c.


| Suite de chiffrement (SQLNET.CIPHER\$1SUITE) | Prise en charge de la version de TLS (SQLNET.SSL\$1VERSION) | Support FIPS | Conforme au programme FedRAMP | 
| --- | --- | --- | --- | 
| SSL\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA (par défaut) | 1.0 et 1.2 | Oui | Non | 
| SSL\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1 SHA256 | 1.2 | Oui | Non | 
| SSL\$1RSA\$1WITH\$1AES\$1256\$1GCM\$1 SHA384 | 1.2 | Oui | Non | 
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1GCM\$1 SHA384 | 1.2 | Oui | Oui | 
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1GCM\$1 SHA256 | 1.2 | Oui | Oui | 
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1 SHA384 | 1.2 | Oui | Oui | 
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1 SHA256 | 1.2 | Oui | Oui | 
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA | 1.2 | Oui | Oui | 
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA | 1.2 | Oui | Oui | 
| TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1GCM\$1 SHA384 | 1.2 | Oui | Oui | 
| TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1CBC\$1 SHA384 | 1.2 | Oui | Oui | 

## Support FIPS
<a name="Appendix.Oracle.Options.SSL.FIPS"></a>

RDS for Oracle vous permet d'utiliser la norme FIPS (Federal Information Processing Standard) 140-2. FIPS 140-2 est une norme du gouvernement américain qui définit les exigences de sécurité du module de chiffrement. Pour activer la norme FIPS, définissez `FIPS.SSLFIPS_140` sur `TRUE` pour l'option Oracle SSL. Quand la norme FIPS 140-2 est configurée pour SSL, les bibliothèques de chiffrement chiffrent les données entre le client et l'instance de base de données RDS for Oracle.

Les clients doivent utiliser la suite de chiffrement conforme à FIPS. Lors de l'établissement d'une connexion, le client et l'instance de base de données RDS for Oracle négocient quelle la suite de chiffrement utiliser lors de la transmission de messages dans les deux sens. Le tableau dans [Suites de chiffrement pour l'option Oracle SSL](#Appendix.Oracle.Options.SSL.CipherSuites) présente les suites de chiffrement SSL conformes à FIPS pour chaque version de TLS. Pour plus d'informations, consultez [Paramètres FIPS 140-2 d'Oracle Database](https://docs.oracle.com/en/database/oracle/oracle-database/12.2/dbseg/oracle-database-fips-140-settings.html#GUID-DDBEB3F9-B216-44BB-8C18-43B5E468CBBB) (langue française non garantie) dans la documentation sur Oracle Database.

## Compatibilité des certificats avec les suites de chiffrement
<a name="Appendix.Oracle.Options.SSL.CertificateCompatibility"></a>

RDS for Oracle prend en charge à la fois les certificats RSA et ECDSA (Elliptic Curve Digital Signature Algorithm). Lorsque vous configurez le protocole SSL pour votre instance de base de données, vous devez vous assurer que les suites de chiffrement que vous spécifiez dans le paramètre d’option `SQLNET.CIPHER_SUITE` sont compatibles avec le type de certificat utilisé par votre instance de base de données.

Le tableau suivant montre la compatibilité entre les types de certificats et les suites de chiffrement :


| Type de certificat | Suites de chiffrement compatibles | Suites de chiffrement incompatibles | 
| --- | --- | --- | 
| Certificats RSA (rds-ca-2019, 2048-g1, 4096-g1) rds-ca-rsa rds-ca-rsa |  SSL\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA SSL\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1 SHA256 SSL\$1RSA\$1WITH\$1AES\$1256\$1GCM\$1 SHA384 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1GCM\$1 SHA384 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1GCM\$1 SHA256 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1 SHA384 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1 SHA256 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA  |  TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1GCM\$1 SHA384 TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1CBC\$1 SHA384  | 
| Certificats ECDSA (384-g1) rds-ca-ecc |  TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1GCM\$1 SHA384 TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1CBC\$1 SHA384  |  SSL\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA SSL\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1 SHA256 SSL\$1RSA\$1WITH\$1AES\$1256\$1GCM\$1 SHA384 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1GCM\$1 SHA384 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1GCM\$1 SHA256 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1 SHA384 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1 SHA256 TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA  | 

Lorsque vous spécifiez plusieurs suites de chiffrement dans le paramètre d’option `SQLNET.CIPHER_SUITE`, assurez-vous d’inclure au moins une suite de chiffrement compatible avec le type de certificat utilisé par votre instance de base de données. Si vous utilisez un groupe d’options avec plusieurs instances de base de données ayant différents types de certificats, incluez au moins une suite de chiffrement pour chaque type de certificat.

Si vous tentez d’associer un groupe d’options à une option SSL contenant uniquement des suites de chiffrement incompatibles avec le type de certificat d’une instance de base de données, l’opération échoue avec un message d’erreur indiquant l’incompatibilité.

# Ajout de l’option SSL
<a name="Appendix.Oracle.Options.SSL.OptionGroup"></a>

Pour utiliser SSL, votre instance de base de données RDS for Oracle doit être associée à un groupe d'options qui inclut l'option `SSL`.

## Console
<a name="Appendix.Oracle.Options.SSL.OptionGroup.Console"></a>

**Pour ajouter l’option SSL à un groupe d’options**

1. Créez un groupe d’options ou identifiez un groupe d’options existant auquel vous pouvez ajouter l’option `SSL`.

   Pour plus d’informations sur la création d’un groupe d’options, consultez [Création d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).

1. Ajoutez l’option `SSL` au groupe d’options.

   Si vous souhaitez utiliser uniquement des suites de chiffrement conformes à la norme FIPS pour les connexions SSL, définissez l'option `FIPS.SSLFIPS_140` sur `TRUE`. Pour plus d’informations sur la norme FIPS, consultez [Support FIPS](Appendix.Oracle.Options.SSL.md#Appendix.Oracle.Options.SSL.FIPS).

   Pour plus d’informations sur l’ajout d’une option à un groupe d’options, consultez [Ajout d’une option à un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).

1. Créez une nouvelle instance de base de données RDS for Oracle et associez le groupe d’options à cette instance ou modifiez une instance de base de données RDS for Oracle pour lui associer le groupe d’options.

   Pour obtenir des informations sur la création d’une instance de base de données, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md).

   Pour obtenir des informations sur la modification d’une instance de base de données, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md).

## AWS CLI
<a name="Appendix.Oracle.Options.SSL.OptionGroup.CLI"></a>

**Pour ajouter l’option SSL à un groupe d’options**

1. Créez un groupe d’options ou identifiez un groupe d’options existant auquel vous pouvez ajouter l’option `SSL`.

   Pour plus d’informations sur la création d’un groupe d’options, consultez [Création d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).

1. Ajoutez l’option `SSL` au groupe d’options.

   Spécifiez les paramètres d'option suivants :
   + `Port` – Numéro du port SSL
   + `VpcSecurityGroupMemberships` – Groupe de sécurité VPC pour lequel l'option est activée
   + `SQLNET.SSL_VERSION` – Version TLS que le client peut utiliser pour se connecter à l'instance de base de données

   Par exemple, la commande AWS CLI suivante ajoute l’option `SSL` à un groupe d’options nommé `ora-option-group`.  
**Example**  

   Pour Linux, macOS ou Unix :

   ```
   aws rds add-option-to-option-group --option-group-name ora-option-group \
     --options 'OptionName=SSL,Port=2484,VpcSecurityGroupMemberships="sg-68184619",OptionSettings=[{Name=SQLNET.SSL_VERSION,Value=1.0}]'
   ```

   Pour Windows :

   ```
   aws rds add-option-to-option-group --option-group-name ora-option-group ^
     --options 'OptionName=SSL,Port=2484,VpcSecurityGroupMemberships="sg-68184619",OptionSettings=[{Name=SQLNET.SSL_VERSION,Value=1.0}]'
   ```

1. Créez une nouvelle instance de base de données RDS for Oracle et associez le groupe d’options à cette instance ou modifiez une instance de base de données RDS for Oracle pour lui associer le groupe d’options.

   Pour obtenir des informations sur la création d’une instance de base de données, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md).

   Pour obtenir des informations sur la modification d’une instance de base de données, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md).

# Configuration de SQL\$1Plus de façon à utiliser SSL avec une instance de base de données RDS for Oracle
<a name="Appendix.Oracle.Options.SSL.ClientConfiguration"></a>

Vous devez configurer SQL\$1Plus avant de vous connecter à une instance de base de données RDS for Oracle qui utilise l'option Oracle SSL.

**Note**  
Pour permettre l'accès à l'instance de base de données à partir des clients appropriés, assurez-vous que vous groupes de sécurité soient bien configurés. Pour plus d'informations, consultez [Contrôle d’accès par groupe de sécurité](Overview.RDSSecurityGroups.md). Ces instructions s'appliquent également à SQL\$1Plus et à d'autres clients qui utilisent directement un Oracle Home. Pour les connexions JDBC, consultez [Configuration d’une connexion SSL via JDBC](Appendix.Oracle.Options.SSL.JDBC.md).

**Pour configurer SQL\$1Plus de façon à utiliser SSL pour se connecter à une instance de base de données RDS for Oracle**

1. Configurez la variable d'environnement `ORACLE_HOME` sur l'emplacement de votre répertoire de base Oracle.

   Le chemin vers votre répertoire de base Oracle dépend de votre installation. L'exemple suivant définit la variable d'environnement `ORACLE_HOME`.

   ```
   prompt>export ORACLE_HOME=/home/user/app/user/product/19.0.0/dbhome_1
   ```

   Pour plus d'informations sur la définition de variables d'environnement Oracle, consultez [SQL\$1Plus Environment Variables](http://docs.oracle.com/database/121/SQPUG/ch_two.htm#SQPUG331) dans la documentation Oracle, ainsi que le guide d'installation Oracle pour votre système d'exploitation.

1. Ajoutez `$ORACLE_HOME/lib` à la variable d'environnement `LD_LIBRARY_PATH`.

   Voici un exemple qui définit la variable d'environnement LD\$1LIBRARY\$1PATH.

   ```
   prompt>export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib 
   ```

1. Créez un répertoire pour le portefeuille Oracle dans `$ORACLE_HOME/ssl_wallet`.

   Voici un exemple qui crée le répertoire du portefeuille Oracle.

   ```
   prompt>mkdir $ORACLE_HOME/ssl_wallet
   ```

1. Téléchargez le fichier .pem du bundle de certificats qui fonctionne pour tous Régions AWS et placez le fichier dans le répertoire ssl\$1wallet. Pour plus d'informations, consultez [](UsingWithRDS.SSL.md).

1. Dans l'annuaire `$ORACLE_HOME/network/admin`, modifiez ou créez le fichier `tnsnames.ora` et incluez l'entrée suivante.

   ```
   net_service_name = 
     (DESCRIPTION = 
       (ADDRESS_LIST = 
         (ADDRESS = 
           (PROTOCOL = TCPS) 
           (HOST = endpoint) 
           (PORT = ssl_port_number)
         )
       )
       (CONNECT_DATA = 
         (SID = database_name)
       )
       (SECURITY = 
         (SSL_SERVER_CERT_DN = "C=US,ST=Washington,L=Seattle,O=Amazon.com,OU=RDS,CN=endpoint")
       )
     )
   ```

1. Dans le même répertoire, modifiez ou créez le fichier sqlnet.ora et incluez les paramètres suivants.
**Note**  
Pour communiquer avec des entités via une connexion sécurisée TLS, Oracle a besoin d'un portefeuille avec les certificats nécessaire pour l'authentification. Vous pouvez utiliser l'utilitaire ORAPKI d'Oracle pour créer et gérer des portefeuilles Oracle, comme illustré à l'étape 7. Pour plus d’informations, consultez [Setting Up Oracle Wallet Using ORAPKI](https://docs.oracle.com/cd/E92519_02/pt856pbr3/eng/pt/tsvt/task_SettingUpOracleWalletUsingORAPKI.html) dans la documentation Oracle.

   ```
   WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = $ORACLE_HOME/ssl_wallet))) 
   SSL_CLIENT_AUTHENTICATION = FALSE 
   SSL_VERSION = 1.0 
   SSL_CIPHER_SUITES = (SSL_RSA_WITH_AES_256_CBC_SHA) 
   SSL_SERVER_DN_MATCH = ON
   ```
**Note**  
Vous pouvez définir `SSL_VERSION` sur une valeur plus élevée si votre instance de base de données la prend en charge.

1. Exécutez la commande suivante pour créer le portefeuille Oracle.

   ```
   prompt>orapki wallet create -wallet $ORACLE_HOME/ssl_wallet -auto_login_only
   ```

1. Extrayez chaque certificat du fichier de bundle .pem dans un fichier .pem distinct à l’aide d’un utilitaire du système d’exploitation.

1. Ajoutez chaque certificat à votre portefeuille à l’aide de commandes `orapki` distinctes, en remplaçant `certificate-pem-file` par le nom de fichier absolu du fichier .pem.

   ```
   prompt>orapki wallet add -wallet $ORACLE_HOME/ssl_wallet -trusted_cert -cert
         certificate-pem-file -auto_login_only
   ```

   Pour de plus amples informations, veuillez consulter [Rotation de votre SSL/TLS certificat](UsingWithRDS.SSL-certificate-rotation.md).

# Connexion à une instance de base de données RDS for Oracle à l'aide de SSL
<a name="Appendix.Oracle.Options.SSL.Connecting"></a>

Une fois que vous avez configuré SQL\$1Plus pour utiliser SSL comme décrit précédemment, vous pouvez vous connecter à l'instance de base de données RDS for Oracle avec l'option SSL. Vous pouvez éventuellement d'abord exporter la valeur `TNS_ADMIN` qui pointe vers le répertoire qui contient les fichiers tnsnames.ora et sqlnet.ora. Vous vous assurez ainsi que SQL\$1Plus peut trouver ces fichiers de manière cohérente. L'exemple suivant exporte la valeur `TNS_ADMIN`.

```
export TNS_ADMIN=${ORACLE_HOME}/network/admin
```

Connectez-vous à l'instance de base de données. Par exemple, vous pouvez vous connecter en utilisant SQL\$1Plus et *<net\$1service\$1name>* dans un fichier tnsnames.ora.

```
sqlplus mydbuser@net_service_name          
```

Vous pouvez également vous connecter à l'instance de base de données à l'aide de SQL\$1Plus sans fichier tnsnames.ora, en utilisant la commande suivante.

```
sqlplus 'mydbuser@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCPS)(HOST = endpoint) (PORT = ssl_port_number))(CONNECT_DATA = (SID = database_name)))'          
```

Vous pouvez également vous connecter à l'instance de base de données RDS for Oracle sans utiliser SSL. Par exemple, la commande suivante se connecte à l'instance de base de données via le port en texte clair sans chiffrement SSL.

```
sqlplus 'mydbuser@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = endpoint) (PORT = port_number))(CONNECT_DATA = (SID = database_name)))'          
```

Si vous voulez fermer l'accès au port TCP, créez un groupe de sécurité sans entrée d'adresse IP et ajoutez-le à l'instance. Cet ajout ferme les connexions sur le port TCP, tout en continuant à autoriser les connexions sur le port SSL spécifiées à partir d'adresses IP au sein de la plage autorisée par le groupe de sécurité de l'option SSL.

# Configuration d’une connexion SSL via JDBC
<a name="Appendix.Oracle.Options.SSL.JDBC"></a>

Pour utiliser une connexion SSL via JDBC, vous devez créer un keystore, approuver le certificat d'autorité de certification racine Amazon RDS et utiliser l'extrait de code suivant.

Pour créer le magasin de clés au format JKS, vous pouvez utiliser la commande suivante. Pour plus d’informations sur la création du magasin de clés, consultez [Creating a keystore](https://docs.oracle.com/cd/E35822_01/server.740/es_admin/src/tadm_ssl_jetty_keystore.html) dans la documentation Oracle. Pour des informations de référence, consultez [keytool](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/keytool.html) dans le manuel *Java Platform, Standard Edition Tools Reference*.

```
keytool -genkey -alias client -validity 365 -keyalg RSA -keystore clientkeystore         
```

Suivez les étapes ci-après pour approuver le certificat CA racine Amazon RDS.

**Pour approuver le certificat de l'autorité de certification racine Amazon RDS**

1. Téléchargez le fichier .pem de l’offre groupée de certificats qui fonctionne pour toutes les Régions AWS et placez le fichier dans le répertoire ssl\$1wallet.

   Pour plus d’informations sur le téléchargement de certificats, consultez [](UsingWithRDS.SSL.md).

1. Extrayez chaque certificat du fichier .pem dans un fichier distinct à l’aide d’un utilitaire du système d’exploitation.

1. Convertissez chaque certificat au format .der à l’aide d’une commande `openssl` distincte, en remplaçant *certificate-pem-file* par le nom du fichier .pem du certificat (sans l’extension .pem).

   ```
   openssl x509 -outform der -in certificate-pem-file.pem -out certificate-pem-file.der                
   ```

1. Importez le certificat dans le magasin de clés à l’aide de la commande suivante.

   ```
   keytool -import -alias rds-root -keystore clientkeystore.jks -file certificate-pem-file.der                
   ```

   Pour plus d’informations, consultez [Rotation de votre SSL/TLS certificat](UsingWithRDS.SSL-certificate-rotation.md).

1. Vérifiez que le magasin de clés a été créé avec succès.

   ```
   keytool -list -v -keystore clientkeystore.jks                                            
   ```

   Entrez le mot de passe du magasin de clés lorsque vous y êtes invité.

L’exemple de code suivant montre comment configurer la connexion SSL à l’aide de JDBC.

```
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
 
public class OracleSslConnectionTest {
    private static final String DB_SERVER_NAME = "dns-name-provided-by-amazon-rds";
    private static final Integer SSL_PORT = "ssl-option-port-configured-in-option-group";
    private static final String DB_SID = "oracle-sid";
    private static final String DB_USER = "user-name";
    private static final String DB_PASSWORD = "password";
    // This key store has only the prod root ca.
    private static final String KEY_STORE_FILE_PATH = "file-path-to-keystore";
    private static final String KEY_STORE_PASS = "keystore-password";
 
    public static void main(String[] args) throws SQLException {
        final Properties properties = new Properties();
        final String connectionString = String.format(
                "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=%s)(PORT=%d))(CONNECT_DATA=(SID=%s)))",
                DB_SERVER_NAME, SSL_PORT, DB_SID);
        properties.put("user", DB_USER);
        properties.put("password", DB_PASSWORD);
        properties.put("oracle.jdbc.J2EE13Compliant", "true");
        properties.put("javax.net.ssl.trustStore", KEY_STORE_FILE_PATH);
        properties.put("javax.net.ssl.trustStoreType", "JKS");
        properties.put("javax.net.ssl.trustStorePassword", KEY_STORE_PASS);
        final Connection connection = DriverManager.getConnection(connectionString, properties);
        // If no exception, that means handshake has passed, and an SSL connection can be opened
    }
}
```

**Note**  
Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.

# Application d'une correspondance de nom unique avec une connexion SSL
<a name="Appendix.Oracle.Options.SSL.DNMatch"></a>

Vous pouvez utiliser le paramètre Oracle `SSL_SERVER_DN_MATCH` pour imposer que le nom unique du serveur de base de données corresponde à son nom de service. Si vous appliquez les vérifications de correspondance, SSL garantit que le certificat provient du serveur. Si vous n'appliquez pas la vérification de correspondance, SSL effectue le contrôle, mais autorise la connexion, qu'il y ait correspondance ou pas. Si vous n’appliquez pas la correspondance, vous autorisez le serveur à falsifier potentiellement son identité.

Pour appliquer la correspondance de nom unique, ajoutez la propriété DN Match et utilisez la chaîne de connexion spécifiée ci-dessous.

Ajoutez la propriété à la connexion client pour appliquer la correspondance de nom unique.

```
properties.put("oracle.net.ssl_server_dn_match", "TRUE");            
```

Utilisez la chaîne de connexion suivante pour appliquer la correspondance de nom unique lors de l'utilisation de SSL.

```
final String connectionString = String.format(
    "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=%s)(PORT=%d))" +
    "(CONNECT_DATA=(SID=%s))" +
    "(SECURITY = (SSL_SERVER_CERT_DN = 
\"C=US,ST=Washington,L=Seattle,O=Amazon.com,OU=RDS,CN=%s\")))",
    DB_SERVER_NAME, SSL_PORT, DB_SID, DB_SERVER_NAME);
```

# Dépannage des connexions SSL
<a name="Appendix.Oracle.Options.SSL.troubleshooting"></a>

Il se peut que vous interrogiez votre base de données et que vous receviez l'erreur `ORA-28860`.

```
ORA-28860: Fatal SSL error
28860. 00000 - "Fatal SSL error"
*Cause: An error occurred during the SSL connection to the peer. It is likely that this side sent data which the peer rejected.
*Action: Enable tracing to determine the exact cause of this error.
```

Cette erreur se produit lorsque le client tente de se connecter à l'aide d'une version de TLS non prise en charge par le serveur. Pour éviter cette erreur, modifiez le fichier sqlnet.ora et définissez`SSL_VERSION` sur la bonne version TLS. Pour plus d'informations, consultez le [document de support Oracle 2748438.1](https://support.oracle.com/epmos/faces/DocumentDisplay?id=2748438.1) dans My Oracle Support.

# Oracle Spatial
<a name="Oracle.Options.Spatial"></a>

Amazon RDS prend en charge Oracle Spatial par l'intermédiaire de l'option `SPATIAL`. Oracle Spatial fournit un schéma SQL et des fonctions qui facilitent le stockage, la récupération, la mise à jour et la requête de collections de données spatiales dans une base de données Oracle. Pour plus d'informations, consultez [Concepts spatiaux](http://docs.oracle.com/database/121/SPATL/spatial-concepts.htm#SPATL010) dans la documentation d'Oracle. Amazon RDS prend en charge Oracle Spatial dans toutes les éditions de toutes les versions prises en charge.

## Comment fonctionnent les Spatial Patch Bundles (SPBs)
<a name="Oracle.Options.Spatial.SPBs"></a>

Chaque trimestre, RDS for Oracle publie de nouvelles versions mineures du moteur pour chacun des moteurs majeurs pris en charge. Une version du moteur de mise à jour de version (RU) intègre les corrections de bogues d’Oracle en incluant les correctifs de RU pour le trimestre spécifié. Une version du moteur Paquet de correctifs Spatial (SPB) contient des correctifs de RU et des correctifs spécifiques à Oracle Spatial. Par exemple, 19.0.0.0.ru-2025-01.spb-1.r1 est une version mineure du moteur qui contient les correctifs RU de la version 19.0.0.0.ru-2025-01.rur-2025-01.rur-2025-01.r1 ainsi que des correctifs spatiaux. SPBs ne sont pris en charge que pour Oracle Database 19c.

SPBs fonctionnent de la même manière que RUs, bien qu'ils soient nommés différemment. Une RU utilise le format 19.0.0.0.ru-2025-01.rur-2025-01.rur-2025-01.rur-1. Un nom SPB comprend le texte « spb », comme dans 19.0.0.0.ru-2025-01.spb-1.r1. En général, un SPB est publié 2 à 3 semaines après la RU trimestrielle correspondante. Par exemple, 19.0.0.0.ru-2025-01.spb-1.r1 est publié après 19.0.0.0.ru-2025-01.rur-2025-01.r1.

RDS pour Oracle dispose de chemins distincts pour les mises à niveau automatiques des versions mineures de RUs et SPBs. Si votre instance de base de données utilise une RU, RDS met automatiquement à niveau votre instance vers une RU. Si votre instance de base de données utilise un SPB, RDS met à niveau votre instance vers un SPB.

Pour plus d'informations sur RUs et SPBs, voir[Mises à niveau des versions mineures d’Oracle](USER_UpgradeDBInstance.Oracle.Minor.md). Pour obtenir la liste des bases de données prises en charge RUs et SPBs pour Oracle Database 19c, consultez [Amazon RDS pour Oracle Database 19c (19.0.0.0](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/oracle-version-19-0.html)) dans les notes de version d'Amazon RDS *pour Oracle*.

## Prérequis pour Oracle Spatial
<a name="Oracle.Options.Spatial.PreReqs"></a>

Les conditions suivantes sont requises pour utiliser Oracle Spatial : 
+ Assurez-vous que votre instance de base de données est d'une classe d'instance suffisante. Oracle Spatial n’est pas pris en charge pour les classes d’instance de base de données db.t3.small. Pour plus d’informations, consultez [Classes d’instance de base de données RDS for Oracle](Oracle.Concepts.InstanceClasses.md). 
+ Assurez-vous que **Mise à niveau automatique des versions mineures** est activée pour votre instance de base de données. Cette option permet à votre instance de base de données de recevoir automatiquement des mises à niveau mineures de version du moteur de base de données quand elles sont disponibles, et est requise pour toutes les options qui installent la machine virtuelle Java (JVM) Oracle. Amazon RDS utilise cette option pour mettre à jour votre instance de base de données vers le dernier PSU (Patch Set Update) ou la dernière mise à jour (RU) Oracle. Pour plus d'informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

## Bonnes pratiques pour Oracle Spatial
<a name="Oracle.Options.Spatial.BestPractces"></a>

Les bonnes pratiques suivantes sont requises pour utiliser Oracle Spatial : 
+ Pour une sécurité maximale, utilisez l'option `SPATIAL` avec Secure Sockets Layer (SSL). Pour plus d'informations, consultez [Oracle Secure Sockets Layer (SSL)](Appendix.Oracle.Options.SSL.md). 
+ Configurez votre instance de base de données pour en restreindre l'accès. Pour plus d’informations, consultez [Scénarios d’accès à une instance de base de données d’un VPC](USER_VPC.Scenarios.md) et [Utilisation d’une instance de base de données dans un VPC](USER_VPC.WorkingWithRDSInstanceinaVPC.md). 

## Ajout de l'option Oracle Spatial
<a name="Oracle.Options.Spatial.Add"></a>

La procédure générale suivante permet d'ajouter l'option `SPATIAL` à une instance de base de données : 

1. Créer un groupe d'options ou copier ou modifier un groupe existant.

1. Ajoutez l'option au groupe d'options.

1. Associez le groupe d'options à l'instance de base de données.

Si Oracle Java Virtual Machine (JVM) *n'est pas* installé sur l'instance de base de données, il y a une brève panne lorsque l'option `SPATIAL` est ajoutée. Il n'y a pas de panne si Oracle Java Virtual Machine (JVM) est déjà installé sur l'instance de base de données. Une fois que vous ajoutez l'option, vous n'avez pas besoin de redémarrer votre instance de base de données. Dès que le groupe d'options est actif, Oracle Spatial est disponible. 

**Note**  
Durant cette interruption, les fonctions de vérification de mot de passe sont brièvement désactivées. Vous pouvez également vous attendre à voir des événements liés aux fonctions de vérification de mot de passe durant l'interruption. Les fonctions de vérification de mot de passe sont activées de nouveau avant que l'instance de base de données Oracle ne soit disponible.

**Pour ajouter l'option `SPATIAL` à une instance de base de données**

1. Déterminez le groupe d'options que vous voulez utiliser. Vous pouvez créer un groupe d'options ou utiliser un groupe d'options existant. Si vous souhaitez utiliser un groupe d'options existant, passez à l'étape suivante. Sinon, créez un groupe d'options DB personnalisé avec les paramètres suivants : 

   1. Pour **Moteur**, choisissez l'édition Oracle de votre instance de base de données. 

   1. Pour **Version majeure du moteur**, choisissez la version de votre instance de base de données. 

   Pour plus d'informations, consultez [Création d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Ajoutez l'option **SPATIAL** au groupe d'options. Pour plus d'informations sur l'ajout d'options, consultez [Ajout d’une option à un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). 

1. Appliquez le groupe d'options à une instance de base de données nouvelle ou existante: 
   + Pour une nouvelle instance de base de données, vous appliquez le groupe d'options lorsque vous lancez l'instance. Pour plus d’informations, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md). 
   + Pour une instance de base de données existante, vous appliquez le groupe d'options en modifiant l'instance et en attachant le nouveau groupe d'options. Pour plus d'informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

## Suppression de l'option Oracle Spatial
<a name="Oracle.Options.Spatial.Remove"></a>

Après avoir abandonné tous les objets qui utilisent des types de données fournis par l'option `SPATIAL`, vous pouvez supprimer l'option à partir d'une instance de base de données. Si Oracle Java Virtual Machine (JVM) *n'est pas* installé sur l'instance de base de données, il y a une brève panne lorsque l'option `SPATIAL` est supprimée. Il n'y a pas de panne si Oracle Java Virtual Machine (JVM) est déjà installé sur l'instance de base de données. Une fois que vous supprimez l'option `SPATIAL`, vous n'avez pas besoin de redémarrer votre instance de base de données.

**Pour supprimer l'option `SPATIAL`**

1. Sauvegardez vos données.
**Avertissement**  
Si l'instance utilise des types de données qui ont été activés dans le cadre de l'option, et si vous supprimez l'option `SPATIAL`, vous pouvez perdre des données. Pour plus d'informations, consultez [Sauvegarde, restauration et exportation de données](CHAP_CommonTasks.BackupRestore.md).

1. Vérifiez si des objets existants font référence à des types de données ou à des fonctionnalités de l'option `SPATIAL`. 

   Si des options `SPATIAL` existent, l'instance peut rester bloquée lors de l'application du nouveau groupe d'options qui n'a pas l'option `SPATIAL`. Vous pouvez identifier les objets à l'aide des requêtes suivantes :

   ```
   SELECT OWNER, SEGMENT_NAME, TABLESPACE_NAME, BYTES/1024/1024 mbytes
   FROM   DBA_SEGMENTS
   WHERE  SEGMENT_TYPE LIKE '%TABLE%'
   AND    (OWNER, SEGMENT_NAME) IN
          (SELECT DISTINCT OWNER, TABLE_NAME 
           FROM   DBA_TAB_COLUMNS
           WHERE  DATA_TYPE='SDO_GEOMETRY'
           AND    OWNER <> 'MDSYS')
   ORDER BY 1,2,3,4;
   
   SELECT OWNER, TABLE_NAME, COLUMN_NAME
   FROM   DBA_TAB_COLUMNS 
   WHERE  DATA_TYPE = 'SDO_GEOMETRY' 
   AND    OWNER <> 'MDSYS' 
   ORDER BY 1,2,3;
   ```

1. Supprimez tous les objets qui font référence à des types de données ou à des fonctionnalités de l'option `SPATIAL`.

1. Effectuez l'une des actions suivantes :
   + Supprimez l'option `SPATIAL` du groupe d'options auquel elle appartient. Ce changement affecte toutes les instances de bases de données qui utilisent le groupe d’options. Pour plus d'informations, consultez [Suppression d’une option d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption).
   + Modifiez l'instance de base de données et spécifiez un groupe d'options différent qui n'inclut pas l'option `SPATIAL`. Ce changement affecte une seule instance de base de données. Vous pouvez spécifier le groupe d’options (vide) par défaut, ou un groupe d’options personnalisées différent. Pour plus d’informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

# Oracle SQLT
<a name="Oracle.Options.SQLT"></a>

Amazon RDS prend en charge Oracle SQLTXPLAIN (SQLT) via l'utilisation de l'option SQLT. Vous pouvez utiliser SQLT avec n’importe quelle édition d’Oracle Database 19c et ultérieures.

L'instruction `EXPLAIN PLAN` Oracle peut déterminer la plan d'exécution d'une instruction SQL. Elle peut vérifier si l'optimiseur d'Oracle choisit un plan d'exécution particulier, comme une jointure de boucles imbriquées. Elle vous aide également à comprendre les décisions de l'optimiseur, par exemple, pourquoi celui-ci a choisi une jointure de boucles imbriquées plutôt qu'une jointure de hachage. `EXPLAIN PLAN` vous aide donc à comprendre les performances de l'instruction.

SQLT est un utilitaire Oracle qui génère un rapport. Le rapport inclut des statistiques d'objet, des métadonnées d'objet, des paramètres d'initialisation liés à l'optimiseur et d'autres informations qu'un administrateur de base de données peut utiliser pour régler une instruction SQL afin d'obtenir des performances optimales. SQLT génère un rapport HTML avec des liens hypertexte vers toutes les sections du rapport.

Contrairement aux rapports Automatic Workload Repository ou Statspack, SQLT travaille sur des instructions SQL individuelles. SQLT est un ensemble de fichiers SQL, PL/SQL et SQL\$1 qui collectent, stockent et affichent des données de performance. 

Vous trouverez, ci-après, les versions Oracle prises en charge pour chaque version SQLT.


****  

| Version SQLT | Oracle Database 21c | Oracle Database 19c | 
| --- | --- | --- | 
|  2018-07-25.v1  |  Pris en charge  |  Pris en charge  | 
|  2018-03-31.v1  |  Non pris en charge  |  Non pris en charge  | 
|  2016-04-29.v1  |  Non pris en charge  |  Non pris en charge  | 

Pour télécharger SQLT et accéder aux instructions d'utilisation :
+ Connectez-vous à votre compte My Oracle Support et ouvrez les documents suivants :
+ Pour télécharger SQLT : [Document 215187.1](https://support.oracle.com/epmos/faces/DocumentDisplay?id=215187.1)
+ Pour des instructions d'utilisation de SQLT : [Document 1614107.1](https://support.oracle.com/epmos/faces/DocumentDisplay?id=1614107.1)
+ Pour les questions fréquentes sur SQLT : [Document 1454160.1](https://support.oracle.com/epmos/faces/DocumentDisplay?id=1454160.1)
+ Pour plus d'informations sur la lecture de la sortie de SQLT : [Document 1456176.1](https://support.oracle.com/epmos/main/downloadattachmentprocessor?parent=DOCUMENT&sourceId=1456176.1&attachid=1456176.1:58&clickstream=yes)
+ Pour interpréter le rapport principal : [Document 1922234.1](https://support.oracle.com/epmos/faces/DocumentDisplay?parent=DOCUMENT&sourceId=215187.1&id=1922234.1)

Amazon RDS ne prend pas en charge les méthodes SQLT suivantes : 
+ `XPLORE` 
+ `XHUME` 

## Prérequis pour SQLT
<a name="Oracle.Options.SQLT.PreReqs"></a>

Les conditions suivantes sont requises pour utiliser SQLT :
+ Vous devez supprimer les utilisateurs et les rôles qui sont requis par SQLT, s'ils existent.

  L'option SQLT crée les utilisateurs et rôles suivants sur une instance de base de données : 
  + `SQLTXPLAIN` user
  + `SQLTXADMIN` user
  + `SQLT_USER_ROLE` rôle

  Si votre instance de base de données comporte ces utilisateurs ou rôles, connectez-vous à l'instance à l'aide d'un client SQL et supprimez-les avec les instructions suivantes :

  ```
  DROP USER SQLTXPLAIN CASCADE;
  DROP USER SQLTXADMIN CASCADE;   
  DROP ROLE SQLT_USER_ROLE CASCADE;
  ```
+ Vous devez supprimer les espaces de table qui sont requis par SQLT, s'ils existent.

  L'option SQLT crée les espaces de table suivants sur une instance de base de données : 
  + `RDS_SQLT_TS`
  + `RDS_TEMP_SQLT_TS`

  Si votre instance de base de données comporte ces espaces de table, connectez-vous à l'instance à l'aide d'un client SQL et supprimez-les.

## Paramètres d'option SQLT
<a name="Oracle.Options.SQLT.Options"></a>

 SQLT peut utiliser les fonctions sous licence fournies par Oracle Tuning Pack et Oracle Diagnostics Pack. Oracle Tuning Pack inclut SQL Tuning Advisor, et Oracle Diagnostics Pack comprend Automatic Workload Repository. Les paramètres SQLT activent ou désactivent l'accès à ces fonctions depuis SQLT. 

Amazon RDS prend en charge les paramètres suivants pour l'option SQLT. 


****  

| Paramètre d'option | Valeurs valides | Valeur par défaut | Description | 
| --- | --- | --- | --- | 
|  `LICENSE_PACK`  |  `T`, `D`, `N`  |  `N`   |  Les Oracle Management Packs auxquels vous souhaitez accéder avec SQLT. Entrez l'une des valeurs suivantes : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/Oracle.Options.SQLT.html)  Amazon RDS ne fournit pas de licences pour ces Oracle Management Packs. Si vous indiquez que vous souhaitez utiliser un pack qui n'est pas inclus dans votre instance de base de données, vous pouvez utiliser SQLT avec cette instance. Toutefois, SQLT ne peut pas accéder au pack et le rapport SQLT n'inclut pas de données pour le pack. Par exemple, si vous spécifiez `T`, mais que l'instance de base de données n'inclut pas Oracle Tuning Pack, SQLT fonctionne sur cette instance, mais le rapport qu'il génère ne contient pas de données liées à Oracle Tuning Pack.   | 
|  `VERSION`  |  `2016-04-29.v1` `2018-03-31.v1` `2018-07-25.v1`  |  `2016-04-29.v1`   |  Version de SQLT que vous voulez installer.  Pour Oracle Database 19c et 21c, la seule version prise en charge est `2018-07-25.v1`. Il s'agit de la version par défaut pour ces versions.   | 

## Ajout de l'option SQLT
<a name="Oracle.Options.SQLT.Add"></a>

La procédure générale suivante permet d'ajouter l'option SQLT à une instance de base de données : 

1. Créer un groupe d'options ou copier ou modifier un groupe existant.

1. Ajouter l'option SQLT au groupe d'options.

1. Associez le groupe d'options à l'instance de base de données.

Une fois que vous avez ajouté l'option SQLT, dès que le groupe d'options est actif, SQLT est actif. 

**Pour ajouter l'option SQLT à une instance de base de données**

1. Déterminez le groupe d'options que vous voulez utiliser. Vous pouvez créer un groupe d'options ou utiliser un groupe d'options existant. Si vous souhaitez utiliser un groupe d'options existant, passez à l'étape suivante. Sinon, créez un groupe d'options DB personnalisé avec les paramètres suivants : 

   1. Pour **Moteur**, sélectionnez l'édition d'Oracle que vous voulez utiliser. L'option SQLT est prise en charge sur toutes les éditions. 

   1. Pour **Version majeure du moteur**, choisissez la version de votre instance de base de données. 

   Pour plus d'informations, consultez [Création d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Ajouter l'option **SQLT** au groupe d'options. Pour plus d'informations sur l'ajout d'options, consultez [Ajout d’une option à un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). 

1. Appliquez le groupe d'options à une instance de base de données nouvelle ou existante: 
   + Pour une nouvelle instance de base de données, vous appliquez le groupe d'options lorsque vous lancez l'instance. Pour plus d'informations, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md). 

      
   + Pour une instance de base de données existante, vous appliquez le groupe d'options en modifiant l'instance et en attachant le nouveau groupe d'options. Pour plus d'informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

1. (Facultatif) Vérifiez l'installation SQLT sur chaque instance de base de données avec l'option SQLT. 

   1. Utilisez un client SQL pour vous connecter à l'instance de base de données en tant qu'utilisateur principal.

      Pour plus d'informations sur la connexion à une instance de base de données Oracle à l'aide d'un client SQL, consultez [Connexion à votre instance de base de données Oracle](USER_ConnectToOracleInstance.md).

   1. Exécutez la requête suivante :

      ```
      SELECT sqltxplain.sqlt$a.get_param('tool_version') sqlt_version FROM DUAL;                        
      ```

      La requête renvoie la version actuelle de l'option SQLT sur Amazon RDS. `12.1.160429` est un exemple de version de SQLT disponible sur Amazon RDS.

1. Modifiez les mots de passe des utilisateurs créés par l'option SQLT.

   1. Utilisez un client SQL pour vous connecter à l'instance de base de données en tant qu'utilisateur principal.

   1. Exécutez l’instruction SQL suivante pour modifier le mot de passe de l’utilisateur `SQLTXADMIN` :

      ```
      ALTER USER SQLTXADMIN IDENTIFIED BY new_password ACCOUNT UNLOCK;                         
      ```
**Note**  
Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.

   1. Exécutez l’instruction SQL suivante pour modifier le mot de passe de l’utilisateur `SQLTXPLAIN` :

      ```
      ALTER USER SQLTXPLAIN IDENTIFIED BY new_password ACCOUNT UNLOCK;                         
      ```
**Note**  
Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.

**Note**  
La mise à niveau de SQLT nécessite la désinstallation d'une ancienne version de SQLT, puis l'installation de la nouvelle version. Par conséquent, toutes les métadonnées de SQLT peuvent être perdues quand vous mettez à niveau SQLT. Une mise à niveau de version majeure d'une base de données désinstalle et réinstalle également SQLT. Un exemple de mise à niveau de version majeure est une mise à niveau d’Oracle Database 19c vers Oracle Database 21c.

## Utilisation de SQLT
<a name="Oracle.Options.SQLT.Using"></a>

SQLT fonctionne avec l'utilitaire Oracle SQL\$1Plus. 

**Pour utiliser SQLT**

1.  Téléchargez le fichier .zip SQLT depuis [Document 215187.1](https://support.oracle.com/epmos/faces/DocumentDisplay?id=215187.1) sur le site My Oracle Support. 
**Note**  
Vous ne pouvez pas télécharger SQLT 12.1.160429 depuis le site My Oracle Support. Oracle a supprimé cette ancienne version.

1.  Décompressez le fichier .zip SQLT. 

1.  Depuis une invite de commande et accédez au répertoire `sqlt/run` sur votre système de fichiers. 

1.  Depuis l'invite de commande, ouvrez SQL\$1Plus et connectez-vous à l'instance de base de données en tant qu'utilisateur principal. 

   Pour plus d'informations sur la connexion à une instance de base de données à l'aide de SQL\$1Plus, consultez [Connexion à votre instance de base de données Oracle](USER_ConnectToOracleInstance.md).

1.  Obtenez l'ID SQL d'une instruction SQL : 

   ```
   SELECT SQL_ID FROM V$SQL WHERE SQL_TEXT='sql_statement';                               
   ```

   Votre sortie est similaire à ce qui suit : 

   ```
   SQL_ID
   -------------
   chvsmttqjzjkn
   ```

1. Analysez une instruction SQL avec SQLT : 

   ```
   START sqltxtract.sql sql_id sqltxplain_user_password                    
   ```

   Par exemple, pour l'ID SQL `chvsmttqjzjkn`, entrez ce qui suit :

   ```
   START sqltxtract.sql chvsmttqjzjkn sqltxplain_user_password                    
   ```

   SQLT génère le rapport HTML et les ressources connexes sous la forme d'un fichier .zip dans le répertoire à partir duquel la commande SQLT a été exécutée.

1.  (Facultatif) Pour permettre à des utilisateurs de l'application de diagnostiquer des instructions SQL avec SQLT, accordez le rôle `SQLT_USER_ROLE` à chaque utilisateur avec l'instruction suivante : 

   ```
   GRANT SQLT_USER_ROLE TO application_user_name;                
   ```
**Note**  
Oracle ne recommande pas d'exécuter SQLT avec le ou les utilisateurs `SYS` détenant le rôle `DBA`. Une bonne pratique consiste à exécuter des diagnostics SQLT à l'aide du compte de l'utilisateur d'application en octroyant le rôle `SQLT_USER_ROLE` à cet utilisateur.

## Mise à niveau de l'option SQLT
<a name="Oracle.Options.SQLT.Upgrading"></a>

Avec Amazon RDS for Oracle, vous pouvez mettre à niveau l'option SQLT de la version existante vers une version ultérieure. Pour mettre à niveau l'option SQLT, effectuez les étapes 1–3 dans [Utilisation de SQLT](#Oracle.Options.SQLT.Using) pour la nouvelle version de SQLT. Par ailleurs, si vous avez accordé des privilèges pour la version précédente de SQLT à l'étape 7 de cette section, accordez à nouveau les privilèges pour la version SQLT. 

La mise à niveau de l'option SQLT entraîne la perte des métadonnées de l'ancienne version SQLT. Le schéma de l'ancienne version SQLT et les objets connexes sont supprimés, et la version SQLT la plus récente est installée. Pour plus d’informations sur les modifications de la dernière version SQLT, consultez [Document 1614201.1](https://support.oracle.com/epmos/faces/DocumentDisplay?parent=DOCUMENT&sourceId=215187.1&id=1614201.1) sur le site My Oracle Support.

**Note**  
Les mises à niveau vers une version antérieure ne sont pas prises en charge.

## Modification des paramètres SQLT
<a name="Oracle.Options.SQLT.ModifySettings"></a>

Une fois que vous avez activé SQLT, vous pouvez modifier les paramètres `LICENSE_PACK` et `VERSION` de l'option.

Pour plus d'informations sur la modification des paramètres d'options, consultez [Modification d’un paramètre d’option](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.ModifyOption). Pour plus d'informations sur chaque paramètre, consultez [Paramètres d'option SQLT](#Oracle.Options.SQLT.Options). 

## Suppression de l'option SQLT
<a name="Oracle.Options.SQLT.Remove"></a>

Vous pouvez supprimer SQLT d'une instance de base de données. 

Pour supprimer SQLT d'une instance de base de données, exécutez l'une des actions suivantes : 
+ Pour supprimer SQLT de plusieurs instances de base de données, supprimez l'option SQLT du groupe d'options auquel celles-ci appartiennent. Ce changement affecte toutes les instances de bases de données qui utilisent le groupe d'options. Pour plus d'informations, consultez [Suppression d’une option d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption). 

   
+ Pour supprimer l'option SQLT d'une seule instance de base de données, modifiez l'instance de base de données et spécifiez un autre groupe d'options qui n'inclut pas l'option SQLT. Vous pouvez spécifier le groupe d'options (vide) par défaut, ou un groupe d'options personnalisées différent. Pour plus d’informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

# Oracle Statspack
<a name="Appendix.Oracle.Options.Statspack"></a>

L'option Oracle Statspack installe et active la fonction de statistiques de performances Oracle Statspack. Oracle Statspack est un ensemble de scripts SQL, PL/SQL et SQL\$1Plus qui collectent, stockent et affichent les données de performance. Pour plus d'informations sur l'utilisation d'Oracle Statspack, consultez [Oracle Statspack](http://docs.oracle.com/cd/E13160_01/wli/docs10gr3/dbtuning/statsApdx.html) dans la documentation Oracle.

**Note**  
Oracle Statspack n'est plus pris en charge par Oracle et a été remplacé par l'option Automatic Workload Repository (AWR) plus avancée. AWR est disponible uniquement pour les clients Oracle Enterprise Edition ayant acheté le pack Diagnostics. Vous pouvez utiliser Oracle Statspack avec n'importe quel moteur de base de données Oracle sur Amazon RDS. Vous ne pouvez pas exécuter Oracle Statspack sur les réplicas en lecture Amazon RDS. 

## Configurer Oracle Statspack
<a name="Appendix.Oracle.Options.Statspack.setting-up"></a>

Pour exécuter des scripts Statspack, vous devez ajouter l'option Statspack.

**Pour configurer Oracle Statspack**

1. Dans un client SQL, connectez-vous à la base de données Oracle avec un compte administratif.

1. Procédez comme suit, selon que Statspack est installé ou pas :
   + Si Statspack est installé et que le compte `PERFSTAT` lui est associé, passez à l'étape 4.
   + Si Statspack n'est pas installé et que le compte `PERFSTAT` existe, supprimez le compte comme suit :

     ```
     DROP USER PERFSTAT CASCADE;
     ```

     Sinon, une tentative d'ajout de l'option Statspack génère une erreur et un `RDS-Event-0058`.

1. Ajoutez l'option Statspack à un groupe d'options. Consultez [Ajout d’une option à un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).

   Amazon RDS installe automatiquement les scripts Statspack sur l'instance de base de données, puis configure le compte `PERFSTAT`.

1. Réinitialisez le mot de passe à l'aide de l'instruction SQL suivante, en remplaçant *pwd* par votre nouveau mot de passe :

   ```
   ALTER USER PERFSTAT IDENTIFIED BY pwd ACCOUNT UNLOCK;
   ```

   Vous pouvez vous connecter à l'aide du compte d'utilisateur `PERFSTAT` et exécuter les scripts Statspack.

1. Accordez le privilège `CREATE JOB` au compte `PERFSTAT` à l’aide de l’instruction suivante :

   ```
   GRANT CREATE JOB TO PERFSTAT;
   ```

1. Assurez-vous que les événements d'attente inactifs dans la table `PERFSTAT.STATS$IDLE_EVENT` sont renseignés.

   En raison du bogue 28523746 d'Oracle, les événements d'attente inactifs dans `PERFSTAT.STATS$IDLE_EVENT` peuvent ne pas être renseignés. Pour vous assurer que tous les événements inactifs sont disponibles, exécutez l'instruction suivante :

   ```
   INSERT INTO PERFSTAT.STATS$IDLE_EVENT (EVENT)
   SELECT NAME FROM V$EVENT_NAME WHERE WAIT_CLASS='Idle'
   MINUS
   SELECT EVENT FROM PERFSTAT.STATS$IDLE_EVENT;
   COMMIT;
   ```

## Génération de rapports Statspack
<a name="Appendix.Oracle.Options.Statspack.generating-reports"></a>

Un rapport Statspack compare deux instantanés.

**Pour générer des rapports Statspack**

1. Dans un client SQL, connectez-vous à la base de données Oracle avec le compte `PERFSTAT`.

1. Créez un instantané à l'aide de l'une des techniques suivantes :
   + Créez manuellement un instantané Statspack.
   + Créez une tâche qui prend un instantané Statspack après un intervalle de temps donné. Par exemple, la tâche suivante crée un instantané Statspack chaque heure :

     ```
     VARIABLE jn NUMBER;
     exec dbms_job.submit(:jn, 'statspack.snap;',SYSDATE,'TRUNC(SYSDATE+1/24,''HH24'')');
     COMMIT;
     ```

1. Affichez les instantanés à l'aide de la requête suivante :

   ```
   SELECT SNAP_ID, SNAP_TIME FROM STATS$SNAPSHOT ORDER BY 1;
   ```

1. Exécutez la procédure Amazon RDS `rdsadmin.rds_run_spreport`, en remplaçant *begin\$1snap* et *end\$1snap* par les ID d'instantané :

   ```
   exec rdsadmin.rds_run_spreport(begin_snap,end_snap);
   ```

   Par exemple, la commande suivante crée un rapport basé sur l'intervalle entre les instantanés Statspack 1 et 2 :

   ```
   exec rdsadmin.rds_run_spreport(1,2);
   ```

   Le nom de fichier du rapport Statspack inclut le numéro des deux instantanés. Par exemple, un fichier de rapport créé à l'aide des instantanés Statspack 1 et 2 se nommera `ORCL_spreport_1_2.lst`.

1. Surveillez la sortie pour détecter des erreurs.

   Oracle Statspack effectue des vérifications avant d'exécuter le rapport. Par conséquent, vous pouvez également voir des messages d'erreur dans la sortie de la commande. Vous pouvez par exemple essayer de générer un rapport basé sur une plage non valable, dans laquelle la valeur de l'instantané Statspack de début est supérieure à la valeur de fin. Dans ce cas, la sortie affiche le message d'erreur, mais le moteur de base de données ne génère pas de fichier d'erreur.

   ```
   exec rdsadmin.rds_run_spreport(2,1);
   *
   ERROR at line 1:
   ORA-20000: Invalid snapshot IDs. Find valid ones in perfstat.stats$snapshot.
   ```

   Si vous utilisez un numéro erroné d'instantané Statspack, la sortie affiche une erreur. Par exemple, si vous essayez de générer un rapport pour les instantanés 1 et 50, mais que l'instantané 50 n'existe pas, la sortie affiche une erreur.

   ```
   exec rdsadmin.rds_run_spreport(1,50);
   *
   ERROR at line 1:
   ORA-20000: Could not find both snapshot IDs
   ```

1. (Facultatif) 

   Pour récupérer le rapport, appelez les procédures du fichier de trace, selon les explications de la section [Utilisation des fichiers de trace Oracle](USER_LogAccess.Concepts.Oracle.md#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles). 

   Vous pouvez également télécharger le rapport Statspack depuis la console RDS. Accédez à la section **Journal** des détails de l’instance de base de données et choisissez **Télécharger**. L’exemple suivant illustre `trace/ORCL_spreport_1_2.lst`.  
![\[Affichez la liste des fichiers journaux Oracle dans la console RDS. Le fichier de trace suivant est encerclé : trace/ORCL_spreport_1_2.lst.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/statspack1.png)

   Si une erreur se produit lors de la génération d’un rapport, le moteur de base de données utilise les mêmes conventions de dénomination que pour un rapport, mais avec une extension `.err`. Par exemple, si une erreur s'est produite lors de la création d'un rapport à l'aide des instantanés Statspack 1 et 7, le fichier de rapport sera nommé `ORCL_spreport_1_7.err`. Vous pouvez télécharger le rapport d'erreurs en utilisant les mêmes techniques que pour un rapport d'instantané standard.

## Suppression d'instantanés Statspack
<a name="Appendix.Oracle.Options.Statspack.removing-files"></a>

Pour supprimer une plage d'instantanés Oracle Statspack, utilisez la commande suivante :

```
exec statspack.purge(begin snap, end snap); 
```

# Fuseau horaire Oracle
<a name="Appendix.Oracle.Options.Timezone"></a>

Utilisez l'option de fuseau horaire pour modifier le fuseau horaire système utilisé par votre instance de base de données Oracle. Par exemple, vous devrez peut-être modifier le fuseau horaire d’une instance de base de données afin qu’elle soit compatible avec un environnement sur site ou une application héritée. L'option de fuseau horaire change le fuseau horaire au niveau de l'hôte. La modification du fuseau horaire impacte toutes les valeurs et colonnes date, y compris `SYSDATE` et `SYSTIMESTAMP`.

L'option de fuseau horaire diffère de la commande `rdsadmin_util.alter_db_time_zone`. La commande `alter_db_time_zone` modifie le fuseau horaire uniquement pour certains types de données. L'option du fuseau horaire modifie le fuseau horaire de toutes les valeurs et colonnes date. Pour plus d’informations sur `alter_db_time_zone`, consultez [Définition du fuseau horaire de la base de données](Appendix.Oracle.CommonDBATasks.TimeZoneSupport.md). Pour plus d’informations sur les considérations relatives aux mises à niveau, consultez [Considérations relatives au fuseau horaire](USER_UpgradeDBInstance.Oracle.OGPG.md#USER_UpgradeDBInstance.Oracle.OGPG.DST).

## Restrictions relatives à la définition du fuseau horaire
<a name="Appendix.Oracle.Options.Timezone.Restrictions"></a>

L'option de fuseau horaire est persistante et permanente. Par conséquent, vous ne pouvez pas effectuer les opérations suivantes :
+ Supprimez l’option d’un groupe d’options après avoir ajouté l’option de fuseau horaire.
+ Supprimer le groupe d'options d'une instance de base de données après l'avoir ajouté
+ Remplacer le paramètre de fuseau horaire de l'option par un autre fuseau horaire

## Recommandations relatives à la définition du fuseau horaire
<a name="Appendix.Oracle.Options.Timezone.PreReqs"></a>

Avant d'ajouter l'option de fuseau horaire à votre base de données de production, nous vous recommandons vivement d'effectuer les opérations suivantes :
+ Prenez un instantané de votre instance de base de données. Si vous définissez accidentellement le fuseau horaire de manière incorrecte, vous devez rétablir le paramètre de fuseau horaire précédent de votre instance de base de données. Pour plus d’informations, consultez [Création d’un instantané de base de données pour une instance de base de données mono-AZ pour Amazon RDS](USER_CreateSnapshot.md).
+ Ajoutez l'option de fuseau horaire à une instance de base de données de test. L'ajout de l'option de fuseau horaire peut entraîner des problèmes avec les tables qui utilisent la date système pour ajouter des dates ou des heures. Nous vous recommandons d’analyser vos données et applications sur l’instance de test. Vous pouvez ainsi évaluer l’incidence du changement de fuseau horaire sur votre instance de production.

Si votre instance de base de données utilise le groupe d’options par défaut, procédez comme suit :

1. Prenez un instantané de votre instance de base de données.

1. Ajoutez l'option de fuseau horaire à votre instance de base de données.

Si votre instance de base de données utilise le groupe d’options autres que par défaut, procédez comme suit :

1. Prenez un instantané de votre instance de base de données.

1. Créez un nouveau groupe d'options.

1. Ajoutez-y l’option de fuseau horaire, ainsi que toutes les autres options actuellement associées au groupe d’options existant.

   Cela empêche la désinstallation des options existantes lors de l’activation de l’option de fuseau horaire.

1. Ajoutez le groupe d'options à votre instance de base de données.

## Paramètres d'option de fuseau horaire
<a name="Appendix.Oracle.Options.Timezone.Options"></a>

Amazon RDS prend en charge les paramètres suivants pour l'option de fuseau horaire. 


****  

| Paramètre d'option | Valeurs valides | Description | 
| --- | --- | --- | 
| `TIME_ZONE` |  Un des fuseaux horaires disponibles. Pour obtenir la liste complète, consultez [Fuseaux horaires disponibles](#Appendix.Oracle.Options.Timezone.Zones).   |  Nouveau fuseau horaire de votre instance de base de données.   | 

## Ajout de l'option de fuseau horaire
<a name="Appendix.Oracle.Options.Timezone.Add"></a>

Effectuez les étapes suivantes pour ajouter l’option de fuseau horaire à votre instance de base de données :

1. (Recommandé) Prenez un instantané de votre instance de base de données.

1. Effectuez l’une des tâches suivantes :
   + Créez un nouveau groupe d’options à partir de zéro. Pour de plus amples informations, veuillez consulter [Création d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).
   + Copiez un groupe d'options existant à l'aide de l'API AWS CLI or. Pour de plus amples informations, veuillez consulter [Copie d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Copy).
   + Réutilisez un groupe d’options existant autre que le groupe d’options par défaut. Une bonne pratique consiste à utiliser un groupe d’options qui n’est actuellement associé à aucune instance de base de données ni à aucun instantané.

1. Ajoutez la nouvelle option au groupe d’options de l’étape précédente.

1. Si le groupe d’options actuellement associé à votre instance de base de données possède des options activées, ajoutez ces options à votre nouveau groupe d’options. Cette stratégie empêche la désinstallation des options existantes lors de l’activation de la nouvelle option.

1. Ajoutez le nouveau groupe d’options à votre instance de base de données.

Lorsque vous ajoutez l’option de fuseau horaire, une brève interruption de service se produit pendant le redémarrage automatique de votre instance de base de données. 

### Console
<a name="Appendix.Oracle.Options.Timezone.Console"></a>

**Pour ajouter l’option de fuseau horaire à un groupe d’options et l’associer à une instance de base de données**

1. Dans la console RDS, choisissez **Groupes d’options**.

1. Choisissez le nom du groupe d’options auquel vous souhaitez ajouter l’option.

1. Sélectionnez **Ajouter une option**.

1. Dans **Nom de l’option**, choisissez **Fuseau horaire**, puis configurez les paramètres de l’option. 

1. Associez le groupe d’options à une instance de base de données nouvelle ou existante : 
   + Pour une nouvelle instance de base de données, appliquez le groupe d’options lorsque vous lancez l’instance. Pour plus d’informations, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md). 
   + Pour une instance de base de données existante, appliquez le groupe d’options en modifiant l’instance et en attachant le nouveau groupe d’options. Lorsque vous ajoutez la nouvelle options à une instance de base de données existante, une brève interruption de service se produit pendant le redémarrage automatique de votre instance de base de données. Pour de plus amples informations, veuillez consulter [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

### AWS CLI
<a name="Appendix.Oracle.Options.Timezone.CLI"></a>

L'exemple suivant utilise la commande AWS CLI [add-option-to-option-group](https://docs.aws.amazon.com/cli/latest/reference/rds/add-option-to-option-group.html) pour ajouter l'`Timezone`option et le paramètre d'`TIME_ZONE`option à un groupe d'options appelé`myoptiongroup`. Le fuseau horaire par défaut est défini sur `Africa/Cairo`. 

Pour Linux, macOS ou Unix :

```
aws rds add-option-to-option-group \
    --option-group-name "myoptiongroup" \
    --options "OptionName=Timezone,OptionSettings=[{Name=TIME_ZONE,Value=Africa/Cairo}]" \
    --apply-immediately
```

Pour Windows :

```
aws rds add-option-to-option-group ^
    --option-group-name "myoptiongroup" ^
    --options "OptionName=Timezone,OptionSettings=[{Name=TIME_ZONE,Value=Africa/Cairo}]" ^
    --apply-immediately
```

## Modification des paramètres de fuseau horaire
<a name="Appendix.Oracle.Options.Timezone.ModifySettings"></a>

L'option de fuseau horaire est persistante et permanente. Vous ne pouvez pas supprimer l'option d'un groupe d'options après l'avoir ajoutée. Vous ne pouvez pas supprimer le groupe d'options d'une instance de base de données après l'avoir ajouté. Vous ne pouvez pas remplacer le paramètre de fuseau horaire de l'option par un autre fuseau horaire. Si vous définissez le fuseau horaire de manière incorrecte, restaurez un instantané de votre instance de base de données antérieur à l'ajout de l'option de fuseau horaire. 

## Suppression de l'option de fuseau horaire
<a name="Appendix.Oracle.Options.Timezone.Remove"></a>

L'option de fuseau horaire est persistante et permanente. Vous ne pouvez pas supprimer l'option d'un groupe d'options après l'avoir ajoutée. Vous ne pouvez pas supprimer le groupe d'options d'une instance de base de données après l'avoir ajouté. Pour supprimer l'option de fuseau horaire, restaurez un instantané de votre instance de base de données antérieur à l'ajout de l'option de fuseau horaire. 

## Fuseaux horaires disponibles
<a name="Appendix.Oracle.Options.Timezone.Zones"></a>

Vous pouvez utiliser les valeurs suivantes pour l'option de fuseau horaire. 


****  

| disponibilité | Fuseau horaire | 
| --- | --- | 
|  Afrique  |  Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Lagos, Africa/Luanda, Africa/Monrovia, Africa/Nairobi, Africa/Tripoli, Africa/Windhoek   | 
|  Amérique  |  America/Araguaina, America/Argentina/Buenos\$1Aires, America/Asuncion, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Cuiaba, America/Denver, America/Detroit, America/Fortaleza, America/Godthab, America/Guatemala, America/Halifax, America/Lima, America/Los\$1Angeles, America/Manaus, America/Matamoros, America/Mexico\$1City, America/Monterrey, America/Montevideo, America/New\$1York, America/Phoenix, America/Santiago, America/Sao\$1Paulo, America/Tijuana, America/Toronto   | 
|  Asie  |  Asia/Amman, Asia/Ashgabat, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Beirut, Asia/Calcutta, Asia/Damascus, Asia/Dhaka, Asia/Hong\$1Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Magadan, Asia/Manila, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Taipei, Asia/Tehran, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Vladivostok, Asia/Yakutsk, Asia/Yerevan   | 
|  Atlantique  |  Atlantic/Azores, Atlantic/Cape\$1Vert   | 
|  Australie  |  Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Eucla, Australia/Hobart, Australia/Lord\$1Howe, Australia/Perth, Australia/Sydney   | 
|  Brésil  |  Brazil/DeNoronha, Brazil/East   | 
|  Canada  |  Canada/Newfoundland, Canada/Saskatchewan   | 
|  Etc  |  Etc/GMT-3  | 
|  Europe  |  Europe/Amsterdam, Europe/Athens, Europe/Berlin, Europe/Dublin, Europe/Helsinki, Europe/Kaliningrad, Europe/London, Europe/Madrid, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Rome, Europe/Sarajevo   | 
|  Pacifique  |  Pacific/Apia, Pacific/Auckland, Pacific/Chatham, Pacific/Fiji, Pacific/Guam, Pacific/Honolulu, Pacific/Kiritimati, Pacific/Marquesas, Pacific/Samoa, Pacific/Tongatapu, Pacific/Wake   | 
|  ETATS-UNIS  |  US/Alaska, US/Central, US/East-Indiana, US/Eastern, US/Pacific   | 
|  UTC  |  UTC  | 

# Mise à niveau automatique du fichier sur le fuseau horaire Oracle
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade"></a>

Avec l’option `TIMEZONE_FILE_AUTOUPGRADE`, vous pouvez mettre à niveau le fichier sur le fuseau horaire actuel vers la dernière version de votre instance de base de données RDS for Oracle.

**Topics**
+ [

# Présentation des fichiers sur le fuseau horaire Oracle
](Appendix.Oracle.Options.Timezone-file-autoupgrade.tz-overview.md)
+ [

# Politiques pour la mise à jour de votre fichier sur le fuseau horaire
](Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies.md)
+ [

# Temps d'arrêt pendant la mise à jour du fichier sur le fuseau horaire
](Appendix.Oracle.Options.Timezone-file-autoupgrade.considerations.md)
+ [

# Préparation de la mise à jour du fichier sur le fuseau horaire
](Appendix.Oracle.Options.Timezone-file-autoupgrade.preparing.md)
+ [

# Ajout de l'option de mise à niveau automatique du fichier sur le fuseau horaire
](Appendix.Oracle.Options.Timezone-file-autoupgrade.adding.md)
+ [

# Vérification de vos données après la mise à jour du fichier sur le fuseau horaire
](Appendix.Oracle.Options.Timezone-file-autoupgrade.checking.md)

# Présentation des fichiers sur le fuseau horaire Oracle
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.tz-overview"></a>

Un *fichier sur le fuseau horaire* de la base de données Oracle contient les informations suivantes :
+ Décalage par rapport au temps universel coordonné (UTC)
+ Heures de transition vers l'heure d'été (DST)
+ Abréviations pour l'heure normale et l'heure d'été

La base de données Oracle fournit plusieurs versions de fichiers sur le fuseau horaire. Lorsque vous créez une base de données Oracle dans un environnement sur site, vous choisissez la version du fichier sur le fuseau horaire. Pour plus d'informations, consultez [Choosing a Time Zone File](https://docs.oracle.com/en/database/oracle/oracle-database/19/nlspg/datetime-data-types-and-time-zone-support.html#GUID-805AB986-DE12-4FEA-AF56-5AABCD2132DF) (Choix d'un fichier sur le fuseau horaire) dans le *Guide de prise en charge de la mondialisation de la base de données Oracle*.

Si les règles pour l'heure d'été changent, Oracle publie de nouveaux fichiers sur le fuseau horaire. Oracle publie ces nouveaux fichiers de fuseau horaire indépendamment du calendrier des mises à jour trimestrielles (RUs) et des révisions des mises à jour des versions (RURs). Les fichiers sur le fuseau horaire se trouvent sur l'hôte de la base de données dans le répertoire `$ORACLE_HOME/oracore/zoneinfo/`. Les noms de fichiers de fuseau horaire utilisent le format DSTv*version*, comme dans DSTv35.

## Comment le fichier sur le fuseau horaire affecte le transfert des données
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.data-transfer"></a>

Dans Oracle Database, le type de données `TIMESTAMP WITH TIME ZONE` stocke les données relatives à l'horodatage et au fuseau horaire. Les données avec le type de données `TIMESTAMP WITH TIME ZONE` utilisent les règles de la version du fichier sur le fuseau horaire associée. Ainsi, les données `TIMESTAMP WITH TIME ZONE` existantes sont affectées lorsque vous mettez à jour le fichier sur le fuseau horaire.

Des problèmes peuvent survenir lorsque vous transférez des données entre des bases de données utilisant différentes versions du fichier sur le fuseau horaire. Par exemple, si vous importez des données à partir d’une base de données source avec une version de fichier sur le fuseau horaire supérieure à celle de la base de données cible, la base de données émet l’erreur `ORA-39405`. Auparavant, vous deviez contourner cette erreur en utilisant l'une des techniques suivantes :
+ Créez une instance de base de données RDS for Oracle avec le fichier sur le fuseau horaire souhaité, exportez les données depuis votre base de données source, puis importez-les dans la nouvelle base de données.
+ Utilisez le AWS DMS ou la réplication logique pour migrer vos données.

## Mises à jour automatique avec l'option TIMEZONE\$1FILE\$1AUTOUPGRADE.
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.option-overview"></a>

Lorsque le groupe d’options associé à votre instance de base de données RDS for Oracle inclut l’option `TIMEZONE_FILE_AUTOUPGRADE`, RDS met automatiquement à jour vos fichiers sur le fuseau horaire. En veillant à ce que vos bases de données Oracle utilisent la même version de fichier sur le fuseau horaire, vous évitez les techniques manuelles fastidieuses lorsque vous déplacez des données entre différents environnements. L'`TIMEZONE_FILE_AUTOUPGRADE`option est prise en charge à la fois pour les bases de données de conteneurs (CDBs) et nonCDBs.

Lorsque vous ajoutez l'option `TIMEZONE_FILE_AUTOUPGRADE` à votre groupe d'options, vous pouvez choisir si vous souhaitez l'ajouter immédiatement ou pendant la fenêtre de maintenance. Une fois que votre instance de base de données a appliqué la nouvelle option, RDS vérifie si elle peut installer un DSTv *version* fichier plus récent. La cible DSTv *version* dépend des éléments suivants :
+ La version de moteur mineure que votre instance de base de données exécute actuellement
+ La version de moteur mineure vers laquelle vous souhaitez mettre à niveau votre instance de base de données

Par exemple, la version actuelle de votre fichier de fuseau horaire peut être DSTv33. Lorsque RDS applique la mise à jour à votre groupe d'options, il peut déterminer qu'il DSTv34 est actuellement disponible sur votre système de fichiers d'instance de base de données. RDS mettra alors DSTv34 automatiquement à jour votre fichier de fuseau horaire.

Pour trouver les versions DST disponibles dans les mises à jour des versions RDS prises en charge, consultez les correctifs dans [Notes de mise à jour d’Amazon Relational Database Service (Amazon RDS) for Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/Welcome.html). Par exemple, la [version 19.0.0.0.ru-10.rur-05.rur-10.r1 répertorie le correctif 34533061 : RDBMS - UPDATE - C.](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/oracle-version-19-0.html#oracle-version-RU-RUR.19.0.0.0.ru-2022-10.rur-2022-10.r1) DSTV39 TZDATA2022

# Politiques pour la mise à jour de votre fichier sur le fuseau horaire
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies"></a>

La mise à niveau de votre moteur de base de données et l’ajout de l’option `TIMEZONE_FILE_AUTOUPGRADE` à un groupe d’options sont des opérations distinctes. L’ajout de l’option `TIMEZONE_FILE_AUTOUPGRADE` lance la mise à jour de votre fichier de fuseau horaire si un fichier plus récent est disponible. Vous exécutez les commandes suivantes (seules les options pertinentes sont affichées) immédiatement ou lors de la fenêtre de maintenance suivante :
+ Mettez à niveau votre moteur de base de données uniquement à l’aide de la commande de l’interface de ligne de commande RDS suivante :

  ```
  modify-db-instance --engine-version name ...
  ```
+ Ajoutez l’option `TIMEZONE_FILE_AUTOUPGRADE` uniquement à l’aide de la commande de l’interface de ligne de commande suivante : 

  ```
  add-option-to-option-group --option-group-name name --options OptionName=TIMEZONE_FILE_AUTOUPGRADE ...
  ```
+ Mettez à niveau votre moteur de base de données et ajoutez un nouveau groupe d’options à votre instance à l’aide de la commande de l’interface de ligne de commande suivante :

  ```
  modify-db-instance --engine-version name --option-group-name name ...
  ```

Votre stratégie de mise à jour varie selon que vous souhaitez mettre à niveau votre base de données et votre fichier sur le fuseau horaire en même temps ou effectuer une seule de ces opérations. N’oubliez pas que si vous mettez à jour votre groupe d’options, puis que vous mettez à niveau votre moteur de base de données dans le cadre d’opérations d’API distinctes, il est possible qu’une mise à jour du fichier de fuseau horaire soit actuellement en cours lorsque vous mettez à niveau votre moteur de base de données.

Les exemples de cette section supposent ce qui suit :
+ Vous n’avez pas encore ajouté `TIMEZONE_FILE_AUTOUPGRADE` au groupe d’options actuellement associé à votre instance de base de données.
+ Votre instance de base de données utilise la version 19.0.0.0.ru-2019-07.rur-2019-07.r1 et un fichier de fuseau horaire. DSTv33
+ Le système de fichiers de votre instance de base de données inclut un fichier DSTv34. 
+ La mise à jour 19.0.0.0.ru-05.10.rur-05.10.r1 inclut. DSTv35 

Pour mettre à jour votre fichier sur le fuseau horaire, vous pouvez utiliser les stratégies suivantes.

**Topics**
+ [

## Mettre à jour le fichier sur le fuseau horaire sans mettre à niveau le moteur
](#Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies.no-upgrade)
+ [

## Mettre à niveau le fichier sur le fuseau horaire et la version du moteur de base de données
](#Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies.upgrade)
+ [

## Mettre à niveau la version de votre moteur de base de données sans mettre à jour le fichier sur le fuseau horaire
](#Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies.upgrade-only)

## Mettre à jour le fichier sur le fuseau horaire sans mettre à niveau le moteur
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies.no-upgrade"></a>

Dans ce scénario, votre base de données utilise DSTv33, mais elle DSTv34 est disponible sur votre système de fichiers d'instance de base de données. Vous souhaitez mettre à jour le fichier de fuseau horaire utilisé par votre instance de base de données de DSTv33 à DSTv34, mais vous ne souhaitez pas mettre à niveau votre moteur vers une nouvelle version mineure, qui inclut DSTv35. 

Dans une commande `add-option-to-option-group`, ajoutez `TIMEZONE_FILE_AUTOUPGRADE` au groupe d’options utilisé par votre instance de base de données. Indiquez si vous souhaitez ajouter l'option immédiatement ou la reporter à la fenêtre de maintenance. Après avoir appliqué l’option `TIMEZONE_FILE_AUTOUPGRADE`, RDS procède comme suit :

1. Il vérifie la présence d’une nouvelle version de DST.

1. Détermine ce qui DSTv34 est disponible sur le système de fichiers.

1. Il met à jour le fichier sur le fuseau horaire immédiatement.

## Mettre à niveau le fichier sur le fuseau horaire et la version du moteur de base de données
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies.upgrade"></a>

Dans ce scénario, votre base de données utilise DSTv33, mais elle DSTv34 est disponible sur votre système de fichiers d'instance de base de données. Vous souhaitez mettre à niveau votre moteur de base de données vers la version mineure 19.0.0.0.ru-05.10.rur-05.r1, qui inclut DSTv35 et mettre à jour votre fichier de fuseau horaire pendant la mise à niveau du moteur. DSTv35 Ainsi, votre objectif est d'ignorer DSTv34 et de mettre à jour vos fichiers de fuseau horaire directement vers DSTv35. 

Pour mettre à niveau le moteur et le fichier de fuseau horaire en même temps, exécutez `modify-db-instance` avec les options `--engine-version` et `--option-group-name`. Vous pouvez exécuter la commande immédiatement ou la reporter à la fenêtre de maintenance. `In --option-group-name`, spécifiez un groupe d’options qui inclut l’option `TIMEZONE_FILE_AUTOUPGRADE`. Par exemple :

```
aws rds modify-db-instance 
    --db-instance-identifier my-instance \
    --engine-version new-version \
    ----option-group-name og-with-timezone-file-autoupgrade \    
    --apply-immediately
```

RDS commence la mise à niveau de votre moteur vers la version 19.0.0.0.ru-2022-10.rur-2022-10.r1. Après avoir appliqué l'`TIMEZONE_FILE_AUTOUPGRADE`option, RDS vérifie s'il existe une nouvelle version d'heure d'été, vérifie qu'elle DSTv35 est disponible dans 19.0.0.0.ru-10.rur-04.10.r1 et lance immédiatement la mise à jour vers. DSTv35

Pour mettre à niveau votre moteur immédiatement, puis mettre à niveau votre fichier de fuseau horaire, effectuez les opérations dans l’ordre :

1. Mettez à niveau votre moteur de base de données uniquement à l’aide de la commande de l’interface de ligne de commande suivante :

   ```
   aws rds modify-db-instance \
       --db-instance-identifier my-instance \
       --engine-version new-version \
       --apply-immediately
   ```

1. Ajoutez l’option `TIMEZONE_FILE_AUTOUPGRADE` au groupe d’options attaché à votre instance à l’aide de la commande de l’interface de ligne de commande suivante : 

   ```
   aws rds add-option-to-option-group \
       --option-group-name og-in-use-by-your-instance \
       --options OptionName=TIMEZONE_FILE_AUTOUPGRADE \
       --apply-immediately
   ```

## Mettre à niveau la version de votre moteur de base de données sans mettre à jour le fichier sur le fuseau horaire
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies.upgrade-only"></a>

Dans ce scénario, votre base de données utilise DSTv33, mais elle DSTv34 est disponible sur votre système de fichiers d'instance de base de données. Vous souhaitez mettre à niveau votre moteur de base de données vers la version 19.0.0.0.ru-05.10.rur-05.r1, qui inclut le fichier de fuseau horaire, mais le conserve. DSTv35 DSTv33 Vous pouvez être appelé choisir cette politique pour les raisons suivantes :
+ Vos données n'utilisent pas le type de données `TIMESTAMP WITH TIME ZONE`.
+ Vos données utilisent le type de données `TIMESTAMP WITH TIME ZONE`, mais vos données ne sont pas affectées par les changements de fuseau horaire.
+ Vous souhaitez reporter la mise à jour du fichier sur le fuseau horaire, car vous ne pouvez pas tolérer de temps d'arrêt supplémentaire.

Votre stratégie dépend de si les possibilités suivantes sont vraies (true) :
+ Votre instance de base de données n'est pas associée à un groupe d'options comprenant `TIMEZONE_FILE_AUTOUPGRADE`. Dans votre commande `modify-db-instance`, ne spécifiez pas de nouveau groupe d’options afin que RDS ne mette pas à jour votre fichier sur le fuseau horaire.
+ Votre instance de base de données est actuellement associée à un groupe d’options comprenant `TIMEZONE_FILE_AUTOUPGRADE`. Avec une commande `modify-db-instance` unique, associez votre instance de base de données à un groupe d’options qui n’inclut pas `TIMEZONE_FILE_AUTOUPGRADE`, puis mettez à niveau votre moteur de base de données vers 19.0.0.0.ru-2022-10.rur-2022-10.r1.

# Temps d'arrêt pendant la mise à jour du fichier sur le fuseau horaire
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.considerations"></a>

Lorsque RDS met à jour votre fichier sur le fuseau horaire, les données existantes qui utilisent `TIMESTAMP WITH TIME ZONE` peuvent changer. Dans ce cas, votre principale considération est les temps d'arrêt.

**Avertissement**  
Si vous ajoutez l'option `TIMEZONE_FILE_AUTOUPGRADE`, la mise à niveau de votre moteur peut avoir un temps d'arrêt prolongé. La mise à jour des données de fuseau horaire d'une base de données volumineuse peut prendre des heures, voire des jours.

La durée de mise à jour du fichier sur le fuseau horaire dépend entre autres des facteurs suivants :
+ La quantité de données `TIMESTAMP WITH TIME ZONE` dans votre base de données
+ La configuration de l'instance de base de données
+ La classe d'instance de base de données
+ La configuration du stockage
+ La configuration de la base de données
+ Les réglages des paramètres de base de données

Des temps d'arrêt supplémentaires peuvent survenir lorsque vous effectuez les opérations suivantes :
+ Ajout de l'option au groupe d'options lorsque l'instance de base de données utilise un fichier sur le fuseau horaire obsolète
+ Mise à niveau du moteur de base de données Oracle lorsque la nouvelle version du moteur contient une nouvelle version du fichier sur le fuseau horaire

**Note**  
Lors de la mise à jour du fichier sur le fuseau horaire, RDS for Oracle appelle `PURGE DBA_RECYCLEBIN`.

# Préparation de la mise à jour du fichier sur le fuseau horaire
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.preparing"></a>

Une mise à niveau de fichier sur le fuseau horaire comporte deux phases distinctes : la préparation et la mise à niveau. Même si ce n'est pas nécessaire, nous vous recommandons vivement de procéder à l'étape de préparation. Au cours de cette étape, vous découvrirez quelles données seront affectées par l'exécution de la PL/SQL procédure`DBMS_DST.FIND_AFFECTED_TABLES`. Pour plus d'informations sur la fenêtre de préparation, consultez [Mise à niveau du fichier sur le fuseau horaire et de l'horodatage avec les données de fuseau horaire](https://docs.oracle.com/en/database/oracle/oracle-database/19/nlspg/datetime-data-types-and-time-zone-support.html#GUID-B0ACDB2E-4B49-4EB4-B4CC-9260DAE1567A) dans la documentation Oracle Database.

**Pour préparer la mise à jour du fichier sur le fuseau horaire**

1. Connectez-vous à votre base de données Oracle à l'aide d'un client SQL.

1. Déterminez la version actuelle du fichier sur le fuseau horaire utilisé.

   ```
   SELECT * FROM V$TIMEZONE_FILE;
   ```

1. Déterminez la dernière version de fichier sur le fuseau horaire disponible sur votre instance de base de données.

   ```
   SELECT DBMS_DST.GET_LATEST_TIMEZONE_VERSION FROM DUAL;
   ```

1. Déterminez la taille totale des tables qui ont des colonnes de type `TIMESTAMP WITH LOCAL TIME ZONE` ou `TIMESTAMP WITH TIME ZONE`.

   ```
   SELECT SUM(BYTES)/1024/1024/1024 "Total_size_w_TSTZ_columns_GB"
   FROM   DBA_SEGMENTS
   WHERE  SEGMENT_TYPE LIKE 'TABLE%'
   AND    (OWNER, SEGMENT_NAME) IN
            (SELECT OWNER, TABLE_NAME
             FROM   DBA_TAB_COLUMNS
             WHERE  DATA_TYPE LIKE 'TIMESTAMP%TIME ZONE');
   ```

1. Déterminez les noms et les tailles des segments qui ont des colonnes de type `TIMESTAMP WITH LOCAL TIME ZONE` ou `TIMESTAMP WITH TIME ZONE`.

   ```
   SELECT OWNER, SEGMENT_NAME, SUM(BYTES)/1024/1024/1024 "SEGMENT_SIZE_W_TSTZ_COLUMNS_GB"
   FROM   DBA_SEGMENTS
   WHERE  SEGMENT_TYPE LIKE 'TABLE%'
   AND    (OWNER, SEGMENT_NAME) IN
            (SELECT OWNER, TABLE_NAME
             FROM   DBA_TAB_COLUMNS
             WHERE  DATA_TYPE LIKE 'TIMESTAMP%TIME ZONE')
   GROUP BY OWNER, SEGMENT_NAME;
   ```

1. Exécutez l'étape de préparation. 
   + La procédure `DBMS_DST.CREATE_AFFECTED_TABLE` crée une table pour stocker toutes les données affectées. Vous passez le nom de cette table à la procédure `DBMS_DST.FIND_AFFECTED_TABLES`. Pour plus d'informations, consultez [Procédure CREATE\$1AFFECTED\$1TABLE](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_DST.html#GUID-C53BAABA-914A-404C-9CD5-823257BE0B00) dans la documentation Oracle Database.
   + Cette procédure `CREATE_ERROR_TABLE` crée une table pour journaliser les erreurs. Pour plus d'informations, consultez [Procédure CREATE\$1ERROR\$1TABLE](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_DST.html#GUID-6A7EA024-B02D-4486-B1D6-EF6ABF5DE507) dans la documentation Oracle Database.

   L'exemple suivant crée les tables de données et d'erreurs affectées, et recherche toutes les tables affectées.

   ```
   EXEC DBMS_DST.CREATE_ERROR_TABLE('my_error_table')
   EXEC DBMS_DST.CREATE_AFFECTED_TABLE('my_affected_table')
   
   EXEC DBMS_DST.BEGIN_PREPARE(new_version);
   EXEC DBMS_DST.FIND_AFFECTED_TABLES('my_affected_table', TRUE, 'my_error_table');
   EXEC DBMS_DST.END_PREPARE;
   
   SELECT * FROM my_affected_table;
   SELECT * FROM my_error_table;
   ```

1. Interrogez les tables affectées et les tables d'erreurs.

   ```
   SELECT * FROM my_affected_table;
   SELECT * FROM my_error_table;
   ```

# Ajout de l'option de mise à niveau automatique du fichier sur le fuseau horaire
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.adding"></a>

Lorsque vous ajoutez l'option à un groupe d'options, le groupe d'options se trouve dans l'un des états suivants :
+ Un groupe d'options existant est actuellement attaché à au moins une instance de base de données. Lorsque vous ajoutez l'option, toutes les instances de base de données qui utilisent ce groupe d'options redémarrent automatiquement. Cela provoque une panne brève.
+ Aucun groupe d'options existant n'est attaché à une instance de base de données. Vous prévoyez d'ajouter l'option, puis d'associer le groupe d'options existant à des instances de base de données existantes ou à une nouvelle instance de base de données.
+ Vous créez un nouveau groupe d'options et ajoutez l'option. Vous prévoyez d'associer le nouveau groupe d'options à des instances de base de données existantes ou à une nouvelle instance de base de données.

## Console
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.console"></a>

**Pour ajouter l'option de mise à niveau automatique du fichier sur le fuseau horaire à une instance de base de données**

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Dans le panneau de navigation, choisissez **Groupes d’options**.

1. Déterminez le groupe d’options que vous voulez utiliser. Vous pouvez créer un groupe d'options ou utiliser un groupe d'options existant. Si vous souhaitez utiliser un groupe d'options existant, passez à l'étape suivante. Sinon, créez un groupe d'options DB personnalisé avec les paramètres suivants : 

   1. Pour **Engine** (Moteur), choisissez l'édition de base de données Oracle de votre instance de base de données. 

   1. Pour **Version majeure du moteur**, choisissez la version de votre instance de base de données. 

   Pour de plus amples informations, veuillez consulter [Création d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Cochez la case pour le groupe d’options que vous souhaitez modifier, puis choisissez **Ajouter une option**.

1. Dans la fenêtre **Ajouter une option**, procédez comme suit : 

   1. Choisissez **TIMEZONE\$1FILE\$1AUTOUPGRADE**.

   1. Pour activer l’option sur toutes les instances de base de données associées dès que vous l’ajoutez, pour **Apply Immediately (Appliquer immédiatement)**, choisissez **Oui**. Si vous choisissez **Non** (valeur par défaut), l’option est activée pour chaque instance de base de données associée pendant sa fenêtre de maintenance suivante.

1. Lorsque les paramètres vous conviennent, choisissez **Ajouter une option**.

## AWS CLI
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.CLI"></a>

L'exemple suivant utilise la commande AWS CLI [add-option-to-option-group](https://docs.aws.amazon.com/cli/latest/reference/rds/add-option-to-option-group.html) pour ajouter l'`TIMEZONE_FILE_AUTOUPGRADE`option à un groupe d'options appelé`myoptiongroup`.

Pour Linux, macOS ou Unix :

```
aws rds add-option-to-option-group \
    --option-group-name "myoptiongroup" \
    --options "OptionName=TIMEZONE_FILE_AUTOUPGRADE" \
    --apply-immediately
```

Pour Windows :

```
aws rds add-option-to-option-group ^
    --option-group-name "myoptiongroup" ^
    --options "OptionName=TIMEZONE_FILE_AUTOUPGRADE" ^
    --apply-immediately
```

# Vérification de vos données après la mise à jour du fichier sur le fuseau horaire
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.checking"></a>

Nous vous recommandons de vérifier vos données après avoir mis à jour le fichier sur le fuseau horaire. Au cours de l'étape de préparation, RDS for Oracle crée automatiquement les tables suivantes :
+ `rdsadmin.rds_dst_affected_tables` – Répertorie les tables qui contiennent des données affectées par la mise à jour
+ `rdsadmin.rds_dst_error_table` – Répertorie les erreurs générées pendant la mise à jour

Ces tables sont indépendantes des tables que vous créez dans la fenêtre de préparation. Pour afficher les résultats de la mise à jour, interrogez les tables comme suit.

```
SELECT * FROM rdsadmin.rds_dst_affected_tables;
SELECT * FROM rdsadmin.rds_dst_error_table;
```

Pour plus d'informations sur le schéma des données affectées et des tables d'erreurs, consultez [Procédure FIND\$1AFFECTED\$1TABLES](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_DST.html#GUID-1F977505-671C-4D5B-8570-86956F136199) dans la documentation Oracle.

# Oracle Transparent Data Encryption
<a name="Appendix.Oracle.Options.AdvSecurity"></a>

Amazon RDS prend en charge Oracle TDE (Transparent Data Encryption), fonction de l'option Oracle Advanced Security disponible dans Oracle Enterprise Edition. Cette fonction chiffre automatiquement les données avant qu'elles ne soient écrites dans le stockage et déchiffre automatiquement les données lorsqu'elles sont lues depuis le stockage. Cette option n’est prise en charge que pour le modèle Apportez votre propre licence (BYOL).

TDE est utile dans les scénarios où vous avez besoin de chiffrer les données sensibles au cas où les sauvegardes et les fichiers de données seraient obtenus par un tiers. TDE est également utile lorsque vous devez vous conformer aux réglementations relatives à la sécurité. 

Une explication détaillée sur TDE dans Oracle Database n’entre pas dans le cadre de ce guide. Pour plus d’informations, consultez les ressources Oracle Database suivantes :
+ [Introduction to Transparent Data Encryption](https://docs.oracle.com/en/database/oracle/oracle-database/19/asoag/introduction-to-transparent-data-encryption.html#GUID-62AA9447-FDCD-4A4C-B563-32DE04D55952) dans la documentation Oracle Database
+ [Oracle advanced security](https://www.oracle.com/security/database-security/) dans la documentation Oracle Database
+ [Oracle advanced security Transparent Data Encryption best practices](https://www.oracle.com/br/a/tech/docs/technical-resources/twp-transparent-data-encryption-bestpractices.pdf), qui est un livre blanc Oracle

Pour plus d’informations sur l’utilisation de TDE avec RDS for Oracle, consultez les blogs suivants :
+ [Oracle Database Encryption Options on Amazon RDS](https://aws.amazon.com/blogs/apn/oracle-database-encryption-options-on-amazon-rds/)
+ [Migrez une instance de base de données Amazon RDS pour Oracle compatible TDE entre comptes avec un temps d'arrêt réduit grâce à AWS DMS](https://aws.amazon.com/blogs/database/migrate-a-cross-account-tde-enabled-amazon-rds-for-oracle-db-instance-with-reduced-downtime-using-aws-dms/)

## Modes de chiffrement TDE
<a name="Appendix.Oracle.Options.AdvSecurity.Modes"></a>

Oracle TDE prend en charge deux modes de chiffrement : le chiffrement d'espace de table TDE et le chiffrement de colonne TDE. Le chiffrement d'espace de table TDE permet de chiffrer des tables d'application complètes. Le chiffrement de colonne TDE permet de chiffrer les éléments de données qui contiennent des données sensibles. Vous pouvez également appliquer une solution de chiffrement hybride qui utilise les deux chiffrements TDE d'espace de table et de colonne. 

**Note**  
Amazon RDS assure la gestion du portefeuille (« wallet ») Oracle et de la clé principale TDE pour l'instance de base de données. Vous n'avez pas besoin de définir la clé de chiffrement à l'aide de la commande `ALTER SYSTEM set encryption key`. 

Une fois que vous avez activé l’option `TDE`, vous pouvez vérifier l’état du portefeuille Oracle en utilisant la commande suivante : 

```
SELECT * FROM v$encryption_wallet;
```

Pour créer un espace de table chiffré, utilisez la commande suivante :

```
CREATE TABLESPACE encrypt_ts ENCRYPTION DEFAULT STORAGE (ENCRYPT);
```

Pour spécifier l'algorithme de chiffrement, utilisez la commande suivante :

```
CREATE TABLESPACE encrypt_ts ENCRYPTION USING 'AES256' DEFAULT STORAGE (ENCRYPT);
```

Les instructions précédentes pour chiffrer un espace de table sont les mêmes que celles que vous utiliseriez sur une base de données Oracle sur site.

## Restrictions relatives à l’option TDE
<a name="Appendix.Oracle.Options.Timezone.Restrictions"></a>

L’option TDE est permanente et persistante. Une fois que vous avez associé votre instance de base de données à un groupe d’options dont l’option TDE est activée, vous ne pouvez pas effectuer les actions suivantes :
+ Désactivez l’option `TDE` dans le groupe d’options actuellement associé.
+ Associez votre instance de base de données à un groupe d’options qui n’inclut pas l’option `TDE`.
+ Partagez un instantané de base de données qui utilise l’option `TDE`. Pour plus d'informations sur le partage d'instantanés de base de données, consultez [Partage d’un instantané de base de données pour Amazon RDS](USER_ShareSnapshot.md).

Pour plus d’informations sur les options persistantes et permanentes, consultez [Options persistantes et permanentes](USER_WorkingWithOptionGroups.md#Overview.OptionGroups.Permanent).

## Déterminer si votre instance de base de données utilise TDE
<a name="Appendix.Oracle.Options.AdvSecurity.Querying"></a>

Vous devez déterminer si votre instance de base de données est associée à un groupe d’options ayant `TDE` activée. Pour afficher le groupe d'options auquel une instance de base de données est associée, utilisez la console RDS, la [describe-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) AWS CLI commande ou l'opération d'API [DBInstancesDescribe](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html).

## Ajout de l'option TDE
<a name="Appendix.Oracle.Options.AdvSecurity.Add"></a>

Pour ajouter l’option `TDE` à une instance de base de données, exécutez les étapes suivantes :

1. (Recommandé) Prenez un instantané de votre instance de base de données.

1. Effectuez l’une des tâches suivantes :
   + Créez un nouveau groupe d’options à partir de zéro. Pour de plus amples informations, veuillez consulter [Création d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).
   + Copiez un groupe d'options existant à l'aide de l'API AWS CLI or. Pour de plus amples informations, veuillez consulter [Copie d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Copy).
   + Réutilisez un groupe d’options existant autre que le groupe d’options par défaut. Une bonne pratique consiste à utiliser un groupe d’options qui n’est actuellement associé à aucune instance de base de données ni à aucun instantané.

1. Ajoutez la nouvelle option au groupe d’options de l’étape précédente.

1. Si le groupe d’options actuellement associé à votre instance de base de données possède des options activées, ajoutez ces options à votre nouveau groupe d’options. Cette stratégie empêche la désinstallation des options existantes lors de l’activation de la nouvelle option.

1. Ajoutez le nouveau groupe d’options à votre instance de base de données.

### Console
<a name="Appendix.Oracle.Options.TDE.Console"></a>

**Pour ajouter l’option TDE à un groupe d’options et l’associer à votre instance de base de données**

1. Dans la console RDS, choisissez **Groupes d’options**.

1. Choisissez le nom du groupe d’options auquel vous souhaitez ajouter l’option.

1. Sélectionnez **Ajouter une option**.

1. Dans **Nom de l’option**, choisissez **TDE**, puis configurez les paramètres de l’option. 

1. Sélectionnez **Ajouter une option**.
**Important**  
Si vous ajoutez l’option **TDE** à un groupe d’options qui est actuellement attaché à une ou plusieurs instances de base de données, une brève interruption de service a lieu pendant le redémarrage automatique de toutes les instances de base de données. 

   Pour plus d’informations sur l’ajout d’options, consultez [Ajout d’une option à un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).

1. Associez le groupe d’options à une instance de base de données nouvelle ou existante : 
   + Pour une nouvelle instance de base de données, appliquez le groupe d’options lorsque vous lancez l’instance. Pour plus d’informations, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md). 
   + Pour une instance de base de données existante, appliquez le groupe d’options en modifiant l’instance et en attachant le nouveau groupe d’options. L’instance de base de données ne redémarre pas dans le cadre de cette opération. Pour de plus amples informations, veuillez consulter [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

### AWS CLI
<a name="Appendix.Oracle.Options.TDE.CLI"></a>

Dans l'exemple suivant, vous utilisez la commande AWS CLI [add-option-to-option-group](https://docs.aws.amazon.com/cli/latest/reference/rds/add-option-to-option-group.html) pour ajouter l'`TDE`option à un groupe d'options appelé`myoptiongroup`. Pour plus d’informations, consultez [Getting started: Flink 1.13.2](https://docs.aws.amazon.com/managed-flink/latest/java/earlier.html#getting-started-1-13).

Pour Linux, macOS ou Unix :

```
aws rds add-option-to-option-group \
    --option-group-name "myoptiongroup" \
    --options "OptionName=TDE" \
    --apply-immediately
```

Pour Windows :

```
aws rds add-option-to-option-group ^
    --option-group-name "myoptiongroup" ^
    --options "OptionName=TDE" ^
    --apply-immediately
```

## Copie de vos données vers une instance de base de données qui n’inclut pas l’option TDE
<a name="Appendix.Oracle.Options.AdvSecurity.Remove"></a>

Vous ne pouvez pas supprimer l’option TDE d’une instance de base de données ou l’associer à un groupe d’options qui n’inclut pas l’option TDE. Pour migrer vos données vers une instance qui n’inclut pas l’option TDE, procédez comme suit : 

1.  Déchiffrez les données sur l’instance de base de données. 

1.  Copiez les données dans une nouvelle instance de base de données qui n’est pas associée à un groupe d’options avec `TDE` activée. 

1.  Supprimez votre instance de base de données d’origine.

Vous pouvez utiliser le même nom pour la nouvelle instance que pour l’instance de base de données précédente.

## Considérations relatives à l’utilisation de TDE avec Oracle Data Pump
<a name="Appendix.Oracle.Options.AdvSecurity.Pump"></a>

Vous pouvez utiliser Oracle Data Pump pour importer ou exporter des fichiers de vidage chiffrés. Amazon RDS prend en charge le mode `(ENCRYPTION_MODE=PASSWORD)` pour Oracle Data Pump. Amazon RDS ne prend pas en charge le mode de chiffrement transparent `(ENCRYPTION_MODE=TRANSPARENT)` pour Oracle Data Pump. Pour de plus amples informations, veuillez consulter [Importation à l'aide d'Oracle Data Pump](Oracle.Procedural.Importing.DataPump.md). 

# Oracle UTL\$1MAIL
<a name="Oracle.Options.UTLMAIL"></a>

Amazon RDS prend en charge Oracle UTL\$1MAIL via l'utilisation de l'option UTL\$1MAIL et des serveurs SMTP. Vous pouvez envoyer des e-mails directement à partir de votre base de données en utilisant le package UTL\$1MAIL. Amazon RDS prend en charge UTL\$1MAIL pour les versions suivantes d'Oracle : 
+ Oracle Database 21c (21.0.0.0), toutes les versions
+ Oracle Database 19c (19.0.0.0), toutes les versions

Voici quelques limitations à l'utilisation de UTL\$1MAIL : 
+ UTL\$1MAIL ne prend pas en charge le certificat TLS (Transport Layer Security) et les e-mails ne sont donc pas chiffrés. 

  Pour vous connecter en toute sécurité aux ressources SSL/TLS distantes en créant et en chargeant des portefeuilles Oracle personnalisés, suivez les instructions dans [Configuration de l'accès UTL\$1HTTP à l'aide de certificats et d'un portefeuille Oracle](Oracle.Concepts.ONA.md).

  Les certificats spécifiques requis pour votre portefeuille varient par service. Pour les services AWS, vous les trouverez généralement dans le [Référentiel des services d'approbation Amazon](https://www.amazontrust.com/repository/).
+ UTL\$1MAIL ne prend pas en charge l'authentification avec les serveurs SMTP. 
+ Vous ne pouvez envoyer qu'une seule pièce jointe dans un e-mail. 
+ Vous ne pouvez pas envoyer de pièces jointes de plus de 32 Ko. 
+ Vous pouvez uniquement utiliser des codages de caractères ASCII et EBCDIC (Extended Binary Coded Decimal Interchange Code). 
+ Le port SMTP (25) est limité en fonction des politiques du propriétaire de l'interface réseau Elastic. 

Lorsque vous activez UTL\$1MAIL, seul l'utilisateur principal pour votre instance de base de données se voir accorder le privilège d'exécution. Si nécessaire, l'utilisateur principal peut accorder le privilège d'exécution à d'autres utilisateurs de sorte qu'ils puissent utiliser UTL\$1MAIL. 

**Important**  
Nous vous recommandons d'activer la fonctionnalité d'audit intégrée d'Oracle pour suivre l'utilisation des procédures UTL\$1MAIL. 

## Prérequis pour Oracle UTL\$1MAIL
<a name="Oracle.Options.UTLMAIL.PreReqs"></a>

Les conditions suivantes sont requises pour utiliser Oracle UTL\$1MAIL :
+ Un ou plusieurs serveurs SMTP et les adresses IP correspondantes ou noms DNS (Domain Name Server) publics ou privés correspondants. Pour plus d'informations sur la résolution des noms DNS privés grâce à un serveur DNS personnalisé, consultez [Configuration d'un serveur DNS personnalisé](Appendix.Oracle.CommonDBATasks.System.md#Appendix.Oracle.CommonDBATasks.CustomDNS). 

## Ajout de l'option UTL\$1MAIL d'Oracle
<a name="Oracle.Options.UTLMAIL.Add"></a>

Le processus général d'ajout de l'option UTL\$1MAIL d'Oracle à une instance de base de données est le suivant : 

1. Créer un groupe d'options ou copier ou modifier un groupe existant.

1. Ajoutez l'option au groupe d'options.

1. Associez le groupe d'options à l'instance de base de données.

Une fois l'option UTL\$1MAIL ajoutée, dès que le groupe d'options est actif, UTL\$1MAIL est actif. 

**Pour ajouter l'option UTL\$1MAIL à une instance de base de données**

1. Déterminez le groupe d'options que vous voulez utiliser. Vous pouvez créer un groupe d'options ou utiliser un groupe d'options existant. Si vous souhaitez utiliser un groupe d'options existant, passez à l'étape suivante. Sinon, créez un groupe d'options DB personnalisé avec les paramètres suivants : 

   1. Pour **Moteur**, sélectionnez l'édition d'Oracle que vous voulez utiliser. 

   1. Pour **Version majeure du moteur**, choisissez la version de votre instance de base de données. 

   Pour plus d'informations, consultez [Création d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Ajouter l'option **UTL\$1MAIL** au groupe d'options. Pour plus d'informations sur l'ajout d'options, consultez [Ajout d’une option à un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). 

1. Appliquez le groupe d'options à une instance de base de données nouvelle ou existante: 
   + Pour une nouvelle instance de base de données, vous appliquez le groupe d'options lorsque vous lancez l'instance. Pour plus d'informations, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md). 
   + Pour une instance de base de données existante, vous appliquez le groupe d'options en modifiant l'instance et en attachant le nouveau groupe d'options. Pour plus d'informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

## Utilisation de l'option UTL\$1MAIL d'Oracle
<a name="Oracle.Options.UTLMAIL.Using"></a>

Une fois que vous activez l'option UTL\$1MAIL, vous devez configurer le serveur SMTP avant de pouvoir commencer à l'utiliser. 

Vous configurez le serveur SMTP en définissant le paramètre SMTP\$1OUT\$1SERVER à une adresse IP ou à un nom DNS public valide. Pour le paramètre SMTP\$1OUT\$1SERVER, vous pouvez spécifier une liste séparée par des virgules des adresses de plusieurs serveurs. Si le premier serveur n'est pas disponible, UTL\$1MAIL essaie le serveur suivant et ainsi de suite. 

Vous pouvez définir la valeur par défaut SMTP\$1OUT\$1SERVER pour une instance de base de données à l'aide d'un [groupe de paramètres de base de données](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html). Vous pouvez définir le paramètre SMTP\$1OUT\$1SERVER pour une session en exécutant le code suivant sur votre base de données dans votre instance de base de données. 

```
1. ALTER SESSION SET smtp_out_server = mailserver.domain.com:25;
```

Une fois que l'option UTL\$1MAIL est activée, et que votre SMTP\$1OUT\$1SERVER est configuré, vous pouvez envoyer un message à l'aide de la procédure `SEND`. Pour plus d'informations, consultez [UTL\$1MAIL](http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/u_mail.htm#BABFJJBD) dans la documentation Oracle. 

## Suppression de l'option UTL\$1MAIL d'Oracle
<a name="Oracle.Options.UTLMAIL.Remove"></a>

Vous pouvez supprimer l'option UTL\$1MAIL d'Oracle d'une instance de base de données. 

Pour supprimer l'option UTL\$1MAIL d'une instance de base de données, effectuez une des actions suivantes : 
+ Pour supprimer l'option UTL\$1MAIL de plusieurs instances de bases de données, supprimez l'option UTL\$1MAIL du groupe d'option auquel elles appartiennent. Ce changement affecte toutes les instances de bases de données qui utilisent le groupe d'options. Pour plus d'informations, consultez [Suppression d’une option d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption). 
+ Pour supprimer l'option UTL\$1MAIL d'une seule instance de base de données, modifiez l'instance de base de données et spécifiez un autre groupe d'options qui n'inclut pas l'option UTL\$1MAIL. Vous pouvez spécifier le groupe d'options (vide) par défaut, ou un groupe d'options personnalisées différent. Pour plus d'informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

## Résolution des problèmes
<a name="Oracle.Options.UTLMAIL.Troubleshooting"></a>

Problèmes que vous pouvez rencontrer lorsque vous utilisez UTL\$1MAIL avec Amazon RDS : 
+ Limitation. Le port SMTP (25) est limité en fonction des politiques du propriétaire de l'interface réseau Elastic. Si vous pouvez envoyer des e-mails en utilisant UTL\$1MAIL et que l'erreur `ORA-29278: SMTP transient error: 421 Service not available` s'affiche, vous faites peut-être l'objet d'une limitation. Si vous rencontrez une limitation dans le cadre de la remise d'e-mails, nous vous recommandons d'implémenter un algorithme d'interruption. Pour plus d'informations sur les algorithmes de backoff, consultez [Nouvelles tentatives après erreur et backoff exponentiel dans AWS](https://docs.aws.amazon.com/general/latest/gr/api-retries.html) et [Comment traiter une erreur « throttling – Maximum sending rate exceeded »](https://aws.amazon.com/blogs/ses/how-to-handle-a-throttling-maximum-sending-rate-exceeded-error/). 

  Vous pouvez demander que cette limitation soit supprimée. Pour de plus amples informations, veuillez consulter [Comment supprimer la limitation du port 25 à partir de mon instance EC2 ?](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-port-25-throttle/).

# Oracle XML DB
<a name="Appendix.Oracle.Options.XMLDB"></a>

Oracle XML DB ajoute la prise en charge XML native à votre instance de base de données. Avec XML DB, vous pouvez stocker et récupérer des données XML structurées et relationnelles. Le serveur protocole XML DB n’est pas pris en charge sur RDS for Oracle.

XML DB est préinstallé sur Oracle Database 12c et versions ultérieures. Ainsi, vous n’avez pas besoin d’utiliser un groupe d’options pour installer explicitement XML DB en tant que fonctionnalité supplémentaire. 

Pour savoir comment configurer et utiliser une base de données XML, consultez [Oracle XML DB Developer’s Guide](https://docs.oracle.com/en/database/oracle/oracle-database/19/adxdb/) dans la documentation Oracle Database.

# Mise à niveau du moteur de base de données RDS for Oracle
<a name="USER_UpgradeDBInstance.Oracle"></a>

Quand Amazon RDS prend en charge une nouvelle version d'Oracle Database, vous pouvez mettre à niveau vos instances de base de données vers cette nouvelle version. Pour savoir quelles versions d'Oracle sont disponibles sur Amazon RDS, consultez [https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/Welcome.html](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/Welcome.html) (Notes de mise à jour de Amazon RDS for Oracle).

**Important**  
Les bases de données RDS for Oracle 11g, 12c et 18c ne sont plus prises en charge. Si vous conservez des instantanés de base de données Oracle 11g, 12c ou 18c, vous pouvez les mettre à niveau vers une version ultérieure. Pour de plus amples informations, consultez [Mise à niveau d’un instantané de base de données Oracle](USER_UpgradeDBSnapshot.Oracle.md).

**Topics**
+ [

# Présentation des mises à niveau du moteur RDS for Oracle
](USER_UpgradeDBInstance.Oracle.Overview.md)
+ [

# Mises à niveau des versions majeures d’Oracle
](USER_UpgradeDBInstance.Oracle.Major.md)
+ [

# Mises à niveau des versions mineures d’Oracle
](USER_UpgradeDBInstance.Oracle.Minor.md)
+ [

# Considérations relatives aux mises à niveau de la base de données Oracle
](USER_UpgradeDBInstance.Oracle.OGPG.md)
+ [

# Test d'une mise à niveau de base de données Oracle
](USER_UpgradeDBInstance.Oracle.UpgradeTesting.md)
+ [

# Mise à niveau de la version d’une instance de base de données RDS for Oracle
](USER_UpgradeDBInstance.Oracle.Upgrading.md)
+ [

# Mise à niveau d’un instantané de base de données Oracle
](USER_UpgradeDBSnapshot.Oracle.md)

# Présentation des mises à niveau du moteur RDS for Oracle
<a name="USER_UpgradeDBInstance.Oracle.Overview"></a>

Avant de mettre à niveau votre instance de base de données RDS for Oracle, familiarisez-vous avec les concepts suivants.

**Topics**
+ [

## Mises à niveau des versions majeures et mineures
](#USER_UpgradeDBInstance.Oracle.Overview.versions)
+ [

## Dates de support et mises à niveau obligatoires pour RDS for Oracle
](#Aurora.VersionPolicy.MajorVersionLifetime)
+ [

## Gestion des versions du moteur Oracle
](#Oracle.Concepts.Patching)
+ [

## Instantanés automatiques lors de mises à niveau du moteur
](#USER_UpgradeDBInstance.Oracle.Overview.snapshots)
+ [

## Mises à niveau Oracle dans un déploiement multi-AZ
](#USER_UpgradeDBInstance.Oracle.Overview.multi-az)
+ [

## Mises à niveau Oracle des réplicas en lecture
](#USER_UpgradeDBInstance.Oracle.Overview.read-replicas)

## Mises à niveau des versions majeures et mineures
<a name="USER_UpgradeDBInstance.Oracle.Overview.versions"></a>

Les versions majeures sont des versions majeures d’Oracle Database publiées tous les 1 à 2 ans. Oracle Database 19c et Oracle Database 21c sont des versions majeures. 

Chaque trimestre, RDS for Oracle publie de nouvelles versions mineures du moteur pour chacun des moteurs majeurs pris en charge. Une version du moteur de mise à jour de version (RU) intègre les corrections de bogues d’Oracle en incluant les correctifs de RU pour le trimestre spécifié. Par exemple, 21.0.0.0.ru-2024-10.rur-2024-10.r1 est une version mineure d’Oracle Database 21c qui intègre la RU d’octobre 2024.

Une version du moteur Paquet de correctifs Spatial (SPB) contient des correctifs de RU et des correctifs spécifiques à Oracle Spatial. Par exemple, 19.0.0.0.ru-2025-01.spb-1.r1 est une version de moteur mineure qui contient les correctifs de RU dans la version du moteur 19.0.0.0.ru-2025-01.rur-2025-01.r1 et les correctifs Spatial. En général, RDS pour Oracle est publié 2 SPBs à 3 semaines après le RU correspondant. Pour une explication des différences entre RUs et SPBs, voir[Mises à jour des versions (RUs) et ensembles de correctifs spatiaux () SPBs](USER_UpgradeDBInstance.Oracle.Minor.md#RUs-and-SPBs). Pour plus d'informations sur le RUs support SPBs, consultez les [notes de version d'Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes) pour Oracle.

RDS for Oracle prend en charge les mises à niveau suivantes vers une instance de base de données.


| Type de mise à niveau | Compatibilité des applications | Méthodes de mise à niveau | Exemple de chemin de mise à niveau | 
| --- | --- | --- | --- | 
| Version majeure | La mise à niveau d’une version majeure peut introduire des modifications non compatibles avec les applications existantes. | Manuelles uniquement | Depuis Oracle Database 19c vers Oracle Database 21c | 
| Version mineure | Une mise à niveau de version mineure contient uniquement des modifications rétrocompatibles avec les applications existantes. | Automatiques ou manuelles | De 21.0.0.0.ru-2023-07.rur-2022-07.r1 à 21.0.0.0.ru-2023-10.rur-2022-10.r1 | 

**Important**  
La mise à niveau de votre moteur de base de données provoque une panne. La durée de cette dernière dépend de la version du moteur et de la taille de l’instance de base de données.   
Veillez à tester soigneusement toute mise à niveau pour vérifier que vos applications fonctionnent correctement avant d'appliquer la mise à niveau à vos bases de données de production. Pour de plus amples informations, veuillez consulter [Test d'une mise à niveau de base de données Oracle](USER_UpgradeDBInstance.Oracle.UpgradeTesting.md).

## Dates de support et mises à niveau obligatoires pour RDS for Oracle
<a name="Aurora.VersionPolicy.MajorVersionLifetime"></a>

Les versions de base de données de RDS for Oracle ont des dates de support prévues. *Lorsqu'une version majeure ou mineure d'un moteur de base de données RDS pour Oracle approche de sa end-of-support date limite, RDS commence les mises à niveau obligatoires, également appelées mises à niveau forcées.* RDS publie les informations suivantes :
+ Une recommandation vous invitant à commencer à mettre à niveau manuellement les instances des versions obsolètes vers les versions prises en charge
+ Date après laquelle vous ne pouvez plus créer d’instances sur les versions non prises en charge
+ Date à laquelle RDS commence à mettre automatiquement à niveau vos instances vers les versions prises en charge pendant les fenêtres de maintenance
+ Date à laquelle RDS commence à mettre automatiquement à niveau vos instances vers les versions prises en charge en dehors des fenêtres de maintenance

**Important**  
Les améliorations forcées peuvent avoir des conséquences inattendues sur les CloudFormation cumuls. Si vous comptez sur RDS pour mettre automatiquement à niveau vos instances de base de données, vous risquez de rencontrer des problèmes avec CloudFormation.

Cette section contient les rubriques suivantes :

**Topics**
+ [

### Dates de support prévues pour les versions majeures de RDS for Oracle
](#oracle-major-support-dates)
+ [

### Dates de support pour les versions mineures de RDS for Oracle
](#oracle-minor-support-dates)

### Dates de support prévues pour les versions majeures de RDS for Oracle
<a name="oracle-major-support-dates"></a>

Les versions majeures de RDS for Oracle restent disponibles au moins jusqu’à la date de fin de prise en charge de la version correspondante de la base de données Oracle. Vous pouvez utiliser les dates suivantes pour planifier vos cycles de test et de mise à niveau. Ces dates représentent la première date à laquelle une mise à niveau vers une version plus récente pourrait être nécessaire. Si Amazon étend le support d’une version de RDS for Oracle au-delà de la date initialement prévue, ce tableau sera mis à jour pour refléter la nouvelle date. 

**Note**  
Vous pouvez consulter les principales versions de vos bases de données Oracle en exécutant la AWS CLI commande [describe-db-major-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-major-engine-versions.html) ou en utilisant l'opération d'API [DBMajorEngineVersionsDescribe](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBMajorEngineVersions.html) RDS.


| Version majeure de la version d’Oracle Database  | Date prévue pour la mise à niveau vers une version plus récente | 
| --- | --- | 
|  Oracle Database 19c  |  31 décembre 2029 avec le support BYOL Premier (exonération des frais pour le support étendu) 31 décembre 2032 avec un support étendu BYOL (coût supplémentaire) ou un contrat de licence illimité 31 décembre 2029 avec License Included (LI)  | 
|  Oracle Database 21c  | 31 juillet 2027 (non disponible pour le support étendu) | 

RDS vous avertit au moins 12 mois avant que vous ne deviez mettre à niveau vers une version majeure plus récente. La notification décrit le processus de mise à niveau, notamment le calendrier des échéances importantes, l’effet sur vos instances de base de données, et les mesures recommandées. Nous vous recommandons de tester minutieusement vos applications avec les nouvelles versions de RDS for Oracle avant d’effectuer une mise à niveau de la base de données vers une version majeure.

Après cette période de notification préalable, une mise à niveau automatique vers la version majeure suivante peut être appliquée à toute instance de base de données RDS for Oracle exécutant encore l’ancienne version. Dans ce cas, la mise à niveau démarre pendant les fenêtres de maintenance planifiées. 

Pour plus d’informations, consultez [Release Schedule of Current Database Releases](https://support.oracle.com/knowledge/Oracle%20Database%20Products/742060_1.html) dans My Oracle Support.

### Dates de support pour les versions mineures de RDS for Oracle
<a name="oracle-minor-support-dates"></a>

Dans certains cas, nous mettons fin au support des versions mineures des versions majeures de RDS pour Oracle. RDS vous avertit au moins 6 mois avant que vous ne deviez effectuer une mise à niveau vers une version mineure plus récente. La notification décrit le processus de mise à niveau, y compris le calendrier des étapes importantes, l'effet sur les instances de base de données exécutant la version mineure obsolète et les actions recommandées. Nous vous recommandons de tester minutieusement vos applications avec les nouvelles versions de RDS pour Oracle avant de mettre à niveau votre base de données vers une nouvelle version mineure.

Pour plus d'informations sur les versions mineures obsolètes et déprises en charge, consultez les [notes de publication d'Amazon Relational Database Service (Amazon RDS) pour](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/Welcome.html) Oracle.

## Gestion des versions du moteur Oracle
<a name="Oracle.Concepts.Patching"></a>

La gestion des versions du moteur de base de données vous permet de contrôler quand et comment le moteur de base de données est corrigé et mis à niveau. Vous bénéficiez de la flexibilité nécessaire pour maintenir la compatibilité avec les versions de correctifs du moteur de base de données. Vous pouvez également tester les nouvelles versions correctives de RDS for Oracle pour vous assurer qu’elles fonctionnent avec votre application avant de les déployer en production. En outre, vous effectuez la mise à niveau des versions selon vos critères et vos calendriers.

**Note**  
Amazon RDS agrège régulièrement des correctifs de base de données Oracle officiels en utilisant une version de moteur de base de données propre à Amazon RDS. Pour voir la liste des correctifs Oracle contenus dans une version du moteur spécifique à Amazon RDS for Oracle, consultez [https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/Welcome.html](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/Welcome.html).

## Instantanés automatiques lors de mises à niveau du moteur
<a name="USER_UpgradeDBInstance.Oracle.Overview.snapshots"></a>

Lors de mises à niveau d’une instance de base de données Oracle, les instantanés offrent une protection contre les problèmes de mise à niveau. Si la période de rétention des sauvegardes de votre instance de base de données est supérieure à 0, Amazon RDS prend les instantanés de base de données suivants au cours de la mise à niveau :

1. Un instantané de l’instance de base de données avant que toute modification de mise à niveau soit apportée. Si la mise à niveau échoue, vous pouvez restaurer cet instantané pour créer une instance de base de données exécutant l’ancienne version.

1. Un instantané de l’instance de base de données une fois la mise à niveau terminée.

**Note**  
Pour modifier la période de rétention des sauvegardes, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

Après une mise à niveau, vous ne pouvez pas revenir à la version antérieure du moteur. Toutefois, vous pouvez créer une nouvelle instance de base de données Oracle en restaurant l’instantané antérieur à la mise à niveau.

## Mises à niveau Oracle dans un déploiement multi-AZ
<a name="USER_UpgradeDBInstance.Oracle.Overview.multi-az"></a>

Si votre instance de base de données se trouve dans un déploiement Multi-AZ, Amazon RDS met à niveau les deux réplicas, principal et de secours. Si aucune mise à jour du système d’exploitation n’est requise, les mises à niveau principale et de secours se produisent simultanément. Les instances ne sont pas disponibles tant que la mise à niveau n’est pas terminée.

Si des mises à jour du système d’exploitation sont requises dans le cadre d’un déploiement multi-AZ, Amazon RDS applique ces mises à jour lorsque vous demandez la mise à niveau de la base de données. Amazon RDS effectue les étapes suivantes :

1. Met à jour le système d’exploitation sur l’instance de base de données de secours actuelle.

1. Fait basculer l’instance de base de données principale vers l’instance de base de données de secours.

1. Met à niveau la version de la base de donnes sur la nouvelle instance de base de données principale, qui était auparavant l’instance de secours. La base de données principale est indisponible pendant la mise à niveau.

1. Met à niveau le système d’exploitation sur la nouvelle instance de base de données de secours, qui était auparavant l’instance de base de données principale.

1. Met à niveau de la version de base de données sur la nouvelle instance de base de données de secours.

1. Fait basculer la nouvelle instance de base de données principale vers l’instance de base de données principale d’origine, et la nouvelle instance de base de données de secours revient à l’instance de base de données de secours d’origine. Ainsi, Amazon RDS rétablit la configuration de réplication dans son état d’origine.

## Mises à niveau Oracle des réplicas en lecture
<a name="USER_UpgradeDBInstance.Oracle.Overview.read-replicas"></a>

La version du moteur de base de données Oracle de l’instance de base de données source et tous ses réplicas en lecture doivent être identiques. Amazon RDS effectue la mise à niveau lors des étapes suivantes :

1. Mise à niveau de l’instance de base de données source. Les réplicas en lecture sont disponibles au cours de cette étape.

1. Mise à niveau des réplicas en lecture en parallèle, quelles que soient les fenêtres de maintenance des réplicas. La base de données source est disponible pendant cette étape.

Pour les mises à niveau de versions majeures des réplicas en lecture entre régions, Amazon RDS effectue des actions supplémentaires :
+ Génération automatique d’un groupe d’options pour la version cible
+ Copie de toutes les options et tous les paramètres d’option du groupe d’options d’origine vers le nouveau groupe d’options
+ Association du réplica en lecture entre régions mis à niveau au nouveau groupe d’options

# Mises à niveau des versions majeures d’Oracle
<a name="USER_UpgradeDBInstance.Oracle.Major"></a>

Pour effectuer une mise à niveau de version majeure, modifiez l’instance de base de données manuellement. Les mises à niveau de versions majeures ne sont pas effectuées automatiquement. 

**Important**  
Veillez à tester soigneusement toute mise à niveau pour vérifier que vos applications fonctionnent correctement avant d'appliquer la mise à niveau à vos bases de données de production. Pour de plus amples informations, veuillez consulter [Test d'une mise à niveau de base de données Oracle](USER_UpgradeDBInstance.Oracle.UpgradeTesting.md).

**Topics**
+ [

## Versions prises en charge pour les mises à niveau majeures
](#USER_UpgradeDBInstance.Oracle.Major.supported-versions)
+ [

## Classes d’instance prises en charge pour les mises à niveau majeures
](#USER_UpgradeDBInstance.Oracle.Major.instance-classes)
+ [

## Collecte de statistiques avant les mises à niveau majeures
](#USER_UpgradeDBInstance.Oracle.Major.gathering-stats)
+ [

## Autorisation d’installation des mises à niveau majeures
](#USER_UpgradeDBInstance.Oracle.Major.allowing-upgrades)

## Versions prises en charge pour les mises à niveau majeures
<a name="USER_UpgradeDBInstance.Oracle.Major.supported-versions"></a>

Amazon RDS prend en charge les mises à niveau des versions majeures suivantes.


****  

| Version actuelle | Mise à niveau prise en charge | 
| --- | --- | 
|  19.0.0.0 utilisant l’architecture CDB  |  21,0.0.0  | 

Une mise à niveau de version majeure d’Oracle Database doit être mise à niveau vers une mise à jour de version publiée (RU) qui a été publiée le même mois ou plus tard. Le retour à une ancienne version majeure n’est pas pris en charge pour les versions Oracle Database.

## Classes d’instance prises en charge pour les mises à niveau majeures
<a name="USER_UpgradeDBInstance.Oracle.Major.instance-classes"></a>

Il est possible que votre instance de base de données Oracle s’exécute sur une classe d’instance de base de données qui n’est pas prise en charge pour la version vers laquelle vous effectuez la mise à niveau. Dans ce cas, avant de procéder à la mise à niveau, vous devez migrer l’instance de base de données vers une classe prise en charge. Pour plus d’informations sur les classes d’instance de base de données prises en charge pour chaque version et édition de Amazon RDS for Oracle, consultez [Classes d'instances de base de données ](Concepts.DBInstanceClass.md).

## Collecte de statistiques avant les mises à niveau majeures
<a name="USER_UpgradeDBInstance.Oracle.Major.gathering-stats"></a>

Avant d’effectuer une mise à niveau de version majeure, Oracle vous recommande de recueillir des statistiques de l’optimiseur sur l’instance de base de données que vous mettez à jour. Cette action peut réduire la durée d’indisponibilité de l’instance de base de données lors de la mise à niveau.

Pour recueillir des statistiques de l’optimiseur, connectez-vous à l’instance de base de données en tant qu’utilisateur principal et exécutez la procédure `DBMS_STATS.GATHER_DICTIONARY_STATS`, comme dans l’exemple suivant.

```
EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;
```

Pour plus d’informations, consultez [GATHER\$1DICTIONARY\$1STATS Procedure](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_STATS.html?source=%3Aso%3Atw%3Aor%3Aawr%3Aodv%3A%3A#GUID-867989C7-ADFC-4464-8981-437CEA7F331E) dans la documentation Oracle.

## Autorisation d’installation des mises à niveau majeures
<a name="USER_UpgradeDBInstance.Oracle.Major.allowing-upgrades"></a>

Une mise à niveau majeure de la version du moteur peut être incompatible avec votre application. La mise à niveau est irréversible. Si vous spécifiez une version majeure pour le EngineVersion paramètre qui est différente de la version principale actuelle, vous devez autoriser les mises à niveau des versions majeures.

Si vous mettez à niveau une version majeure à l'aide de la commande CLI [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html), spécifiez`--allow-major-version-upgrade`. Dans la mesure où ce paramètre n’est pas persistant, vous devez spécifier `--allow-major-version-upgrade` chaque fois que vous effectuez une mise à niveau majeure. Ce paramètre n’a aucun impact sur les mises à niveau des versions mineures du moteur. Pour plus d'informations, consultez [Mise à niveau d'une version du moteur d'une instance de base de données](USER_UpgradeDBInstance.Upgrading.md).

Si vous mettez à niveau une version majeure à l’aide de la console, vous n’avez pas besoin de choisir une option pour autoriser la mise à niveau. Au lieu de cela, la console affiche un avertissement indiquant que les mises à niveau majeures sont irréversibles.

# Mises à niveau des versions mineures d’Oracle
<a name="USER_UpgradeDBInstance.Oracle.Minor"></a>

Dans RDS for Oracle, une mise à niveau de version mineure est une mise à jour vers une version majeure du moteur de base de données. Dans RDS, une version mineure du moteur est soit une mise à jour de version (RU), soit un paquet de correctifs Spatial (SPB). Par exemple, si votre instance de base de données exécute la version majeure d'Oracle Database 19c et la version mineure 19.0.0.0.ru-2025-10.rur-2025-10.r1, vous pouvez mettre à niveau votre moteur de base de données vers la version mineure 19.0.0.0.ru-2026-01.rur-2026-01.r1. RDS for Oracle ne prend pas en charge les rétrogradations de versions mineures.

Vous pouvez mettre à niveau manuellement ou automatiquement votre moteur de base de données vers une version mineure. Pour découvrir comment effectuer une mise à niveau manuelle, consultez [Mise à niveau manuelle de la version du moteur](USER_UpgradeDBInstance.Upgrading.md#USER_UpgradeDBInstance.Upgrading.Manual). Pour découvrir comment configurer des mises à niveau automatiques, consultez [Mise à niveau automatique de la version mineure du moteur](USER_UpgradeDBInstance.Upgrading.md#USER_UpgradeDBInstance.Upgrading.AutoMinorVersionUpgrades). Que vous procédiez à une mise à niveau manuelle ou automatique, une mise à niveau de version mineure entraîne une interruption de service. Tenez compte de cette durée d’indisponibilité lorsque vous planifiez vos mises à niveau.

Amazon RDS prend également en charge la politique de déploiement des mises à niveau afin de gérer les mises à niveau automatiques des versions mineures sur plusieurs ressources de base de données et. Comptes AWS Pour de plus amples informations, veuillez consulter [Utilisation de la politique de déploiement des mises à AWS Organizations niveau pour les mises à niveau automatiques des versions mineures](RDS.Maintenance.AMVU.UpgradeRollout.md).

**Important**  
Veillez à tester soigneusement toute mise à niveau pour vérifier que vos applications fonctionnent correctement avant d'appliquer la mise à niveau à vos bases de données de production. Pour de plus amples informations, veuillez consulter [Test d'une mise à niveau de base de données Oracle](USER_UpgradeDBInstance.Oracle.UpgradeTesting.md).

**Topics**
+ [

## Mises à jour des versions (RUs) et ensembles de correctifs spatiaux () SPBs
](#RUs-and-SPBs)
+ [

## Activation des mises à niveau automatiques des versions mineures pour Oracle
](#oracle-minor-version-upgrade-tuning-on)
+ [

## Utilisation de la politique de déploiement des mises à AWS Organizations niveau pour les mises à niveau automatiques des versions mineures
](#oracle-minor-version-upgrade-rollout)
+ [

## Notification des mises à niveau automatiques des versions mineures dans RDS for Oracle
](#oracle-minor-version-upgrade-advance)
+ [

## Comment Amazon RDS planifie les mises à niveau automatiques des versions mineures
](#oracle-minor-version-upgrade-scheduled)
+ [

## Gestion d’une mise à niveau automatique de version mineure dans RDS for Oracle
](#oracle-minor-version-upgrade-managing)

## Mises à jour des versions (RUs) et ensembles de correctifs spatiaux () SPBs
<a name="RUs-and-SPBs"></a>

Dans RDS, une mise à jour de version (RU) est une version mineure trimestrielle du moteur qui inclut des correctifs de sécurité, des corrections de bogues et de nouvelles fonctionnalités pour Oracle Database. Un paquet de correctifs Spatial (SPB) est une version du moteur RU qui inclut des correctifs conçus pour l’option Oracle Spatial. Par exemple, le SPB nommé 19.0.0.0.ru-2025-01.spb-1.r1 inclut tous les correctifs du RU 19.0.0.0.ru-2025-01.rur-2025-01.rur-2025-01.r1 ainsi que les correctifs spécifiques à Spatial. SPBs ne sont pris en charge que pour Oracle Database 19c. 

Lorsque votre instance est configurée pour des mises à niveau automatiques de versions mineures RUs et qu'elle SPBs se trouve sur des chemins de mise à niveau distincts. En général, un SPB est publié 2 à 3 semaines après la RU correspondante. Le tableau suivant indique des exemples de versions mineures pour Oracle Database 19c. 


| Chemin de mise à niveau RU standard | Chemin de mise à niveau de SPB | 
| --- | --- | 
| 19.0.0.0.ru-2025-01.rur-2025-01.r1 | 19.0.0.0.ru-2025-01.spb-1.r1 | 
| 19.0.0.0.ru-2025-04.rur-2025-04.r1 | 19.0.0.0.ru-2025-04.spb-1.r1 | 
| 19.0.0.0.ru-2025-07.rur-2025-07.r1 | 19.0.0.0.ru-2025-07.spb-1.r1 | 
| 19.0.0.0.ru-2025-10.rur-2025-10.r1 | 19.0.0.0.ru-2025-10.spb-1.r1 | 

Si votre instance de base de données est configurée pour les mises à niveau automatiques, elle se trouve sur le chemin de mise à niveau correspondant à votre version actuelle. Par exemple, si votre instance de base de données exécute la version 19.0.0.0.ru-2025-01.rur-2025-01.r1, lorsque 19.0.0.0.ru-2025-04.rur-2025-04.r1 est publié, votre instance est automatiquement mise à niveau vers cette RU. Par exemple, si votre instance de base de données exécute la version 19.0.0.0.ru-2025-01.spb-1.r1, lorsque 19.0.0.0.ru-2025-04.spb-1.r1 est publié, votre instance est automatiquement mise à niveau vers ce SPB. Une instance exécutant 19.0.0.0.ru-2025-01.rur-2025-01.r1, qui est une RU, ne sera pas mise à niveau automatiquement vers 19.0.0.0.ru-2025-04.spb-1.r1, qui est un SPB sur un chemin de mise à niveau distinct. 

Vous pouvez mettre à niveau votre instance de base de données SPBs même si elle n'utilise pas Spatial, mais les correctifs Spatial ne s'appliquent qu'à Oracle Spatial. Vous pouvez effectuer une mise à niveau manuelle d’une RU vers un SPB avec la même version du moteur ou une version supérieure. Par exemple, vous pouvez mettre à niveau votre instance depuis 19.0.0.0.ru-2025-01.rur-2025-01.r1 vers l’une des versions de moteur suivantes :
+ 19.0.0.0.ru-2025-01.spb-1.r1
+ 19.0.0.0.ru-2025-04.spb-1.r1

Vous pouvez mettre à niveau votre instance d’un SPB vers une RU uniquement si la RU est une version supérieure du moteur. Par exemple, vous pouvez mettre à niveau la version SPB 19.0.0.0.ru-2025-04.spb-1.r1 vers une version supérieure de RU 19.0.0.0.ru-2025-07.rur-2025-07.r1, mais pas vers la même RU version 19.0.0.0.ru-2025-04.rur-2025-04.rur-2025-04.r1. 

Si votre instance de base de données est configurée pour des mises à niveau automatiques des versions mineures et que vous effectuez une mise à niveau manuelle d’une RU vers un SPB ou d’un SPB vers une RU, le chemin de mise à niveau automatique change. Supposons que vous mettiez à niveau manuellement la RU version 19.0.0.0.ru-2025-01.rur-2025-01.r1 vers le SPB version 19.0.0.0.ru-2025-01.spb-1.r1. Votre prochaine mise à niveau automatique de version mineure sera vers le SPB version 19.0.0.0.ru-2025-04.spb-1.r1.

Parce que SPBs fonctionnez en tant que RUs, les RDS APIs pour la mise à niveau de votre instance vers RUs et SPBs sont identiques. Les commandes suivantes illustrent la mise à niveau vers une RU et un SPB.

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --engine-version 19.0.0.0.ru-2025-01.rur-2025-01.r1

aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --engine-version 19.0.0.0.ru-2025-01.spb-1.r1
```

Pour plus d’informations sur l’option Oracle Spatial, consultez [Comment fonctionnent les Spatial Patch Bundles (SPBs)](Oracle.Options.Spatial.md#Oracle.Options.Spatial.SPBs). Pour les informations prises en charge RUs et SPBs pour Oracle Database 19c, consultez [Amazon RDS pour Oracle Database 19c (19.0.0.0)](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/oracle-version-19-0.html).

## Activation des mises à niveau automatiques des versions mineures pour Oracle
<a name="oracle-minor-version-upgrade-tuning-on"></a>

Dans le cadre d’une mise à niveau automatique de version mineure, RDS applique la dernière version mineure disponible à votre base de données Oracle sans intervention manuelle. Une instance de base de données Amazon RDS for Oracle planifie votre mise à niveau dans la fenêtre de maintenance suivante, dans les circonstances suivantes :
+ L’option **Mise à niveau automatique des versions mineures** est activée pour votre instance de base de données.
+ Votre instance de base de données n’exécute pas encore la dernière version mineure du moteur de base de données.

Pour découvrir comment activer des mises à niveau automatiques, consultez [Mise à niveau automatique de la version mineure du moteur](USER_UpgradeDBInstance.Upgrading.md#USER_UpgradeDBInstance.Upgrading.AutoMinorVersionUpgrades).

## Utilisation de la politique de déploiement des mises à AWS Organizations niveau pour les mises à niveau automatiques des versions mineures
<a name="oracle-minor-version-upgrade-rollout"></a>

Amazon RDS for Oracle AWS Organizations prend en charge la politique de déploiement des mises à niveau afin de gérer les mises à niveau automatiques des versions mineures sur plusieurs ressources de base de données et. Comptes AWS Cette politique élimine les frais opérationnels liés à la coordination des mises à niveau automatiques des versions mineures, manuellement ou par le biais d'outils personnalisés, tout en garantissant que les mises à niveau sont d'abord appliquées dans des environnements hors production avant d'être déployées en production. Lorsqu'une nouvelle version mineure du moteur est disponible, Amazon RDS met à niveau vos instances de base de données en fonction de leur ordre de déploiement de mise à niveau configuré : 


| Ordre de déploiement de la mise à niveau | Cas d'utilisation typique | Quand la mise à niveau commence | 
| --- | --- | --- | 
| La première | Environnements de développement et de test | Le plus ancien : idéal pour valider les nouvelles versions | 
| Seconde | Environnements de production intermédiaires et non critiques | Une fois la « première » phase terminée | 
| La dernière | Environnements de production critiques | Une fois la « deuxième » phase terminée | 

**Important**  
Si vous ne configurez pas d'ordre de déploiement de mise à niveau pour votre instance de base de données, il prend par défaut le second.

Pour des informations détaillées sur le calendrier et la durée des phases, voir[Comment Amazon RDS planifie les mises à niveau automatiques des versions mineures](#oracle-minor-version-upgrade-scheduled). Pour plus d'informations sur la configuration des politiques de déploiement des mises à niveau dans AWS Organizations, consultez[Utilisation de la politique de déploiement des mises à AWS Organizations niveau pour les mises à niveau automatiques des versions mineures](RDS.Maintenance.AMVU.UpgradeRollout.md).

## Notification des mises à niveau automatiques des versions mineures dans RDS for Oracle
<a name="oracle-minor-version-upgrade-advance"></a>

Si la mise à niveau automatique des versions mineures est activée sur votre instance de base de données, RDS for Oracle crée des actions de maintenance en attente pour vous avertir avant d'appliquer des mises à niveau. Vous pouvez consulter ces actions de maintenance en attente dans l'onglet **Maintenance et sauvegardes** de la page des détails de votre base de données dans la console Amazon RDS.

Lorsqu'une nouvelle version mineure est disponible, RDS pour Oracle publie une notification anticipée (en attente d'une action de maintenance). La notification anticipée a le format suivant :

```
An automatic minor version upgrade to engine-version will be applied during your maintenance window on apply-date based on the upgrade rollout order rollout-order. You can change the upgrade rollout order or apply this upgrade manually at any time before the scheduled date through the AWS console or AWS CLI.
```

`apply-date`dans la notification anticipée figure la date à laquelle Amazon RDS mettra à niveau votre instance de base de données. `rollout-order`est votre ordre de déploiement de la mise à niveau (premier, deuxième ou dernier). Si vous n'avez pas configuré de politique de déploiement de mise à niveau, cette valeur est la deuxième par défaut. Pour de plus amples informations, veuillez consulter [Utilisation de la politique de déploiement des mises à AWS Organizations niveau pour les mises à niveau automatiques des versions mineures](RDS.Maintenance.AMVU.UpgradeRollout.md).

Lorsque la phase de déploiement de la mise à niveau commence, le message d'action de maintenance en attente prend le format suivant :

```
Automatic minor version upgrade to engine-version
```

Ce message indique que la mise à niveau a été planifiée et qu'elle sera appliquée pendant votre fenêtre de maintenance à la date d'application prévue. Vous pouvez vérifier la date d'application prévue dans l'onglet **Maintenance et sauvegardes** de la page de détails de votre base de données dans la console Amazon RDS ou dans le `CurrentApplyDate` champ de réponse de l'`describe-pending-maintenance-actions`API.

L'exemple suivant montre que vous pouvez obtenir des informations sur les actions de maintenance en attente à l'aide de la `describe-pending-maintenance-actions` commande dans la AWS CLI :

```
aws rds describe-pending-maintenance-actions 

    "PendingMaintenanceActions": [
        {
            "ResourceIdentifier": "arn:aws:rds:us-east-1:123456789012:db:orclinst1",
            "PendingMaintenanceActionDetails": [
                {
                    "Action": "db-upgrade",
                    "Description": "Automatic minor version upgrade to 21.0.0.0.ru-2024-07.rur-2024-07.r1",
                    "CurrentApplyDate": "2024-12-02T08:10:00Z"
                }
            ]
        }, ...
```

Pour plus d'informations sur [describe-pending-maintenance-actions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-pending-maintenance-actions.html), consultez la rubrique *Référence des commandes de la AWS CLI *.

## Comment Amazon RDS planifie les mises à niveau automatiques des versions mineures
<a name="oracle-minor-version-upgrade-scheduled"></a>

Lorsque vous utilisez la politique de déploiement AWS des mises à niveau des Organizations, Amazon RDS met à niveau les instances de base de données par étapes en fonction de leur ordre de déploiement configuré. Cette section décrit le calendrier et la durée de chaque phase.

**Phase 0 : Notification précoce**

Lorsque RDS for Oracle publie une nouvelle version mineure (généralement 3 à 4 semaines après la sortie trimestrielle d'Oracle RU), toutes les instances de base de données pour lesquelles la mise à niveau automatique des versions mineures est activée reçoivent une notification anticipée. Cette notification apparaît dans l'onglet **Maintenance et sauvegardes** de la page de détails de la base de données dans la console Amazon RDS et dans la réponse de l'`describe-pending-maintenance-actions`API. La phase de notification anticipée dure 2 semaines. Au cours de cette phase, aucune mise à niveau automatique n'est effectuée.

**Phase 1 : commande de déploiement de la mise à niveau en premier**

À la fin de la phase de notification anticipée, RDS pour Oracle commence à mettre à niveau les instances de base de données en commençant par l'ordre de déploiement de la mise à niveau. Cette phase dure de 2 à 3 semaines pour les versions mineures trimestrielles de janvier, avril et juillet, et de 7 à 8 semaines pour la version mineure trimestrielle d'octobre. La période prolongée pour la version mineure d'octobre laisse suffisamment de temps pour tester la nouvelle version mineure pendant les fêtes de fin d'année. Les nouvelles instances de base de données créées au cours de cette phase avec l'ordre de déploiement de la mise à niveau en premier seront mises à niveau automatiquement.

**Phase 2 : deuxième commande de déploiement de la mise à niveau**

À la fin de la phase 1, RDS for Oracle commence à mettre à niveau les instances de base de données avec le deuxième ordre de déploiement de la mise à niveau. Cette phase dure 2 semaines pour toutes les versions mineures trimestrielles. Les nouvelles instances de base de données créées avec le premier ou le deuxième ordre de déploiement de la mise à niveau au cours de cette phase seront mises à niveau automatiquement.

**Phase 3 : dernier ordre de déploiement de la mise à niveau**

À la fin de la phase 2, RDS for Oracle commence à mettre à niveau les instances de base de données avec l'ordre de déploiement de la mise à niveau en dernier. Cette phase dure jusqu'à la sortie de la prochaine version mineure trimestrielle. Les nouvelles instances de base de données créées avec le premier, le deuxième ou le dernier ordre de déploiement de la mise à niveau au cours de cette phase seront mises à niveau automatiquement.


| Phase | Quand ça commence | Duration | Message d’action de maintenance en attente | 
| --- | --- | --- | --- | 
| Phase 0 : Notification précoce | Quand RDS pour Oracle publie une nouvelle version mineure | 2 semaines | Une mise à niveau automatique de la version mineure engine-version sera appliquée pendant votre période de maintenance en apply-date fonction de l'ordre rollout-order de déploiement de la mise à niveau. Vous pouvez modifier l'ordre de déploiement de la mise à niveau ou appliquer cette mise à niveau manuellement à tout moment avant la date prévue via la AWS console ou la AWS CLI. | 
| Phase 1 : commande de déploiement de la mise à niveau en premier | Fin de la phase de notification anticipée | 2 à 4 semaines pour les versions January/April/July mineures, 7 à 9 semaines pour la version mineure d'octobre | Mise à niveau automatique de la version mineure vers engine-version | 
| Phase 2 : deuxième commande de déploiement de la mise à niveau | Fin de la phase 1 | 2 semaines | Mise à niveau automatique de la version mineure vers engine-version | 
| Phase 3 : dernier ordre de déploiement de la mise à niveau | Fin de la phase 2 | Jusqu'à la prochaine version mineure trimestrielle | Mise à niveau automatique de la version mineure vers engine-version | 

## Gestion d’une mise à niveau automatique de version mineure dans RDS for Oracle
<a name="oracle-minor-version-upgrade-managing"></a>

Lorsque la mise à niveau automatique des versions mineures est activée sur votre instance de base de données, Amazon RDS met automatiquement à niveau votre instance de base de données vers la dernière version mineure pendant votre période de maintenance. Toutefois, vous pouvez choisir d'appliquer la mise à niveau manuellement avant la date prévue à l'aide de la AWS CLI ou dans l'onglet **Maintenance et sauvegardes** de la page des détails de la base de données.

Pour mettre à niveau votre instance de base de données immédiatement au lieu d'attendre la fenêtre de maintenance planifiée :

```
aws rds apply-pending-maintenance-action \
    --resource-identifier arn:aws:rds:us-east-1:123456789012:db:orclinst1 \
    --apply-action db-upgrade \
    --opt-in-type immediate
```

Pour appliquer la mise à niveau lors de votre prochaine fenêtre de maintenance au lieu de la date d'application prévue :

```
aws rds apply-pending-maintenance-action \
    --resource-identifier arn:aws:rds:us-east-1:123456789012:db:orclinst1 \
    --apply-action db-upgrade \
    --opt-in-type next-maintenance
```

Pour désactiver la mise à niveau automatique des versions mineures, modifiez votre instance de base de données et désactivez l'option de mise à niveau automatique des versions mineures. Cela annule toute mise à niveau automatique en attente.

Pour en savoir plus sur la désactivation de la mise à niveau automatique des versions mineures, consultez[Mise à niveau automatique de la version mineure du moteur](USER_UpgradeDBInstance.Upgrading.md#USER_UpgradeDBInstance.Upgrading.AutoMinorVersionUpgrades). Si vous avez besoin d'aide pour désactiver la mise à niveau automatique des versions mineures, veuillez contacter le AWS Support.

Parfois, une nouvelle version mineure devient disponible avant que RDS n’applique une version mineure précédente. Par exemple, votre instance s'exécute au `21.0.0.0.ru-2025-07.rur-2025-07.r1` moment voulu `both 21.0.0.0.ru-2025-10.rur-2025-10.r1` et `21.0.0.0.ru-2026-01.rur-2026-01.r1` est disponible en tant que cible de mise à niveau. Dans ce cas, afin d’éviter une durée d’indisponibilité inutile pour vos instances de base de données, RDS planifie la mise à niveau automatique de la version mineure vers la version la plus récente, en ignorant la mise à niveau vers la version précédente. Dans cet exemple, RDS met à niveau votre instance `21.0.0.0.ru-2025-07.rur-2025-07.r1` directement vers`21.0.0.0.ru-2026-01.rur-2026-01.r1`.

# Considérations relatives aux mises à niveau de la base de données Oracle
<a name="USER_UpgradeDBInstance.Oracle.OGPG"></a>

Avant de mettre à niveau votre instance Oracle, consultez les informations suivantes.

**Topics**
+ [

## Considérations relatives à Oracle Multitenant
](#USER_UpgradeDBInstance.Oracle.multi)
+ [

## Considérations relatives au groupe d'options
](#USER_UpgradeDBInstance.Oracle.OGPG.OG)
+ [

## Considérations relatives au groupe de paramètres
](#USER_UpgradeDBInstance.Oracle.OGPG.PG)
+ [

## Considérations relatives au fuseau horaire
](#USER_UpgradeDBInstance.Oracle.OGPG.DST)
+ [

## Considérations relatives au paquet de correctifs Spatial (SPB)
](#USER_UpgradeDBInstance.Oracle.SPB)

## Considérations relatives à Oracle Multitenant
<a name="USER_UpgradeDBInstance.Oracle.multi"></a>

Le tableau suivant décrit les architectures Oracle Database prises en charge dans les différentes versions.


| Version de Oracle Database | Statut de prise en charge de RDS | Architecture | 
| --- | --- | --- | 
|  Oracle Database 21c  | Pris en charge |  CDB uniquement  | 
|  Oracle Database 19c  | Pris en charge |  CDB ou non CDB  | 

Le tableau suivant décrit les chemins de mise à niveau pris en charge et non pris en charge.


| Chemin de mise à niveau | Pris en charge ? | 
| --- | --- | 
|  CDB à CDB  |  Oui  | 
|  Non CDB à CDB  |  Non, mais vous pouvez convertir une base de données non-CDB en CDB, puis la mettre à niveau  | 
|  CDB à non CDB  |  Non  | 

Pour plus d’informations sur Oracle Multitenant dans RDS for Oracle, consultez [Configuration à locataire unique de l'architecture CDB](Oracle.Concepts.CDBs.md#Oracle.Concepts.single-tenant).

## Considérations relatives au groupe d'options
<a name="USER_UpgradeDBInstance.Oracle.OGPG.OG"></a>

Si votre instance de base de données utilise un groupe d’options personnalisé, Amazon RDS n’est pas toujours en mesure d’attribuer automatiquement un nouveau groupe d’options. C'est le cas, par exemple, lorsque vous procédez à une mise à niveau vers une nouvelle version majeure. Dans ce cas, spécifiez un nouveau groupe d’options lors de la mise à niveau. Nous vous recommandons de créer un nouveau groupe d’options et d’y ajouter les mêmes options qu’à votre groupe d’options personnalisé existant. 

Pour plus d'informations, veuillez consulter [Création d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create) ou [Copie d’un groupe d’options](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Copy). 

Si votre instance de base de données utilise un groupe d’options personnalisé contenant les options `APEX` et `APEX-DEV`, vous pouvez parfois réduire le temps nécessaire à la mise à niveau. Pour ce faire, mettez à niveau votre version d’Oracle APEX en même temps que votre instance de base de données. Pour de plus amples informations, veuillez consulter [Mise à niveau de la version d’Oracle APEX](Appendix.Oracle.Options.APEX.UpgradeandRemove.md#Appendix.Oracle.Options.APEX.Upgrade). 

## Considérations relatives au groupe de paramètres
<a name="USER_UpgradeDBInstance.Oracle.OGPG.PG"></a>

Si votre instance de base de données utilise un groupe de paramètres personnalisé, Amazon RDS n’est pas toujours en mesure d’attribuer automatiquement un nouveau groupe de paramètres à votre instance de base de données. C'est le cas, par exemple, lorsque vous procédez à une mise à niveau vers une nouvelle version majeure. Dans ce cas, vous devez spécifier un nouveau groupe de paramètres lors de la mise à niveau. Nous vous recommandons de créer un nouveau groupe de paramètres et de configurer les mêmes paramètres que ceux de votre groupe de paramètres personnalisé existant.

Pour plus d'informations, veuillez consulter [Création d’un groupe de paramètres de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Creating.md) ou [Copie d’un groupe de paramètres de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Copying.md). 

## Considérations relatives au fuseau horaire
<a name="USER_UpgradeDBInstance.Oracle.OGPG.DST"></a>

L’option de fuseau horaire vous permet de modifier le *fuseau horaire système* utilisé par votre instance de base de données Oracle. Par exemple, vous devrez peut-être modifier le fuseau horaire d’une instance de base de données afin qu’elle soit compatible avec un environnement sur site ou une application héritée. L’option de fuseau horaire change le fuseau horaire au niveau de l’hôte. Amazon RDS for Oracle met à jour automatiquement le fuseau horaire système tout au long de l’année. Pour plus d’informations sur le fuseau horaire système, consultez [Fuseau horaire Oracle](Appendix.Oracle.Options.Timezone.md).

Lorsque vous créez une instance de base de données Oracle, la base de données définit automatiquement le *fuseau horaire de la base de données*. Le fuseau horaire de la base de données est également connu sous le nom de fuseau horaire pour l’heure d’été (DST). Le fuseau horaire de la base de données est distinct du fuseau horaire système.

Entre les versions de base de données Oracle, les jeux de correctifs ou les correctifs individuels peuvent inclure de nouvelles versions d’heure d’été. Ces correctifs reflètent les modifications apportées aux règles de transition pour diverses régions de fuseau horaire. Par exemple, un gouvernement peut modifier l’entrée en vigueur de l’heure d’été. Les modifications apportées aux règles d’heure d’été peuvent affecter les données existantes du type de données `TIMESTAMP WITH TIME ZONE`.

Si vous mettez à niveau une instance de base de données RDS for Oracle, Amazon RDS ne met pas à niveau le fuseau horaire de la base de données automatiquement. Pour mettre à niveau automatiquement le fichier sur le fuseau horaire, vous pouvez inclure l’option `TIMEZONE_FILE_AUTOUPGRADE` au groupe d’options associé à votre instance de base de données pendant ou après la mise à niveau de version du moteur. Pour plus d'informations, veuillez consulter [Mise à niveau automatique du fichier sur le fuseau horaire Oracle](Appendix.Oracle.Options.Timezone-file-autoupgrade.md).

Aussi, pour mettre à niveau manuellement le fichier sur le fuseau horaire de la base de données, créez une nouvelle instance de base de données Oracle dotée du correctif d’heure d’été souhaité. Nous vous recommandons toutefois de mettre à niveau le fichier sur le fuseau horaire de la base de données à l’aide de l’option `TIMEZONE_FILE_AUTOUPGRADE`.

Après la mise à niveau du fichier sur le fuseau horaire, procédez à la migration des données depuis votre instance actuelle vers la nouvelle instance. Vous pouvez migrer des données à l’aide de plusieurs techniques, dont les suivantes :
+ AWS Database Migration Service
+ Oracle GoldenGate
+ Oracle Data Pump
+ Original Export/Import (désupporté pour un usage général)

**Note**  
Lorsque vous migrez des données à l’aide d’Oracle Data Pump, l’utilitaire déclenche l’erreur ORA-39405 lorsque la version du fuseau horaire cible est inférieure à la version du fuseau horaire source.

Pour plus d’informations, consultez [TIMESTAMP WITH TIMEZONE Restrictions](https://docs.oracle.com/en/database/oracle/oracle-database/19/sutil/oracle-data-pump-overview.html#GUID-9B6C92EE-860E-43DD-9728-735B17B9DA89) dans la documentation Oracle. 

## Considérations relatives au paquet de correctifs Spatial (SPB)
<a name="USER_UpgradeDBInstance.Oracle.SPB"></a>

Dans RDS for Oracle, une mise à jour de version (RU) est une version mineure du moteur qui inclut des correctifs de sécurité, des corrections de bogues et de nouvelles fonctionnalités pour Oracle Database. Un paquet de correctifs Spatial (SPB) est une version du moteur mineure qui inclut des correctifs conçus pour l’option Oracle Spatial. Par exemple, 19.0.0.0.ru-2025-01.spb-1.r1 est une version de moteur mineure qui contient les correctifs de RU dans la version du moteur 19.0.0.0.ru-2025-01.rur-2025-01.r1 et les correctifs Spatial.

Lorsque vous mettez à niveau votre base de données vers SPBs, tenez compte des points suivants :
+ SPBs ne sont pris en charge que pour Oracle Database 19c.
+ En général, un SPB est publié 2 à 3 semaines après la RU trimestrielle correspondante.
+ Vous pouvez mettre à niveau votre instance de base de données vers un SPB même si l’instance n’utilise pas l’option Oracle Spatial, mais les correctifs Spatial dans la version du moteur ne s’appliquent qu’à Oracle Spatial. Vous pouvez créer une nouvelle instance sur un SPB et installer l’option Oracle Spatial ultérieurement.
+ Si vous activez la mise à niveau automatique des versions mineures pour votre instance de base de données, le chemin de mise à niveau dépend du fait que votre instance utilise actuellement un SPB ou une RU. Si votre instance utilise un SPB, RDS met automatiquement à niveau votre instance vers le dernier SPB. Si votre instance utilise une RU, RDS met automatiquement à niveau votre instance vers la dernière RU.
+ Vous pouvez mettre à niveau votre instance de base de données d’une RU vers un SPB uniquement si le SPB est une version du moteur identique ou supérieure à celle de la RU.
+ Vous pouvez mettre à niveau manuellement votre instance de base de données d’un SPB vers une RU uniquement si la RU est une version supérieure.

# Test d'une mise à niveau de base de données Oracle
<a name="USER_UpgradeDBInstance.Oracle.UpgradeTesting"></a>

Avant de procéder à la mise à niveau de votre instance de base de données vers une version majeure, vous devez tester la compatibilité de votre base de données et de toutes les applications qui y accèdent avec la nouvelle version. Nous vous recommandons d'utiliser la procédure suivante. 

**Pour tester une mise à niveau de version majeure**

1. Passez en revue la documentation de la mise à niveau Oracle pour la nouvelle version du moteur de base de données pour voir si des problèmes de compatibilité peuvent affecter votre base de données ou vos applications. Pour plus d'informations, consultez le document [Database Upgrade Guide (Guide de mise à niveau de base de données)](https://docs.oracle.com/database/121/UPGRD/toc.htm) dans la documentation d'Oracle. 

1. Si votre instance de base de données utilise un groupe d'options personnalisé, créez un nouveau groupe d'options compatible avec la version vers laquelle vous procédez à la mise à niveau. Pour plus d'informations, consultez [Considérations relatives au groupe d'options](USER_UpgradeDBInstance.Oracle.OGPG.md#USER_UpgradeDBInstance.Oracle.OGPG.OG). 

1. Si votre instance de base de données utilise un groupe de paramètres personnalisé, créez un nouveau groupe de paramètres compatible avec la version vers laquelle vous procédez à la mise à niveau. Pour plus d'informations, consultez [Considérations relatives au groupe de paramètres](USER_UpgradeDBInstance.Oracle.OGPG.md#USER_UpgradeDBInstance.Oracle.OGPG.PG). 

1. Créez un instantané de base de données de l'instance de base de données à mettre à niveau. Pour plus d'informations, consultez [Création d’un instantané de base de données pour une instance de base de données mono-AZ pour Amazon RDS](USER_CreateSnapshot.md). 

1. Restaurez l'instantané de base de données pour créer une nouvelle instance de base de données de test. Pour plus d'informations, consultez [Restauration d’une instance de base de données](USER_RestoreFromSnapshot.md). 

1. Modifiez cette nouvelle instance de base de données de test pour la mettre à niveau vers la nouvelle version, en utilisant l'une des méthodes suivantes : 
   + [Console](USER_UpgradeDBInstance.Upgrading.md#USER_UpgradeDBInstance.Upgrading.Manual.Console)
   + [AWS CLI](USER_UpgradeDBInstance.Upgrading.md#USER_UpgradeDBInstance.Upgrading.Manual.CLI)
   + [API RDS](USER_UpgradeDBInstance.Upgrading.md#USER_UpgradeDBInstance.Upgrading.Manual.API)

1. Effectuez des tests : 
   + Exécutez sur l'instance de base de données mise à niveau autant de tests d'assurance qualité que nécessaire pour garantir que votre base de données et votre application fonctionnent correctement avec la nouvelle version. 
   + Implémentez tous les nouveaux tests requis pour évaluer l'impact des éventuels problèmes de compatibilité que vous avez identifiés à l'étape 1. 
   + Testez l'ensemble des procédures stockées, fonctions et déclencheurs. 
   + Dirigez les versions de test de vos applications vers l'instance de base de données mise à niveau. Vérifiez que les applications fonctionnent correctement avec la nouvelle version. 
   + Évaluez le stockage utilisé par l'instance mise à niveau pour déterminer si la mise à niveau requiert un stockage supplémentaire. Vous devrez peut-être choisir une plus grande classe d'instance pour la prise en charge de la nouvelle version en production. Pour plus d'informations, consultez [Classes d'instances de base de données ](Concepts.DBInstanceClass.md). 

1. Si tous les tests réussissent, mettez à niveau votre instance de base de données de production. Nous vous recommandons de confirmer que l'instance de base de données fonctionne correctement avant d'autoriser les opérations d'écriture sur l'instance de base de données.

# Mise à niveau de la version d’une instance de base de données RDS for Oracle
<a name="USER_UpgradeDBInstance.Oracle.Upgrading"></a>



Pour mettre à niveau manuellement la version du moteur de base de données d'une instance de base de données RDS pour Oracle, utilisez l' AWS Management Console API AWS CLI, la ou l'API RDS. Pour obtenir des informations générales sur les mises à niveau de bases de données dans RDS, consultez [Mise à niveau de la version d’une instance de base de données RDS for Oracle](#USER_UpgradeDBInstance.Oracle.Upgrading). Pour obtenir des cibles de mise à niveau valides, utilisez la AWS CLI [ describe-db-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html)commande.

## Console
<a name="USER_UpgradeDBInstance.Oracle.Upgrading.Manual.Console"></a>

**Pour mettre à niveau la version du moteur d’une instance de base de données RDS for Oracle à l’aide de la console**

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Dans le panneau de navigation, choisissez **Bases de données**, puis l’instance de base de données que vous souhaitez mettre à niveau. 

1. Sélectionnez **Modify**.

1. Pour **Version du moteur de base de données**, choisissez une version de base de données supérieure.

1. Choisissez **Continuer** et vérifiez le récapitulatif des modifications. Assurez-vous de bien comprendre les implications d’une mise à niveau de la version d’une base de données. Vous ne pouvez pas restaurer la version précédente d’une instance de base de données mise à niveau. Assurez-vous d’avoir testé à la fois votre base de données et votre application avec la nouvelle version avant de continuer. 

1. Décidez quand planifier la mise à niveau d’instance de base de données. Pour appliquer les modifications immédiatement, choisissez **Appliquer immédiatement**. La sélection de cette option peut entraîner une interruption de service dans certains cas. Pour plus d'informations, consultez [Utilisation du paramètre de planification des modifications](USER_ModifyInstance.ApplyImmediately.md). 

1. Sur la page de confirmation, examinez vos modifications. Si elles sont correctes, choisissez **Modify DB instance (Modifier l’instance de base de données)** pour enregistrer vos modifications. 

   Sinon, choisissez **Retour** pour modifier vos modifications, ou choisissez **Annuler** pour les annuler. 

## AWS CLI
<a name="USER_UpgradeDBInstance.Oracle.Upgrading.Manual.CLI"></a>

Pour mettre à niveau la version du moteur d'une instance de base de données RDS pour Oracle, vous pouvez utiliser la [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html)commande CLI. Spécifiez les paramètres suivants : 
+ `--db-instance-identifier` : nom de l’instance de base de données RDS for Oracle. 
+ `--engine-version` : numéro de version du moteur de base de données vers lequel effectuer la mise à niveau. 

  Pour plus d'informations sur les versions valides du moteur, utilisez la AWS CLI [ describe-db-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html)commande.
+ `--allow-major-version-upgrade` : pour mettre à niveau la version du moteur de base de données. 
+ `--no-apply-immediately` – pour appliquer les modifications au cours de la fenêtre de maintenance suivante. Pour appliquer les modifications immédiatement, utilisez `--apply-immediately`. 

**Example**  
L’exemple suivant illustre la mise à niveau une instance de CDB nommée `myorainst` de sa version actuelle `19.0.0.0.ru-2024-01.rur-2024-01.r1` vers la version `21.0.0.0.ru-2024-04.rur-2024-04.r1`.  
Pour Linux, macOS ou Unix :  

```
1. aws rds modify-db-instance \
2.     --db-instance-identifier myorainst \
3.     --engine-version 21.0.0.0.ru-2024-04.rur-2024-04.r1 \
4.     --allow-major-version-upgrade \
5.     --no-apply-immediately
```
Pour Windows :  

```
1. aws rds modify-db-instance ^
2.     --db-instance-identifier myorainst ^
3.     --engine-version 21.0.0.0.ru-2024-04.rur-2024-04.r1 ^
4.     --allow-major-version-upgrade ^
5.     --no-apply-immediately
```

## API RDS
<a name="USER_UpgradeDBInstance.Oracle.Upgrading.Manual.API"></a>

Pour mettre à niveau une instance de base de données RDS pour Oracle, utilisez l'DBInstanceaction [Modifier](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html). Spécifiez les paramètres suivants : 
+ `DBInstanceIdentifier` : nom de l’instance de base de données, par exemple *`myorainst`*. 
+ `EngineVersion` : numéro de version du moteur de base de données vers lequel effectuer la mise à niveau. Pour plus d'informations sur les versions valides du moteur, utilisez l'opération [DBEngineDescribe les versions](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBEngineVersions.html).
+ `AllowMajorVersionUpgrade` : pour autoriser une mise à niveau de version majeure. Pour ce faire, définissez la valeur sur `true`. 
+ `ApplyImmediately` : si des modifications doivent être appliquées immédiatement ou au cours du prochain créneau de maintenance. Pour appliquer les modifications immédiatement, définissez la valeur sur `true`. Pour appliquer les modifications pendant le créneau de maintenance suivant, définissez la valeur sur `false`. 

# Mise à niveau d’un instantané de base de données Oracle
<a name="USER_UpgradeDBSnapshot.Oracle"></a>

La mise à niveau de vos instantanés de base de données Oracle dans Amazon RDS garantit que votre base de données reste sécurisée, compatible et entièrement prise en charge. Lorsque les anciennes versions d’Oracle atteignent la fin de la prise en charge des correctifs, vous pouvez mettre à niveau tous les instantanés de base de données manuels liés à ces versions afin d’éviter d’éventuelles vulnérabilités ou limitations de service. Pour plus d’informations, consultez [Gestion des versions du moteur Oracle](USER_UpgradeDBInstance.Oracle.Overview.md#Oracle.Concepts.Patching).

Amazon RDS prend en charge la mise à niveau des instantanés dans toutes les Régions AWS.

## Console
<a name="USER_UpgradeDBSnapshot.Oracle.Console"></a>

**Pour mettre à niveau un instantané de base de données Oracle**

1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l’adresse [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Dans le panneau de navigation, choisissez **Instantanés**, puis sélectionnez l’instantané de base de données que vous souhaitez mettre à niveau.

1. Pour **Actions**, choisissez **Upgrade Snapshot (Mettre à niveau l’instantané)**. La page **Upgrade Snapshot (Mettre à niveau l’instantané)** s’affiche.

1. Choisissez la **nouvelle version du moteur** vers laquelle mettre à niveau l’instantané.

1. (Facultatif) Pour **Groupe d’options**, choisissez le groupe d’options pour l’instantané de base de données mis à niveau. Les mêmes considérations relatives au groupe d’options s’appliquent pour la mise à niveau d’un instantané de base de données et la mise à niveau d’une instance de base de données. Pour plus d’informations, consultez [Considérations relatives au groupe d'options](USER_UpgradeDBInstance.Oracle.OGPG.md#USER_UpgradeDBInstance.Oracle.OGPG.OG). 

1. Choisissez **Enregistrer les modifications** pour enregistrer vos modifications.

   Pendant le processus de mise à niveau, toutes les actions d’instantané sont désactivées pour l’instantané de base de données. De même, le statut de l’instantané de base de données passe de **disponible** à **upgrading (mise à niveau)**, puis passe à **active**, une fois la mise à niveau terminée. Si l’instantané de base de données ne peut pas être mis à jour en raison d’un problème d’instantané endommagé, le statut devient **indisponible**. Vous ne pouvez pas récupérer l’instantané lorsqu’il a ce statut. 
**Note**  
Si la mise à niveau de l’instantané de base de données échoue, l’instantané revient à l’état d’origine avec la version originale.

## AWS CLI
<a name="USER_UpgradeDBSnapshot.Oracle.CLI"></a>

Pour mettre à niveau un instantané de base de données Oracle à l’aide de l’AWS CLI, appelez la commande [modify-db-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-snapshot.html) avec les paramètres suivants : 
+ `--db-snapshot-identifier` – Nom de l’instantané de base de données. 
+ `--engine-version` – Version vers laquelle mettre à niveau l’instantané. 

Vous pouvez également devoir fournir le paramètre suivant. Les mêmes considérations relatives au groupe d’options s’appliquent pour la mise à niveau d’un instantané de base de données et la mise à niveau d’une instance de base de données. Pour plus d’informations, consultez [Considérations relatives au groupe d'options](USER_UpgradeDBInstance.Oracle.OGPG.md#USER_UpgradeDBInstance.Oracle.OGPG.OG). 
+ `--option-group-name` – Groupe d’options pour l’instantané de base de données mis à niveau. 

**Example**  
L’exemple suivant met à niveau un instantané de base de données.   
Pour Linux, macOS ou Unix :  

```
aws rds modify-db-snapshot \
    --db-snapshot-identifier mydbsnapshot \
    --engine-version 19.0.0.0.ru-2020-10.rur-2020-10.r1 \
    --option-group-name default:oracle-se2-19
```
Pour Windows :  

```
aws rds modify-db-snapshot ^
    --db-snapshot-identifier mydbsnapshot ^
    --engine-version 19.0.0.0.ru-2020-10.rur-2020-10.r1 ^
    --option-group-name default:oracle-se2-19
```

## API RDS
<a name="USER_UpgradeDBSnapshot.Oracle.API"></a>

Pour mettre à niveau un instantané de base de données Oracle à l’aide de l’API Amazon RDS, appelez l’opératon [ModifyDBSnapshot](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBSnapshot.html) avec les paramètres suivants : 
+ `DBSnapshotIdentifier` – Nom de l’instantané de base de données. 
+ `EngineVersion` – Version vers laquelle mettre à niveau l’instantané. 

Vous devrez peut-être également inclure le paramètre `OptionGroupName`. Les mêmes considérations relatives au groupe d’options s’appliquent pour la mise à niveau d’un instantané de base de données et la mise à niveau d’une instance de base de données. Pour plus d’informations, consultez [Considérations relatives au groupe d'options](USER_UpgradeDBInstance.Oracle.OGPG.md#USER_UpgradeDBInstance.Oracle.OGPG.OG).

# Utilisation d'un logiciel tiers avec votre instance de base de données RDS for Oracle
<a name="Oracle.Resources"></a>

Vous pouvez héberger une instance de base de données RDS for Oracle qui prend en charge les outils et logiciels tiers.

**Topics**
+ [

# Utilisation d'Oracle GoldenGate avec Amazon RDS for Oracle
](Appendix.OracleGoldenGate.md)
+ [

# Utilisation de l'utilitaire Oracle Repository Creation Utility sur RDS for Oracle
](Oracle.Resources.RCU.md)
+ [

# Configuration d'Oracle Connection Manager sur une instance Amazon EC2
](oracle-cman.md)
+ [

# Installation d'une base de données Siebel sur Oracle sur Amazon RDS
](Oracle.Resources.Siebel.md)

# Utilisation d'Oracle GoldenGate avec Amazon RDS for Oracle
<a name="Appendix.OracleGoldenGate"></a>

Oracle GoldenGate collecte, réplique et gère les données transactionnelles entre les bases de données. Il s'agit d'un package logiciel de réplication et de capture de données modifiées basé sur les journaux utilisé avec les bases de données pour les systèmes de traitement transactionnel en ligne (OLTP). Oracle GoldenGate crée des fichiers de suivi qui contiennent les données les plus récentes modifiées de la base de données source. Il transmet (push) ensuite ces fichiers au serveur, où un processus convertit le fichier de suivi en code SQL standard à appliquer à la base de données cible.

Oracle GoldenGate with RDS for Oracle prend en charge les fonctionnalités suivantes :
+ Réplication de base de données active-active
+ Reprise après sinistre
+ Protection des données
+ Réplication dans la Région et entre Régions
+ Migration et mises à niveau sans temps d'arrêt
+ Réplication de données entre une instance de base de données RDS for Oracle et une base de données non-Oracle
**Note**  
Pour obtenir la liste des bases de données prises en charge, consultez [Oracle Fusion Middleware Supported System Configurations](https://www.oracle.com/middleware/technologies/fusion-certification.html) (Configurations système prises en charge par Oracle Fusion Middleware) dans la documentation Oracle.

Vous pouvez utiliser Oracle GoldenGate avec RDS pour Oracle pour effectuer une mise à niveau vers les versions majeures d'Oracle Database. Par exemple, vous pouvez utiliser Oracle pour effectuer une mise GoldenGate à niveau d'une base de données sur site Oracle Database 11g vers une base de données Oracle Database 19c sur une instance de base de données Amazon RDS.

**Topics**
+ [

## Versions prises en charge et options de licence pour Oracle GoldenGate
](#Appendix.OracleGoldenGate.licensing)
+ [

## Exigences et limites relatives à Oracle GoldenGate
](#Appendix.OracleGoldenGate.requirements)
+ [

# GoldenGate Architecture Oracle
](Appendix.OracleGoldenGate.Overview.md)
+ [

# Configuration d'Oracle GoldenGate
](Appendix.OracleGoldenGate.setting-up.md)
+ [

# Utilisation des utilitaires EXTRACT et REPLICAT d'Oracle GoldenGate
](Appendix.OracleGoldenGate.ExtractReplicat.md)
+ [

# Surveillance d'Oracle GoldenGate
](Appendix.OracleGoldenGate.Monitoring.md)
+ [

# Dépannage d'Oracle GoldenGate
](Appendix.OracleGoldenGate.Troubleshooting.md)

## Versions prises en charge et options de licence pour Oracle GoldenGate
<a name="Appendix.OracleGoldenGate.licensing"></a>

Vous pouvez utiliser l'édition Standard 2 (SE2) ou Enterprise (EE) de RDS pour Oracle avec Oracle GoldenGate version 12c ou ultérieure. Vous pouvez utiliser les GoldenGate fonctionnalités Oracle suivantes :
+ Oracle GoldenGate Remote Capture (extrait) est pris en charge.
+ La capture (extract) est prise en charge sur les instances de base de données RDS for Oracle qui utilisent l'architecture de base de données traditionnelle non-CDB. La capture Oracle GoldenGate Remote PDB est prise en charge sur Oracle Database 21c ou Oracle Database CDBs 19c version 19.0.0.0.ru-2024-04.rur-2024-04.rur-2024-04.r1 ou supérieure.
+ Oracle GoldenGate Remote Delivery (replicat) est pris en charge sur RDS pour les instances de base de données Oracle qui utilisent des architectures non CDB ou CDB. Remote Delivery prend en charge les processus Replicat intégré, Replicat parallèle, Replicat coordonné et Replicat classique.
+ RDS for Oracle prend en charge les architectures classiques et microservices d'Oracle. GoldenGate
+ La réplication des valeurs GoldenGate DDL et de séquence Oracle est prise en charge lors de l'utilisation du mode de capture intégré.

Vous êtes responsable de la gestion des GoldenGate licences Oracle (BYOL) destinées à être utilisées avec Amazon RDS dans l'ensemble. Régions AWS Pour de plus amples informations, veuillez consulter [Options de licence RDS for Oracle](Oracle.Concepts.Licensing.md).

## Exigences et limites relatives à Oracle GoldenGate
<a name="Appendix.OracleGoldenGate.requirements"></a>

Lorsque vous travaillez avec Oracle GoldenGate et RDS pour Oracle, tenez compte des exigences et limites suivantes : 
+ Vous êtes responsable de la configuration et de la gestion d'Oracle en GoldenGate vue de son utilisation avec RDS pour Oracle. 
+ Vous êtes responsable de la configuration d'une GoldenGate version d'Oracle certifiée avec les bases de données source et cible. Pour plus d’informations, consultez la page [ Configurations système prises en charge par Oracle Fusion Middleware](https://www.oracle.com/middleware/technologies/fusion-certification.html) dans la documentation Oracle.
+ Vous pouvez utiliser Oracle dans GoldenGate de nombreux AWS environnements différents pour de nombreux cas d'utilisation différents. Si vous rencontrez un problème lié au support Oracle GoldenGate, contactez les services de support Oracle.
+ Vous pouvez utiliser Oracle GoldenGate on RDS pour les instances de base de données Oracle qui utilisent Oracle Transparent Data Encryption (TDE). Pour préserver l'intégrité des données répliquées, configurez le chiffrement sur le GoldenGate hub Oracle à l'aide des volumes chiffrés Amazon EBS ou du chiffrement des fichiers de suivi. Configurez également le chiffrement des données envoyées entre le GoldenGate hub Oracle et les instances de base de données source et cible. Les instances de base de données RDS for Oracle prennent en charge le chiffrement avec [Oracle Secure Sockets Layer (SSL)](Appendix.Oracle.Options.SSL.md) ou [Oracle NNE (Native Network Encryption)](Appendix.Oracle.Options.NetworkEncryption.md).

# GoldenGate Architecture Oracle
<a name="Appendix.OracleGoldenGate.Overview"></a>

L' GoldenGate architecture Oracle à utiliser avec Amazon RDS comprend les modules découplés suivants :

Base de données source  
Votre base de données source peut être au choix une base de données Oracle sur site, une base de données Oracle sur une instance Amazon EC2 ou une base de données Oracle sur une instance de base de données Amazon RDS.

 GoldenGate Hub Oracle  
Un GoldenGate hub Oracle déplace les informations de transaction de la base de données source vers la base de données cible. Votre hub peut être l'un des suivants :  
+ Une instance Amazon EC2 sur laquelle Oracle Database et Oracle sont installés GoldenGate 
+ Une installation Oracle sur site
Vous pouvez avoir plus d'un hub Amazon EC2. Nous vous recommandons d'utiliser deux hubs si vous utilisez Oracle GoldenGate pour la réplication entre régions.

Base de données cible  
Votre base de données cible peut se trouver sur une instance de base de données Amazon RDS, une instance Amazon EC2 ou un emplacement sur site.

Les sections suivantes décrivent des scénarios courants pour Oracle GoldenGate sur Amazon RDS.

**Topics**
+ [

## Base de données source sur site et hub Oracle GoldenGate
](#Appendix.OracleGoldenGate.on-prem-source-gg-hub)
+ [

## Base de données source sur site et hub Amazon EC2
](#Appendix.OracleGoldenGate.on-prem-source-ec2-hub)
+ [

## Base de données source Amazon RDS et hub Amazon EC2
](#Appendix.OracleGoldenGate.rds-source-ec2-hub)
+ [

## Base de données source Amazon EC2 et hub Amazon EC2
](#Appendix.OracleGoldenGate.ec2-source-ec2-hub)
+ [

## Hubs Amazon EC2 dans différentes régions AWS
](#Appendix.OracleGoldenGate.cross-region-hubs)

## Base de données source sur site et hub Oracle GoldenGate
<a name="Appendix.OracleGoldenGate.on-prem-source-gg-hub"></a>

Dans ce scénario, une base de données source Oracle sur site et un GoldenGate hub Oracle sur site fournissent des données à une instance de base de données Amazon RDS cible. 

![\[GoldenGate Configuration Oracle 0 à l'aide d'Amazon RDS\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/oracle-gg0.png)


## Base de données source sur site et hub Amazon EC2
<a name="Appendix.OracleGoldenGate.on-prem-source-ec2-hub"></a>

Dans ce scénario, une base de données Oracle sur site agit comme base de données source. Elle est connectée à un hub d'instance Amazon EC2. Ce hub fournit des données à une instance de base de données RDS for Oracle cible.

![\[GoldenGate Configuration Oracle 1 à l'aide d'Amazon RDS\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/oracle-gg1.png)


## Base de données source Amazon RDS et hub Amazon EC2
<a name="Appendix.OracleGoldenGate.rds-source-ec2-hub"></a>

Dans ce scénario, une instance de base de données RDS for Oracle agit comme base de données source. Elle est connectée à un hub d'instance Amazon EC2. Ce hub fournit des données à une instance de base de données RDS for Oracle cible.

![\[GoldenGate Configuration Oracle 2 à l'aide d'Amazon RDS\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/oracle-gg2.png)


## Base de données source Amazon EC2 et hub Amazon EC2
<a name="Appendix.OracleGoldenGate.ec2-source-ec2-hub"></a>

Dans ce scénario, une base de données Oracle sur une instance Amazon EC2 agit comme base de données source. Elle est connectée à un hub d'instance Amazon EC2. Ce hub fournit des données à une instance de base de données RDS for Oracle cible.

![\[GoldenGate Configuration Oracle 3 à l'aide d'Amazon RDS\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/oracle-gg3.png)


## Hubs Amazon EC2 dans différentes régions AWS
<a name="Appendix.OracleGoldenGate.cross-region-hubs"></a>

Dans ce scénario, une base de données Oracle sur une instance de base de données Amazon RDS est connectée à un hub d'instance Amazon EC2 dans la AWS même région. Le hub est connecté à un hub d'instance Amazon EC2 dans une autre AWS région. Ce deuxième hub fournit des données à l'instance de base de données RDS pour Oracle cible dans la même AWS région que le deuxième hub d'instance Amazon EC2.

![\[GoldenGate Configuration Oracle 4 à l'aide d'Amazon RDS\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/oracle-gg4.png)


**Note**  
Tout problème affectant l'exécution d'Oracle dans un environnement GoldenGate sur site a également une incidence sur l'exécution d'Oracle GoldenGate sur AWS. Nous vous recommandons vivement de surveiller le GoldenGate hub Oracle pour vous en assurer `EXTRACT` et `REPLICAT` de le reprendre en cas de basculement. Le GoldenGate hub Oracle étant exécuté sur une instance Amazon EC2, Amazon RDS ne gère pas le GoldenGate hub Oracle et ne peut pas garantir son fonctionnement.

# Configuration d'Oracle GoldenGate
<a name="Appendix.OracleGoldenGate.setting-up"></a>

Pour configurer Oracle à GoldenGate l'aide d'Amazon RDS, configurez le hub sur une instance Amazon EC2, puis configurez les bases de données source et cible. Les sections suivantes fournissent un exemple de configuration d'Oracle GoldenGate pour une utilisation avec Amazon RDS for Oracle.

**Topics**
+ [

## Configuration d'un GoldenGate hub Oracle sur Amazon EC2
](#Appendix.OracleGoldenGate.Hub)
+ [

## Configuration d'une base de données source à utiliser avec Oracle GoldenGate sur Amazon RDS
](#Appendix.OracleGoldenGate.Source)
+ [

## Configuration d'une base de données cible à utiliser avec Oracle GoldenGate sur Amazon RDS
](#Appendix.OracleGoldenGate.Target)

## Configuration d'un GoldenGate hub Oracle sur Amazon EC2
<a name="Appendix.OracleGoldenGate.Hub"></a>

Pour créer un GoldenGate hub Oracle sur une instance Amazon EC2, vous devez d'abord créer une instance Amazon EC2 avec une installation client complète d'Oracle RDBMS. Le GoldenGate logiciel Oracle doit également être installé sur l'instance Amazon EC2. Les versions du GoldenGate logiciel Oracle dépendent des versions de base de données source et cible. Pour plus d'informations sur l'installation d'Oracle GoldenGate, consultez la [ GoldenGatedocumentation Oracle](https://docs.oracle.com/en/middleware/goldengate/core/index.html).

L'instance Amazon EC2 qui sert de GoldenGate hub Oracle stocke et traite les informations de transaction de la base de données source dans des fichiers de suivi. Pour prendre en charge ce processus, veillez à respecter les exigences suivantes :
+ Vous avez alloué suffisamment de stockage aux fichiers de suivi.
+ L'instance Amazon EC2 dispose d'une puissance de traitement suffisante pour traiter le volume de données.
+ L'instance EC2 dispose de suffisamment de mémoire pour stocker les informations de transaction avant leur écriture dans le fichier de suivi.

**Pour configurer un hub d'architecture GoldenGate classique Oracle sur une instance Amazon EC2**

1. Créez des sous-répertoires dans le GoldenGate répertoire Oracle.

   Dans le shell de ligne de commande Amazon EC2`ggsci`, lancez l'interpréteur de GoldenGate commandes Oracle. La commande `CREATE SUBDIRS` crée des sous-répertoires sous le répertoire `/gg` pour les fichiers de point de vérification, de rapport et de paramètres.

   ```
   prompt$ cd /gg
   prompt$ ./ggsci
   
   GGSCI> CREATE SUBDIRS
   ```

1. Configurez le fichier `mgr.prm`.

   L'exemple suivant ajoute des lignes dans le fichier `$GGHOME/dirprm/mgr.prm`.

   ```
   PORT 8199
   PurgeOldExtracts ./dirdat/*, UseCheckpoints, MINKEEPDAYS 5
   ```

1. Démarrez le gestionnaire.

   L'exemple suivant lance `ggsci` et exécute la commande `start mgr`.

   ```
   GGSCI> start mgr
   ```

Le GoldenGate hub Oracle est maintenant prêt à être utilisé.

## Configuration d'une base de données source à utiliser avec Oracle GoldenGate sur Amazon RDS
<a name="Appendix.OracleGoldenGate.Source"></a>

Effectuez les tâches suivantes pour configurer une base de données source à utiliser avec Oracle GoldenGate.

**Topics**
+ [

### Étape 1 : activer une journalisation supplémentaire sur la base de données source
](#Appendix.OracleGoldenGate.Source.Logging)
+ [

### Étape 2 : définir le paramètre d'initialisation ENABLE\$1GOLDENGATE\$1REPLICATION sur true
](#Appendix.OracleGoldenGate.Source.enable-gg-rep)
+ [

### Étape 3 : définir la période de conservation des journaux sur la base de données source
](#Appendix.OracleGoldenGate.Source.Retention)
+ [

### Étape 4 : créer un compte GoldenGate utilisateur Oracle dans la base de données source
](#Appendix.OracleGoldenGate.Source.Account)
+ [

### Étape 5 : accorder des privilèges de compte d'utilisateur sur la base de données source
](#Appendix.OracleGoldenGate.Source.Privileges)
+ [

### Étape 6 : ajouter un alias TNS pour la base de données source
](#Appendix.OracleGoldenGate.Source.TNS)

### Étape 1 : activer une journalisation supplémentaire sur la base de données source
<a name="Appendix.OracleGoldenGate.Source.Logging"></a>

Pour activer la journalisation supplémentaire minimale au niveau de la base de données, exécutez la procédure PL/SQL suivante : 

```
EXEC rdsadmin.rdsadmin_util.alter_supplemental_logging(p_action => 'ADD')
```

### Étape 2 : définir le paramètre d'initialisation ENABLE\$1GOLDENGATE\$1REPLICATION sur true
<a name="Appendix.OracleGoldenGate.Source.enable-gg-rep"></a>

Lorsque vous définissez le paramètre d'initialisation `ENABLE_GOLDENGATE_REPLICATION` sur `true`, il permet aux services de base de données de prendre en charge la réplication logique. Si votre base de données source est sur une instance de base de données Amazon RDS, veillez à disposer d'un groupe de paramètres affecté à l'instance de base de données avec le paramètre d'initialisation `ENABLE_GOLDENGATE_REPLICATION` défini sur `true`. Pour plus d'informations sur le paramètre d'initialisation `ENABLE_GOLDENGATE_REPLICATION`, consultez la [documentation Oracle Database](https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/ENABLE_GOLDENGATE_REPLICATION.html).

### Étape 3 : définir la période de conservation des journaux sur la base de données source
<a name="Appendix.OracleGoldenGate.Source.Retention"></a>

Veillez à configurer la base de données source de manière à conserver les journaux redo archivés. Considérez les directives suivantes :
+ Spécifiez la durée de conservation des journaux en heures. La valeur minimale est d'une heure.
+ Définissez cette durée de manière à ce qu'elle dépasse tout temps d'arrêt éventuel de l'instance de base de données source ou la durée de tout problème potentiel de communication ou de mise en réseau pour l'instance source. Une telle durée permet à Oracle de GoldenGate récupérer les journaux de l'instance source selon les besoins.
+ Assurez-vous de disposer d'un espace de stockage suffisant sur votre instance pour les fichiers.

Par exemple, définissez la période de conservation des journaux redo archivés sur 24 heures.

```
EXEC rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours',24)
```

Si la conservation des journaux n'est pas activée ou si la valeur de conservation est trop faible, vous recevez un message d'erreur similaire au suivant.

```
2022-03-06 06:17:27  ERROR   OGG-00446  error 2 (No such file or directory) 
opening redo log /rdsdbdata/db/GGTEST3_A/onlinelog/o1_mf_2_9k4bp1n6_.log for sequence 1306 
Not able to establish initial position for begin time 2022-03-06 06:16:55.
```

Étant donné que votre instance de base de données conserve vos journaux redo archivés, assurez-vous de disposer de suffisamment d'espace pour les fichiers. Pour connaître l'espace que vous avez utilisé au cours des dernières *num\$1hours* heures, exécutez la requête suivante en *num\$1hours* remplaçant par le nombre d'heures.

```
SELECT SUM(BLOCKS * BLOCK_SIZE) BYTES FROM V$ARCHIVED_LOG 
   WHERE NEXT_TIME>=SYSDATE-num_hours/24 AND DEST_ID=1;
```

### Étape 4 : créer un compte GoldenGate utilisateur Oracle dans la base de données source
<a name="Appendix.OracleGoldenGate.Source.Account"></a>

Oracle GoldenGate fonctionne en tant qu'utilisateur de base de données et nécessite les privilèges de base de données appropriés pour accéder aux journaux de restauration et aux journaux de journalisation archivés de la base de données source. Pour cela, créez un compte d'utilisateur sur la base de données source. Pour plus d'informations sur les autorisations associées à un compte GoldenGate utilisateur Oracle, consultez la [documentation Oracle](https://docs.oracle.com/en/middleware/goldengate/core/19.1/oracle-db/establishing-oracle-goldengate-credentials.html#GUID-79122058-27B0-4FB6-B3DC-B7D1B67EB053).

Les instructions suivantes créent un compte d'utilisateur nommé `oggadm1`. 

```
CREATE TABLESPACE administrator;
CREATE USER oggadm1  IDENTIFIED BY "password"
   DEFAULT TABLESPACE ADMINISTRATOR TEMPORARY TABLESPACE TEMP;
ALTER USER oggadm1 QUOTA UNLIMITED ON administrator;
```

**Note**  
Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.

### Étape 5 : accorder des privilèges de compte d'utilisateur sur la base de données source
<a name="Appendix.OracleGoldenGate.Source.Privileges"></a>

Dans cette tâche, vous accordez les privilèges de compte nécessaires aux utilisateurs de base de données sur votre base de données source.

**Pour accorder des privilèges de compte sur la base de données source**

1. Accordez les privilèges nécessaires au compte GoldenGate utilisateur Oracle à l'aide de la commande SQL `grant` et de la `rdsadmin.rdsadmin_util` procédure`grant_sys_object`. Les instructions suivantes accordent des privilèges à un utilisateur nommé `oggadm1`.

   ```
   GRANT CREATE SESSION, ALTER SESSION TO oggadm1;
   GRANT RESOURCE TO oggadm1;
   GRANT SELECT ANY DICTIONARY TO oggadm1;
   GRANT FLASHBACK ANY TABLE TO oggadm1;
   GRANT SELECT ANY TABLE TO oggadm1;
   GRANT SELECT_CATALOG_ROLE TO rds_master_user_name WITH ADMIN OPTION;
   EXEC rdsadmin.rdsadmin_util.grant_sys_object ('DBA_CLUSTERS', 'OGGADM1');
   GRANT EXECUTE ON DBMS_FLASHBACK TO oggadm1;
   GRANT SELECT ON SYS.V_$DATABASE TO oggadm1;
   GRANT ALTER ANY TABLE TO oggadm1;
   ```

1. Accordez les privilèges nécessaires à un compte utilisateur pour être un GoldenGate administrateur Oracle. Exécutez le PL/SQL programme suivant.

   ```
   EXEC rdsadmin.rdsadmin_dbms_goldengate_auth.grant_admin_privilege (
       grantee                 => 'OGGADM1',
       privilege_type          => 'capture',
       grant_select_privileges => true, 
       do_grants               => TRUE);
   ```

   Pour révoquer des privilèges, utilisez la procédure `revoke_admin_privilege` dans le même package.

### Étape 6 : ajouter un alias TNS pour la base de données source
<a name="Appendix.OracleGoldenGate.Source.TNS"></a>

Ajoutez l'entrée suivante à `$ORACLE_HOME/network/admin/tnsnames.ora` dans le répertoire de base de base de données Oracle que doit utiliser le processus `EXTRACT`. Pour de plus amples informations sur le fichier `tnsnames.ora`, veuillez consulter la [documentation Oracle](https://docs.oracle.com/en/database/oracle/oracle-database/19/netrf/local-naming-parameters-in-tns-ora-file.html#GUID-7F967CE5-5498-427C-9390-4A5C6767ADAA).

```
OGGSOURCE=
   (DESCRIPTION= 
        (ENABLE=BROKEN)
        (ADDRESS_LIST= 
            (ADDRESS=(PROTOCOL=TCP)(HOST=goldengate-source.abcdef12345.us-west-2.rds.amazonaws.com)(PORT=8200)))
        (CONNECT_DATA=(SERVICE_NAME=ORCL))
    )
```

## Configuration d'une base de données cible à utiliser avec Oracle GoldenGate sur Amazon RDS
<a name="Appendix.OracleGoldenGate.Target"></a>

Dans cette tâche, vous configurez une instance de base de données cible à utiliser avec Oracle GoldenGate.

**Topics**
+ [

### Étape 1 : définir le paramètre d'initialisation ENABLE\$1GOLDENGATE\$1REPLICATION sur true
](#Appendix.OracleGoldenGate.Target.enable-gg-rep)
+ [

### Étape 2 : créer un compte GoldenGate utilisateur Oracle sur la base de données cible
](#Appendix.OracleGoldenGate.Target.User)
+ [

### Étape 3 : accorder des privilèges de compte sur la base de données cible
](#Appendix.OracleGoldenGate.Target.Privileges)
+ [

### Étape 4 : ajouter un alias TNS pour la base de données cible
](#Appendix.OracleGoldenGate.Target.TNS)

### Étape 1 : définir le paramètre d'initialisation ENABLE\$1GOLDENGATE\$1REPLICATION sur true
<a name="Appendix.OracleGoldenGate.Target.enable-gg-rep"></a>

Lorsque vous définissez le paramètre d'initialisation `ENABLE_GOLDENGATE_REPLICATION` sur `true`, il permet aux services de base de données de prendre en charge la réplication logique. Si votre base de données source est sur une instance de base de données Amazon RDS, veillez à disposer d'un groupe de paramètres affecté à l'instance de base de données avec le paramètre d'initialisation `ENABLE_GOLDENGATE_REPLICATION` défini sur `true`. Pour plus d'informations sur le paramètre d'initialisation `ENABLE_GOLDENGATE_REPLICATION`, consultez la [documentation Oracle Database](https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/ENABLE_GOLDENGATE_REPLICATION.html).

### Étape 2 : créer un compte GoldenGate utilisateur Oracle sur la base de données cible
<a name="Appendix.OracleGoldenGate.Target.User"></a>

Oracle GoldenGate fonctionne en tant qu'utilisateur de base de données et nécessite les privilèges de base de données appropriés. Pour vous assurer qu'il possède ces privilèges, créez un compte d'utilisateur sur la base de données cible.

L'instruction suivante crée un utilisateur nommé `oggadm1`.

```
CREATE TABLESPSACE administrator;
CREATE USER oggadm1  IDENTIFIED BY "password" 
   DEFAULT TABLESPACE administrator 
   TEMPORARY TABLESPACE temp;
ALTER USER oggadm1 QUOTA UNLIMITED ON administrator;
```

**Note**  
Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.

### Étape 3 : accorder des privilèges de compte sur la base de données cible
<a name="Appendix.OracleGoldenGate.Target.Privileges"></a>

Dans cette tâche, vous accordez les privilèges de compte nécessaires aux utilisateurs de base de données sur votre base de données cible.

**Pour accorder des privilèges de compte sur la base de données cible**

1. Accordez les privilèges nécessaires au compte GoldenGate utilisateur Oracle sur la base de données cible. Dans l'exemple suivant, vous accordez des privilèges à `oggadm1`.

   ```
   GRANT CREATE SESSION        TO oggadm1;
   GRANT ALTER SESSION         TO oggadm1;
   GRANT CREATE CLUSTER        TO oggadm1;
   GRANT CREATE INDEXTYPE      TO oggadm1;
   GRANT CREATE OPERATOR       TO oggadm1;
   GRANT CREATE PROCEDURE      TO oggadm1;
   GRANT CREATE SEQUENCE       TO oggadm1;
   GRANT CREATE TABLE          TO oggadm1;
   GRANT CREATE TRIGGER        TO oggadm1;
   GRANT CREATE TYPE           TO oggadm1;
   GRANT SELECT ANY DICTIONARY TO oggadm1;
   GRANT CREATE ANY TABLE      TO oggadm1;
   GRANT ALTER ANY TABLE       TO oggadm1;
   GRANT LOCK ANY TABLE        TO oggadm1;
   GRANT SELECT ANY TABLE      TO oggadm1;
   GRANT INSERT ANY TABLE      TO oggadm1;
   GRANT UPDATE ANY TABLE      TO oggadm1;
   GRANT DELETE ANY TABLE      TO oggadm1;
   ```

1. Accordez les privilèges nécessaires à un compte utilisateur pour être un GoldenGate administrateur Oracle. Exécutez le PL/SQL programme suivant.

   ```
   EXEC rdsadmin.rdsadmin_dbms_goldengate_auth.grant_admin_privilege (
       grantee                 => 'OGGADM1',
       privilege_type          => 'apply',
       grant_select_privileges => true, 
       do_grants               => TRUE);
   ```

   Pour révoquer des privilèges, utilisez la procédure `revoke_admin_privilege` dans le même package.

### Étape 4 : ajouter un alias TNS pour la base de données cible
<a name="Appendix.OracleGoldenGate.Target.TNS"></a>

Ajoutez l'entrée suivante à `$ORACLE_HOME/network/admin/tnsnames.ora` dans le répertoire de base de base de données Oracle que doit utiliser le processus `REPLICAT`. Pour les bases de données Oracle Multitenant, assurez-vous que l'alias TNS pointe vers le nom de service de la PDB. Pour de plus amples informations sur le fichier `tnsnames.ora`, veuillez consulter la [documentation Oracle](https://docs.oracle.com/en/database/oracle/oracle-database/19/netrf/local-naming-parameters-in-tns-ora-file.html#GUID-7F967CE5-5498-427C-9390-4A5C6767ADAA).

```
OGGTARGET=
    (DESCRIPTION= 
        (ENABLE=BROKEN)
        (ADDRESS_LIST= 
            (ADDRESS=(PROTOCOL=TCP)(HOST=goldengate-target.abcdef12345.us-west-2.rds.amazonaws.com)(PORT=8200)))
        (CONNECT_DATA=(SERVICE_NAME=ORCL))
    )
```

# Utilisation des utilitaires EXTRACT et REPLICAT d'Oracle GoldenGate
<a name="Appendix.OracleGoldenGate.ExtractReplicat"></a>

Les GoldenGate utilitaires `EXTRACT` Oracle `REPLICAT` travaillent ensemble pour synchroniser les bases de données source et cible grâce à une réplication incrémentielle des transactions à l'aide de fichiers de suivi. Toutes les modifications apportées à la base de données source sont automatiquement détectées`EXTRACT`, puis formatées et transférées vers des fichiers de suivi sur le hub d'instance Oracle sur GoldenGate site ou Amazon EC2. Après le chargement initial, les données sont lues depuis ces fichiers et répliquées sur la base de données cible par l'utilitaire `REPLICAT`.

## Exécution de l'utilitaire Oracle GoldenGate EXTRACT
<a name="Appendix.OracleGoldenGate.Extract"></a>

L'utilitaire `EXTRACT` récupère et convertit des données provenant de la base de données source pour les fournir en sortie dans des fichiers de suivi. La procédure de base est la suivante :

1. `EXTRACT` met en file d'attente les détails de transaction pour les stocker dans la mémoire ou dans un stockage temporaire sur disque.

1. La base de données source valide la transaction.

1. `EXTRACT` écrit les détails de la transaction dans un fichier de suivi.

1. Le fichier de suivi achemine ces informations vers le hub d'instance Oracle GoldenGate sur site ou Amazon EC2, puis vers la base de données cible.

Les étapes suivantes démarrent l'utilitaire `EXTRACT`, capturent les données de `EXAMPLE.TABLE` dans la base de données source `OGGSOURCE` et créent les fichiers de suivi. 

**Pour exécuter l'utilitaire EXTRACT**

1. Configurez le fichier de `EXTRACT` paramètres sur le GoldenGate hub Oracle (sur site ou instance Amazon EC2). La liste suivante affiche un exemple de fichier de paramètres `EXTRACT` nommé `$GGHOME/dirprm/eabc.prm`.

   ```
   EXTRACT EABC
    
   USERID oggadm1@OGGSOURCE, PASSWORD "my-password"
   EXTTRAIL /path/to/goldengate/dirdat/ab 
    
   IGNOREREPLICATES
   GETAPPLOPS
   TRANLOGOPTIONS EXCLUDEUSER OGGADM1
   	 
   TABLE EXAMPLE.TABLE;
   ```

1. Sur le GoldenGate hub Oracle, connectez-vous à la base de données source et lancez l'interface de ligne de GoldenGate commande Oracle`ggsci`. L'exemple suivant illustre le format pour la connexion.

   ```
   dblogin oggadm1@OGGSOURCE
   ```

1. Ajoutez des données de transaction pour activer la journalisation supplémentaire pour la table de base de données.

   ```
   add trandata EXAMPLE.TABLE
   ```

1. En utilisant la ligne de commande `ggsci`, activez l'utilitaire `EXTRACT` en utilisant les commandes suivantes.

   ```
   add extract EABC tranlog, INTEGRATED tranlog, begin now
   add exttrail /path/to/goldengate/dirdat/ab 
      extract EABC, 
      MEGABYTES 100
   ```

1. Enregistrez l'utilitaire `EXTRACT` avec la base de données afin que les journaux d'archivage ne soient pas supprimés. Cette tâche vous permet de récupérer d'anciennes transactions non validées, si nécessaire. Pour enregistrer l'utilitaire `EXTRACT` avec la base de données, utilisez la commande suivante.

   ```
   register EXTRACT EABC, DATABASE
   ```

1. Démarrez l'utilitaire `EXTRACT` avec la commande suivante.

   ```
   start EABC
   ```

## Exécution de l'utilitaire Oracle GoldenGate REPLICAT
<a name="Appendix.OracleGoldenGate.Replicat"></a>

L'utilitaire `REPLICAT` transmet (push) les informations de transaction des fichiers de suivi vers la base de données cible.

Les étapes suivantes permettent d'activer et de démarrer l'utilitaire `REPLICAT` afin qu'il puisse répliquer les données capturées dans la table `EXAMPLE.TABLE` de la base de données cible `OGGTARGET`.

**Pour exécuter l'utilitaire REPLICATE**

1. Configurez le fichier de `REPLICAT` paramètres sur le GoldenGate hub Oracle (instance sur site ou EC2). La liste suivante affiche un exemple de fichier de paramètres `REPLICAT` nommé `$GGHOME/dirprm/rabc.prm`.

   ```
   REPLICAT RABC
    
   USERID oggadm1@OGGTARGET, password "my-password"
    
   ASSUMETARGETDEFS
   MAP EXAMPLE.TABLE, TARGET EXAMPLE.TABLE;
   ```
**Note**  
Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.

1. Connectez-vous à la base de données cible et lancez l'interface de ligne de GoldenGate commande Oracle (`ggsci`). L'exemple suivant illustre le format pour la connexion.

   ```
   dblogin userid oggadm1@OGGTARGET
   ```

1. En utilisant la ligne de commande `ggsci`, ajoutez une table de points de vérification. L'utilisateur indiqué doit être le compte GoldenGate utilisateur Oracle, et non le propriétaire du schéma de table cible. L'exemple suivant crée une table de points de vérification nommée `gg_checkpoint`.

   ```
   add checkpointtable oggadm1.oggchkpt
   ```

1. Pour activer l'utilitaire `REPLICAT`, utilisez la commande suivante :

   ```
   add replicat RABC EXTTRAIL /path/to/goldengate/dirdat/ab CHECKPOINTTABLE oggadm1.oggchkpt 
   ```

1. Démarrez l'utilitaire `REPLICAT` en utilisant la commande suivante :

   ```
   start RABC
   ```

# Surveillance d'Oracle GoldenGate
<a name="Appendix.OracleGoldenGate.Monitoring"></a>

Lorsque vous utilisez Oracle GoldenGate pour la réplication, veillez à ce que le processus Oracle GoldenGate soit opérationnel et que les bases de données source et cible soient synchronisées. Vous pouvez utiliser les outils de surveillance suivants :
+ [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) est un service de surveillance utilisé dans ce modèle pour surveiller les journaux d'erreurs GoldenGate.
+ [Amazon SNS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html) est un service de notification par messages utilisé dans ce modèle pour envoyer des e-mails de notification.

Pour obtenir des instructions détaillées, consultez [Surveiller les journaux Oracle GoldenGate à l'aide d'Amazon CloudWatch](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/monitor-oracle-goldengate-logs-by-using-amazon-cloudwatch.html).

# Dépannage d'Oracle GoldenGate
<a name="Appendix.OracleGoldenGate.Troubleshooting"></a>

Cette section décrit les problèmes les plus courants liés à l'utilisation d'Oracle GoldenGate avec Amazon RDS for Oracle.

**Topics**
+ [

## Erreur lors de l'ouverture d'un journal redo en ligne
](#Appendix.OracleGoldenGate.Troubleshooting.Logs)
+ [

## Oracle GoldenGate semble être correctement configuré mais la réplication ne fonctionne pas
](#Appendix.OracleGoldenGate.Troubleshooting.Replication)
+ [

## Lenteur du REPLICAT intégré en raison d'une requête sur SYS."\$1DBA\$1APPLY\$1CDR\$1INFO"
](#Appendix.OracleGoldenGate.IR)

## Erreur lors de l'ouverture d'un journal redo en ligne
<a name="Appendix.OracleGoldenGate.Troubleshooting.Logs"></a>

Veillez à configurer vos bases de données pour conserver les journaux redo archivés. Considérez les directives suivantes :
+ Spécifiez la durée de conservation des journaux en heures. La valeur minimale est d'une heure.
+ Définissez cette durée de manière à ce qu'elle dépasse tout temps d'arrêt éventuel de l'instance de base de données source ou la durée de tout problème potentiel de communication ou de mise en réseau pour l'instance de base de données source. Une telle durée permet à Oracle de GoldenGate récupérer les journaux de l'instance de base de données source selon les besoins.
+ Assurez-vous de disposer d'un espace de stockage suffisant sur votre instance pour les fichiers.

Si la conservation des journaux n'est pas activée ou si la valeur de conservation est trop faible, vous recevez un message d'erreur similaire au suivant.

```
2022-03-06 06:17:27  ERROR   OGG-00446  error 2 (No such file or directory) 
opening redo log /rdsdbdata/db/GGTEST3_A/onlinelog/o1_mf_2_9k4bp1n6_.log for sequence 1306 
Not able to establish initial position for begin time 2022-03-06 06:16:55.
```

## Oracle GoldenGate semble être correctement configuré mais la réplication ne fonctionne pas
<a name="Appendix.OracleGoldenGate.Troubleshooting.Replication"></a>

Pour les tables préexistantes, vous devez spécifier le SCN à partir duquel Oracle GoldenGate travaille.

**Pour résoudre ce problème**

1. Connectez-vous à la base de données source et lancez l'interface de ligne de GoldenGate commande Oracle (`ggsci`). L'exemple suivant illustre le format pour la connexion.

   ```
   dblogin userid oggadm1@OGGSOURCE
   ```

1. À l'aide de la ligne de commande `ggsci`, configurez le numéro SCN de départ du processus `EXTRACT`. L'exemple suivant définit le SCN sur 223274 pour `EXTRACT`.

   ```
   ALTER EXTRACT EABC SCN 223274
   start EABC
   ```

1. Connectez-vous à la base de données cible. L'exemple suivant illustre le format pour la connexion.

   ```
   dblogin userid oggadm1@OGGTARGET
   ```

1. À l'aide de la ligne de commande `ggsci`, configurez le numéro SCN de départ du processus `REPLICAT`. L'exemple suivant définit le SCN sur 223274 pour `REPLICAT`.

   ```
   start RABC atcsn 223274
   ```

## Lenteur du REPLICAT intégré en raison d'une requête sur SYS."\$1DBA\$1APPLY\$1CDR\$1INFO"
<a name="Appendix.OracleGoldenGate.IR"></a>

Oracle GoldenGate Conflict Detection and Resolution (CDR) fournit des routines de résolution de conflits de base. Par exemple, CDR peut résoudre un conflit unique pour une instruction `INSERT`.

Lorsque le CDR résout une collision, il peut temporairement insérer des enregistrements dans la table des exceptions `_DBA_APPLY_CDR_INFO`. Le processus `REPLICAT` intégré supprime ces enregistrements par la suite. Il existe un scénario rare dans lequel le processus `REPLICAT` intégré peut traiter un grand nombre de collisions, mais aucun nouveau processus `REPLICAT` intégré ne le remplace. Au lieu d'être supprimées, les lignes existantes de `_DBA_APPLY_CDR_INFO` sont orphelines. Tous les nouveaux processus `REPLICAT` intégrés ralentissent car ils interrogent des lignes orphelines dans `_DBA_APPLY_CDR_INFO`.

Pour supprimer toutes les lignes de `_DBA_APPLY_CDR_INFO`, utilisez la procédure Amazon RDS `rdsadmin.rdsadmin_util.truncate_apply$_cdr_info`. Cette procédure est publiée dans le cadre de la version et de la mise à jour d'octobre 2020. La procédure est disponible dans les versions suivantes des bases de données :
+ [ Version 21,0.0.0.ru-2022-01.rur-2022-01.r1](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/oracle-version-21-0.html#oracle-version-RU-RUR.21.0.0.0.ru-2022-01.rur-2022-01.r1) et versions ultérieures
+ [ Version 19,0.0.0.ru-2020-10.rur-2020-10.r1](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/oracle-version-19-0.html#oracle-version-RU-RUR.19.0.0.0.ru-2020-10.rur-2020-10.r1) et versions ultérieures

L'exemple suivant tronque la table `_DBA_APPLY_CDR_INFO`.

```
SET SERVEROUTPUT ON SIZE 2000
EXEC rdsadmin.rdsadmin_util.truncate_apply$_cdr_info;
```

# Utilisation de l'utilitaire Oracle Repository Creation Utility sur RDS for Oracle
<a name="Oracle.Resources.RCU"></a>

Vous pouvez utiliser Amazon RDS pour héberger une instance de base de données RDS for Oracle qui contient les schémas pour prendre en charge vos composants Oracle Fusion Middleware. Avant de pouvoir utiliser les composants Fusion Middleware, créez et remplissez les schémas pour eux dans votre base de données. Vous créez et remplissez les schémas à l'aide de l'utilitaire Oracle Repository Creation Utility (RCU).

## Versions prises en charge et options de licence pour RCU
<a name="Oracle.Resources.RCU.Versions"></a>

Amazon RDS prend en charge l'utilitaire Oracle Repository Creation Utility (RCU) version 12c seulement. Vous pouvez utiliser le RCU dans les configurations suivantes : 
+ Chiffrement RCU 12c avec Oracle Database 21c
+ Chiffrement RCU 12c avec Oracle Database 19c

Avant de pouvoir utiliser le RCU, assurez-vous d'effectuer les opérations suivantes :
+ Obtenez une licence pour Oracle Fusion Middleware.
+ Suivez les consignes sur les licences d'Oracle pour la base de données Oracle qui héberge le référentiel. Pour plus d’informations, consultez le [ Manuel d’utilisateur sur les informations de licence Oracle Fusion Middleware ](https://docs.oracle.com/en/middleware/fusion-middleware/fmwlc/) dans la documentation Oracle.

Fusion MiddleWare prend en charge les référentiels sur Oracle Database Enterprise Edition et Standard Edition 2. Oracle recommande l'Enterprise Edition pour les installations de production nécessitant un partitionnement et les installations nécessitant une reconstruction d'index en ligne.

Avant de créer votre instance RDS for Oracle, confirmez que la version de la base de données Oracle dont vous avez besoin pour prendre en charge les composants que vous souhaitez déployer. Pour connaître les exigences relatives aux composants et aux versions de Fusion Middleware que vous souhaitez déployer, utilisez la matrice de certification. Pour plus d’informations, consultez la page [ Configurations système prises en charge par Oracle Fusion Middleware](http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html) dans la documentation Oracle. 

Amazon RDS prend en charge les mises à niveau de version de la base de données Oracle en fonction des besoins. Pour plus d’informations, consultez [Mise à niveau d'une version du moteur d'une instance de base de données](USER_UpgradeDBInstance.Upgrading.md). 

## Exigences et restrictions pour RCU
<a name="Oracle.Resources.RCU.BeforeYouBegin"></a>

Pour utiliser RCU, vous avez besoin d'un VPC Amazon. Votre instance de base de données Amazon RDS doit être disponible seulement pour vos composants Fusion Middleware et non pour l'Internet public. Par conséquent, hébergez votre instance de base de données Amazon RDS dans un sous-réseau privé, offrant une sécurité supérieure. Vous avez également besoin d'une instance de base de données RDS for Oracle. Pour plus d’informations, consultez [Création et connexion à une instance de base de données Oracle](CHAP_GettingStarted.CreatingConnecting.Oracle.md).

Vous pouvez stocker les schémas de tous les composants Fusion Middleware dans votre instance de base de données Amazon RDS. Les schémas suivants ont été vérifiés pour une installation correcte : 
+ Analytics (ACTIVITIES)
+ Audit Services (IAU)
+ Audit Services Append (IAU\$1APPEND)
+ Audit Services Viewer (IAU\$1VIEWER)
+ Discussions (DISCUSSIONS)
+ Metadata Services (MDS)
+ Oracle Business Intelligence (BIPLATFORM)
+ Oracle Platform Security Services (OPSS)
+ Portal and Services (WEBCENTER)
+ Portlet Producers (PORTLET)
+ Service Table (STB)
+ SOA Infrastructure (SOAINFRA)
+ User Messaging Service (UCSUMS)
+ WebLogic Services (WLS)

## Conseils pour l'exécution de RCU
<a name="Oracle.Resources.RCU.Recommendations"></a>

Voici quelques recommandations pour l'utilisation de votre instance de base de données dans ce scénario : 
+ Nous recommandons d'utiliser Multi-AZ pour les charges de travail de production. Pour plus d'informations sur l'utilisation de plusieurs zones de disponibilité, consultez [Régions, zones de disponibilité et zones locales ](Concepts.RegionsAndAvailabilityZones.md). 
+ Pour une sécurité optimale, Oracle recommande que vous utilisiez Transparent Data Encryption (TDE) pour chiffrer les données au repos. Si vous avez une licence Enterprise Edition qui inclut l'option de sécurité avancée, vous pouvez activer le chiffrement au repos à l'aide de l'option TDE. Pour plus d'informations, consultez [Oracle Transparent Data Encryption](Appendix.Oracle.Options.AdvSecurity.md). 

  Amazon RDS fournit également une option de chiffrement au repos pour toutes les éditions de la base de données. Pour plus d'informations, consultez [Chiffrement des ressources Amazon RDS](Overview.Encryption.md). 
+ Configurez vos groupes de sécurité VPC pour permettre la communication entre vos serveurs d'applications et votre instance de base de données Amazon RDS. Les serveurs d'applications qui hébergent les composants Fusion Middleware peuvent être sur Amazon EC2 ou sur site. 

## Exécution de RCU
<a name="Oracle.Resources.RCU.Installing"></a>

Utilisez l'utilitaire Oracle Repository Creation Utility (RCU) pour créer et remplir les schémas afin de prendre en charge vos composants Fusion Middleware. Vous pouvez exécuter RCU de différentes façons.

**Topics**
+ [

### Exécution de RCU à l'aide de la ligne de commande en une seule étape
](#Oracle.Resources.RCU.SilentSingle)
+ [

### Exécution de RCU dans la ligne de commande en plusieurs étapes
](#Oracle.Resources.RCU.SilentMulti)
+ [

### Exécution de RCU en mode interactif
](#Oracle.Resources.RCU.Interactive)

### Exécution de RCU à l'aide de la ligne de commande en une seule étape
<a name="Oracle.Resources.RCU.SilentSingle"></a>

Si vous n'avez besoin de modifier aucun de vos schémas avant de les remplir, vous pouvez exécuter RCU en une seule étape. Sinon, consultez la section suivante pour exécuter RCU en plusieurs étapes. 

Vous pouvez exécuter le RCU en mode silencieux à l'aide du paramètre de ligne de commande `-silent`. Lorsque vous exécutez le RCU en mode silencieux, cela vous évite de saisir des mots de passe sur la ligne de commande en créant un fichier texte contenant les mots de passe. Créez un fichier texte avec le mot de passe pour `dbUser` sur la première ligne et le mot de passe de chaque composant sur les lignes suivantes. Vous spécifiez le nom du fichier mot de passe en tant que dernier paramètre de la commande RCU. 

**Example**  
L'exemple suivant permet de créer et remplir les schémas pour le composant d'infrastructure SOA (et ses dépendances) en une seule étape.   
Pour Linux, macOS ou Unix :  

```
export ORACLE_HOME=/u01/app/oracle/product/12.2.1.0/fmw
export JAVA_HOME=/usr/java/jdk1.8.0_65
${ORACLE_HOME}/oracle_common/bin/rcu \
-silent \
-createRepository \
-connectString ${dbhost}:${dbport}:${dbname} \
-dbUser ${dbuser} \
-dbRole Normal \
-honorOMF \
-schemaPrefix ${SCHEMA_PREFIX} \
-component MDS \
-component STB \
-component OPSS \
-component IAU \
-component IAU_APPEND \
-component IAU_VIEWER \
-component UCSUMS \
-component WLS \
-component SOAINFRA \
-f < /tmp/passwordfile.txt
```

Pour plus d’informations, consultez la page [ Exécution de l’utilitaire RCU dans la ligne de commande](https://docs.oracle.com/middleware/1221/core/RCUUG/GUID-0D3A2959-7CC8-4001-997E-718ADF04C5F2.htm#RCUUG248) dans la documentation Oracle. 

### Exécution de RCU dans la ligne de commande en plusieurs étapes
<a name="Oracle.Resources.RCU.SilentMulti"></a>

Afin de modifier manuellement vos scripts de schéma, exécutez RCU en plusieurs étapes : 

1. Exécutez RCU en mode **Prepare Scripts for System Load (Préparer les scripts pour le chargement système)** à l'aide du paramètre de ligne de commande `-generateScript` pour créer les scripts pour vos schémas. 

1. Modifiez et exécutez manuellement le script généré `script_systemLoad.sql`. 

1. Exécutez RCU à nouveau en mode **Perform Product Load (Exécuter la charge de produit)** à l'aide du paramètre de ligne de commande `-dataLoad` pour remplir les schémas. 

1. Exécutez le script de nettoyage généré `script_postDataLoad.sql`.

Pour exécuter le RCU en mode silencieux, spécifiez le paramètre de ligne de commande `-silent`. Lorsque vous exécutez le RCU en mode silencieux, cela vous évite de taper des mots de passe sur la ligne de commande en créant un fichier texte contenant les mots de passe. Créez un fichier texte avec le mot de passe pour `dbUser` sur la première ligne et le mot de passe de chaque composant sur les lignes suivantes. Spécifiez le nom du fichier mot de passe en tant que dernier paramètre de la commande RCU. 

**Example**  
L'exemple suivant permet de créer des scripts de schéma pour le composant d'infrastructure SOA et ses dépendances.   
Pour Linux, macOS ou Unix :  

```
export ORACLE_HOME=/u01/app/oracle/product/12.2.1.0/fmw
export JAVA_HOME=/usr/java/jdk1.8.0_65
${ORACLE_HOME}/oracle_common/bin/rcu \
-silent \
-generateScript \
-connectString ${dbhost}:${dbport}:${dbname} \
-dbUser ${dbuser} \
-dbRole Normal \
-honorOMF \
[-encryptTablespace true] \
-schemaPrefix ${SCHEMA_PREFIX} \
-component MDS \
-component STB \
-component OPSS \
-component IAU \
-component IAU_APPEND \
-component IAU_VIEWER \
-component UCSUMS \
-component WLS \
-component SOAINFRA \
-scriptLocation /tmp/rcuscripts \
-f < /tmp/passwordfile.txt
```
Désormais, vous pouvez modifier le script généré, vous connecter à votre instance de base de données Oracle et exécuter le script. Le script généré est appelé `script_systemLoad.sql`. Pour plus d'informations sur la connexion à votre instance de base de données Oracle, consultez [Étape 3 : Connecter votre client SQL à une instance de base de données Oracle](CHAP_GettingStarted.CreatingConnecting.Oracle.md#CHAP_GettingStarted.Connecting.Oracle).   
L'exemple suivant permet de remplir les schémas pour le composant d'infrastructure SOA (et ses dépendances).   
Pour Linux, macOS ou Unix :  

```
export JAVA_HOME=/usr/java/jdk1.8.0_65
${ORACLE_HOME}/oracle_common/bin/rcu \
-silent \
-dataLoad \
-connectString ${dbhost}:${dbport}:${dbname} \
-dbUser ${dbuser} \
-dbRole Normal \
-honorOMF \
-schemaPrefix ${SCHEMA_PREFIX} \
-component MDS \
-component STB \
-component OPSS \
-component IAU \
-component IAU_APPEND \
-component IAU_VIEWER \
-component UCSUMS \
-component WLS \
-component SOAINFRA \
-f < /tmp/passwordfile.txt
```
Pour finir, vous vous connectez à votre instance de base de données Oracle et vous exécutez le script de nettoyage. Ce script est appelé `script_postDataLoad.sql`. 

Pour plus d’informations, consultez la page [ Exécution de l’utilitaire RCU dans la ligne de commande](https://docs.oracle.com/middleware/1221/core/RCUUG/GUID-0D3A2959-7CC8-4001-997E-718ADF04C5F2.htm#RCUUG248) dans la documentation Oracle. 

### Exécution de RCU en mode interactif
<a name="Oracle.Resources.RCU.Interactive"></a>

Pour utiliser l'interface utilisateur graphique de RCU, exécutez RCU en mode interactif. Incluez le paramètre `-interactive` et omettez le paramètre `-silent`. Pour plus d’informations, consultez la page [ Présentation des écrans de l’utilitaire RCU](https://docs.oracle.com/middleware/1213/core/RCUUG/rcu_screens.htm#RCUUG143) dans la documentation Oracle. 

**Example**  
L'exemple suivant démarre le RCU en mode interactif et pré-remplit les informations de connexion.   
Pour Linux, macOS ou Unix :  

```
export ORACLE_HOME=/u01/app/oracle/product/12.2.1.0/fmw
export JAVA_HOME=/usr/java/jdk1.8.0_65
${ORACLE_HOME}/oracle_common/bin/rcu \
-interactive \
-createRepository \
-connectString ${dbhost}:${dbport}:${dbname} \
-dbUser ${dbuser} \
-dbRole Normal
```

## Résolution des problèmes liés à RCU
<a name="Oracle.Resources.RCU.KnownIssues"></a>

Soyez attentifs aux points suivants.

**Topics**
+ [

### Fichiers gérés Oracle (OMF)
](#Oracle.Resources.RCU.KnownIssues.OMF)
+ [

### Privilèges d'objet
](#Oracle.Resources.RCU.KnownIssues.object-privs)
+ [

### Service de planification d'entreprise
](#Oracle.Resources.RCU.KnownIssues.Scheduler)

### Fichiers gérés Oracle (OMF)
<a name="Oracle.Resources.RCU.KnownIssues.OMF"></a>

Amazon RDS utilise des fichiers de données OMF pour simplifier la gestion du stockage. Vous pouvez personnaliser les attributs de table, telles que la taille et la gestion de l'extension. Cependant, si vous spécifiez un nom de fichier de données lorsque vous exécutez la RCU, le code d'espace disque logique échoue en renvoyant l'erreur `ORA-20900`. Vous pouvez utiliser le RCU avec OMF de la manière suivante : 
+ Dans RCU 12.2.1.0 et version ultérieure, utilisez le paramètre de ligne de commande `-honorOMF`. 
+ Dans RCU 12.1.0.3 et plus tard, utilisez plusieurs étapes et modifier le script généré. Pour plus d’informations, consultez [Exécution de RCU dans la ligne de commande en plusieurs étapes](#Oracle.Resources.RCU.SilentMulti). 

### Privilèges d'objet
<a name="Oracle.Resources.RCU.KnownIssues.object-privs"></a>

Amazon RDS étant un service géré, vous n'avez pas un accès `SYSDBA` complet à votre instance de base de données RDS for Oracle. Cependant, RCU 12c prend en charge les utilisateurs avec des privilèges inférieurs. Dans la plupart des cas, le privilège de l'utilisateur principal est suffisant pour créer des référentiels. 

Le compte maître peut accorder directement les privilèges qui lui ont déjà été accordés par `WITH GRANT OPTION`. Dans certains cas, lorsque vous tentez d'accorder des privilèges d'objet `SYS`, le RCU peut échouer et renvoyer l'erreur `ORA-01031`. Vous pouvez réessayer et exécuter la procédure stockée `rdsadmin_util.grant_sys_object`, comme le montre l'exemple suivant :

```
BEGIN
  rdsadmin.rdsadmin_util.grant_sys_object('GV_$SESSION','MY_DBA','SELECT');
END;
/
```

Si vous tentez d'accorder des privilèges `SYS` sur l'objet `SCHEMA_VERSION_REGISTRY`, l'opération peut échouer et renvoyer l'erreur `ORA-20199: Error in rdsadmin_util.grant_sys_object`. Vous pouvez qualifier la table `SCHEMA_VERSION_REGISTRY$` et la vue `SCHEMA_VERSION_REGISTRY` avec le nom du propriétaire du schéma, qui est `SYSTEM`, puis réessayer l'opération. Ou bien, vous pouvez créer un synonyme. Connectez-vous en tant qu'utilisateur maître et exécutez les instructions suivantes :

```
CREATE OR REPLACE VIEW SYSTEM.SCHEMA_VERSION_REGISTRY 
  AS SELECT * FROM SYSTEM.SCHEMA_VERSION_REGISTRY$;
CREATE OR REPLACE PUBLIC SYNONYM SCHEMA_VERSION_REGISTRY FOR SYSTEM.SCHEMA_VERSION_REGISTRY;
CREATE OR REPLACE PUBLIC SYNONYM SCHEMA_VERSION_REGISTRY$ FOR SCHEMA_VERSION_REGISTRY;
```

### Service de planification d'entreprise
<a name="Oracle.Resources.RCU.KnownIssues.Scheduler"></a>

Lorsque vous utilisez le RCU pour transférer un référentiel de service de planificateur d'entreprise, le RCU peut échouer et renvoyer l'erreur `Error: Component drop check failed`.

# Configuration d'Oracle Connection Manager sur une instance Amazon EC2
<a name="oracle-cman"></a>

Oracle Connection Manager (CMAN) est un serveur proxy qui transfère les requêtes de connexion à des serveurs de base de données ou à d'autres serveurs proxy. Vous pouvez utiliser CMAN pour configurer les éléments suivants :

Contrôle d’accès  
Vous pouvez créer des règles qui filtrent les requêtes client spécifiées par l'utilisateur et en acceptent d'autres.

Multiplexage de session  
Vous pouvez acheminer plusieurs sessions client via une connexion réseau vers une destination de serveur partagé.

En règle générale, CMAN réside sur un hôte distinct du serveur de base de données et des hôtes clients. Pour de plus amples informations, veuillez consulter [Configuring Oracle Connection Manager](https://docs.oracle.com/en/database/oracle/oracle-database/19/netag/configuring-oracle-connection-manager.html#GUID-AF8A511E-9AE6-4F4D-8E58-F28BC53F64E4) dans la documentation Oracle Database.

**Topics**
+ [

## Versions prises en charge et options de licence pour CMAN
](#oracle-cman.Versions)
+ [

## Exigences et restrictions pour CMAN
](#oracle-cman.requirements)
+ [

## Configuration de CMAN
](#oracle-cman.configuring-cman)

## Versions prises en charge et options de licence pour CMAN
<a name="oracle-cman.Versions"></a>

CMAN prend en charge l'édition Enterprise de toutes les versions d'Oracle Database prises en charge par Amazon RDS. Pour de plus amples informations, veuillez consulter [Versions RDS for Oracle](Oracle.Concepts.database-versions.md).

Vous pouvez installer Oracle Connection Manager sur un hôte distinct de l'hôte sur lequel Oracle Database est installé. Vous n'avez pas besoin d'une licence distincte pour l'hôte qui exécute CMAN.

## Exigences et restrictions pour CMAN
<a name="oracle-cman.requirements"></a>

Pour offrir une expérience entièrement gérée, Amazon RDS restreint l'accès au système d'exploitation. Vous ne pouvez pas modifier les paramètres de base de données nécessitant un accès au système d'exploitation. Par conséquent, Amazon RDS ne prend pas en charge les fonctions de CMAN qui exigent que vous vous connectiez au système d'exploitation.

## Configuration de CMAN
<a name="oracle-cman.configuring-cman"></a>

Lorsque vous configurez CMAN, vous effectuez la majeure partie du travail en dehors de votre base de données RDS for Oracle.

**Topics**
+ [

### Étape 1 : configurer CMAN sur une instance Amazon EC2 dans le même VPC que l'instance RDS for Oracle
](#oracle-cman.configuring-cman.vpc)
+ [

### Étape 2 : configurer les paramètres de base de données pour CMAN
](#oracle-cman.configuring-cman.parameters)
+ [

### Étape 3 : associer le groupe de paramètres à l'instance de base de données
](#oracle-cman.configuring-cman.parameter-group)

### Étape 1 : configurer CMAN sur une instance Amazon EC2 dans le même VPC que l'instance RDS for Oracle
<a name="oracle-cman.configuring-cman.vpc"></a>

Pour savoir comment configurer CMAN, suivez les instructions détaillées dans l'article de blog [Configuring and using Oracle Connection Manager on Amazon EC2 for Amazon RDS for Oracle](https://aws.amazon.com/blogs/database/configuring-and-using-oracle-connection-manager-on-amazon-ec2-for-amazon-rds-for-oracle/).

### Étape 2 : configurer les paramètres de base de données pour CMAN
<a name="oracle-cman.configuring-cman.parameters"></a>

Pour les fonctions CMAN telles que le mode Traffic Director et le multiplexage de session, définissezle paramètre `REMOTE_LISTENER` à l'adresse de l'instance CMAN dans un groupe de paramètres de base de données. Réfléchissez au scénario suivant :
+ L'instance CMAN réside sur un hôte doté d'une adresse IP `10.0.159.100` et utilise le port `1521`.
+ Les bases de données `orcla`, `orclb` et `orclc` se trouvent sur des instances de bases de données RDS for Oracle.

Le tableau suivant montre la façon de définir la valeur `REMOTE_LISTENER`. La valeur `LOCAL_LISTENER` est automatiquement définie par Amazon RDS.


| Nom de l'instance de base de données | IP d'instance de base de données | Valeur de l'écouteur local (définie automatiquement) | Valeur de l'écouteur distant (définie par l'utilisateur) | 
| --- | --- | --- | --- | 
| orcla | 10.0.159.200 |  <pre>( address=<br />  (protocol=tcp)<br />  (host=10.0.159.200)<br />  (port=1521)<br />)</pre>  | 10.0.159.100:1521 | 
| orclb | 10.0.159.300 |  <pre>( address=<br />  (protocol=tcp)<br />  (host=10.0.159.300)<br />  (port=1521)<br />)</pre>  | 10.0.159.100:1521 | 
| orclc | 10.0.159.400 |  <pre>( address=<br />  (protocol=tcp)<br />  (host=10.0.159.400)<br />  (port=1521)<br />)</pre>  | 10.0.159.100:1521 | 

### Étape 3 : associer le groupe de paramètres à l'instance de base de données
<a name="oracle-cman.configuring-cman.parameter-group"></a>

Créez ou modifiez votre instance de base de données pour utiliser le groupe de paramètres que vous avez configuré dans [Étape 2 : configurer les paramètres de base de données pour CMAN](#oracle-cman.configuring-cman.parameters). Pour de plus amples informations, veuillez consulter [Association d’un groupe de paramètres de base de données à une instance de base de données dans Amazon RDS](USER_WorkingWithParamGroups.Associating.md).

# Installation d'une base de données Siebel sur Oracle sur Amazon RDS
<a name="Oracle.Resources.Siebel"></a>

Vous pouvez utiliser Amazon RDS pour héberger une base de données Siebel sur une instance de base de données Oracle. La base de données Siebel fait partie de l'architecture d'application Siebel Customer Relationship Management (CRM). Pour une illustration, consultez [ Architecture générique de Siebel Business Application](https://docs.oracle.com/cd/E63029_01/books/PerformTun/performtun_archinfra.htm#i1043361). 

Reportez-vous à la rubrique suivante pour configurer une base de données Siebel sur une instance de base de données Oracle sur Amazon RDS. Vous pouvez également trouver comment utiliser Amazon Web Services pour prendre en charge les autres composants requis par l'architecture d'application Siebel CRM. 

**Note**  
Pour installer une base de données Siebel sur Oracle sur Amazon RDS, vous devez utiliser le compte utilisateur principal. Vous n'avez pas besoin de privilège `SYSDBA` ; le privilège de l'utilisateur principal est suffisant. Pour plus d'informations, consultez [Privilèges du compte utilisateur principal](UsingWithRDS.MasterAccounts.md). 

## Licence et Versions
<a name="Oracle.Resources.Siebel.Versions"></a>

Pour installer une base de données Siebel sur Amazon RDS, vous devez utiliser votre propre licence d'Oracle Database et votre propre licence Siebel. Vous devez posséder la licence d'Oracle Database appropriée (avec la licence de mise à jour du logiciel et le support) pour la classe d'instance de base de données et l'édition d'Oracle Database que vous souhaitez exécuter. Pour plus d'informations, consultez [Options de licence RDS for Oracle](Oracle.Concepts.Licensing.md). 

Oracle Database Enterprise Edition est la seule édition certifiée par Siebel pour ce scénario. Amazon RDS prend en charge les versions 15.0 ou 16.0 de Siebel CRM.

Amazon RDS prend en charge les mises à niveau de la version de la base de données. Pour plus d'informations, consultez [Mise à niveau d'une version du moteur d'une instance de base de données](USER_UpgradeDBInstance.Upgrading.md). 

## Avant de commencer
<a name="Oracle.Resources.Siebel.BeforeYouBegin"></a>

Avant de commencer, vous avez besoin d'une instance Amazon VPC. Étant donné que votre instance de base de données Amazon RDS doit être disponible uniquement pour votre serveur d'entreprise Siebel et pas pour le réseau Internet public, votre instance de base de données Amazon RDS est hébergée dans un sous-réseau privé, fournissant une plus grande sécurité. Pour plus d'informations sur la création d'une instance Amazon VPC à utiliser avec Siebel CRM, consultez [Création et connexion à une instance de base de données Oracle](CHAP_GettingStarted.CreatingConnecting.Oracle.md). 

Avant de commencer, vous avez également besoin d'une instance de base de données Oracle. Pour plus d'informations sur la création d'une instance de base de données Oracle à utiliser avec Siebel CRM, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md). 

## Installation et configuration d'une base de données Siebel
<a name="Oracle.Resources.Siebel.Database.Siebel"></a>

Après avoir créé votre instance de base de données Oracle, vous pouvez installer votre base de données Siebel. Vous installez la base de données en créant des comptes de propriétaire et d'administrateur de table, en installant les fonctions et procédures stockées, puis en exécutant l'Assistant de configuration de base de données Siebel. Pour plus d'informations, consultez la page [Installation de la base de données Siebel sur le SGBDR](https://docs.oracle.com/cd/E63029_01/books/SiebInstWIN/SiebInstCOM_ConfigDB.html). 

Pour exécuter l'Assistant de configuration de base de données Siebel, vous devez utiliser le compte utilisateur principal. Vous n'avez pas besoin de privilège `SYSDBA` ; le privilège de l'utilisateur principal est suffisant. Pour plus d'informations, consultez [Privilèges du compte utilisateur principal](UsingWithRDS.MasterAccounts.md). 

## Utilisation d'autres fonctions Amazon RDS avec une base de données Siebel
<a name="Oracle.Resources.Siebel.Miscellaneous"></a>

Après avoir créé votre instance de base de données Oracle, vous pouvez utiliser d'autres fonctions Amazon RDS pour vous aider à personnaliser votre base de données Siebel.

### Collecte de statistiques avec l'Option Oracle Statspack
<a name="Oracle.Resources.Siebel.Options"></a>

Vous pouvez ajouter des fonctions à votre instance de base de données grâce à l'utilisation d'options dans les groupes d'options de base de données. Lorsque vous avez créé votre instance de base de données Oracle, vous avez utilisé le groupe d'options de base de données par défaut. Si vous souhaitez ajouter des fonctions à votre base de données, vous pouvez créer un nouveau groupe d'options pour votre instance de base de données. 

Si vous souhaitez collecter des statistiques de performances sur votre base de données Siebel, vous pouvez ajouter la fonction Oracle Statspack. Pour plus d'informations, consultez [Oracle Statspack](Appendix.Oracle.Options.Statspack.md). 

Certaines modifications des options sont appliquées immédiatement, et certaines modifications des options sont appliquées pendant le créneau de maintenance suivant pour l'instance de base de données. Pour plus d'informations, consultez [Utilisation de groupes d’options](USER_WorkingWithOptionGroups.md). Une fois que vous créez un groupe d'options personnalisé, modifiez votre instance de base de données pour l'attacher. Pour plus d'informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

### Réglage des performances avec les paramètres
<a name="Oracle.Resources.Siebel.Parameters"></a>

Vous gérez la configuration de votre moteur de base de données à l'aide de paramètres dans un groupe de paramètres de base de données. Lorsque vous avez créé votre instance de base de données Oracle, vous avez utilisé le groupe de paramètres de base de données par défaut. Si vous souhaitez personnaliser votre configuration de base de données, vous pouvez créer un nouveau groupe de paramètres pour votre instance de base de données. 

Lorsque vous modifiez un paramètre, en fonction du type du paramètre, les modifications sont appliquées immédiatement ou après le redémarrage manuel de l'instance de base de données. Pour plus d'informations, consultez [Groupes de paramètres pour Amazon RDS](USER_WorkingWithParamGroups.md). Une fois que vous créez un groupe de paramètres personnalisé, modifiez votre instance de base de données pour l'attacher. Pour plus d'informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md). 

Afin d'optimiser votre instance de base de données Oracle pour Siebel CRM, vous pouvez personnaliser certains paramètres. Le tableau suivant illustre certains des paramètres recommandés. Pour plus d'informations sur le réglage des performances de Siebel CRM, consultez [Guide de réglage des performances de Siebel CRM](https://docs.oracle.com/cd/E63029_01/books/PerformTun/toc.htm). 


****  

| Nom du paramètre | Valeur par défaut | Recommandations pour obtenir des performances optimales avec Siebel CRM | 
| --- | --- | --- | 
| \$1always\$1semi\$1join | `CHOOSE` | `OFF`  | 
| \$1b\$1tree\$1bitmap\$1plans | `TRUE` | `FALSE`  | 
| \$1like\$1with\$1bind\$1as\$1equality | `FALSE` | `TRUE`  | 
| \$1no\$1or\$1expansion | `FALSE` | `FALSE`  | 
| \$1optimizer\$1join\$1sel\$1sanity\$1check | `TRUE` | `TRUE`  | 
| \$1optimizer\$1max\$1permutations | 2000 | 100  | 
| \$1optimizer\$1sortmerge\$1join\$1enabled | `TRUE` | `FALSE`  | 
| \$1partition\$1view\$1enabled | `TRUE` | `FALSE`  | 
| open\$1cursors | `300` | Au moin **2000**.  | 

### Création d'instantanés
<a name="Oracle.Resources.Siebel.Snapshots"></a>

Une fois que vous créez votre base de données Siebel, vous pouvez copier la base de données en utilisant les fonctions de l'instantané de Amazon RDS. Pour de plus amples informations, veuillez consulter [Création d’un instantané de base de données pour une instance de base de données mono-AZ pour Amazon RDS](USER_CreateSnapshot.md) et [Restauration d’une instance de base de données](USER_RestoreFromSnapshot.md). 

## Prise en charge d'autres composants Siebel CRM
<a name="Oracle.Resources.Siebel.OtherComponents"></a>

En plus de votre base de données Siebel, vous pouvez également utiliser Amazon Web Services pour prendre en charge les autres composants de votre architecture d'application Siebel CRM. Vous trouverez plus d'informations sur la prise en charge fournie par Amazon AWS pour les composants Siebel CRM supplémentaires dans le tableau suivant. 


****  

| Composant Siebel CRM | Amazon AWS Support | 
| --- | --- | 
| Siebel Enterprise(avec un ou plusieurs serveurs Siebel) |  Vous pouvez héberger vos serveurs Siebel sur les instances Amazon Elastic Compute Cloud (Amazon EC2). Vous pouvez utiliser Amazon EC2 pour lancer autant de serveurs virtuels que vous avez besoin. A l'aide de Amazon EC2, vous pouvez effectuer facilement des mises à l'échelle ascendantes et descendantes pour gérer les modifications apportées aux conditions. Pour de plus amples informations, veuillez consulter [ Qu'est-ce qu'Amazon EC2 ?](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html)  Vous pouvez mettre vos serveurs dans le même VPC avec votre instance de base de données et utiliser le groupe de sécurité VPC pour accéder à la base de données. Pour plus d'informations, consultez [Utilisation d’une instance de base de données dans un VPC](USER_VPC.WorkingWithRDSInstanceinaVPC.md).   | 
| Serveurs Web(avec les extensions de serveur Web Siebel) |  Vous pouvez installer plusieurs serveurs Web sur plusieurs instances EC2. Vous pouvez ensuite utiliser Elastic Load Balancing pour répartir le trafic entrant entre les instances. Pour de plus amples informations, veuillez consulter la documentation relative à la [présentation d'Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/elastic-load-balancing.html).   | 
| Nom du serveur Siebel Gateway |  Vous pouvez héberger votre serveur de nom Siebel Gateway sur une instance EC2. Vous pouvez ensuite mettre votre serveur dans le même VPC avec l'instance de base de données et utiliser le groupe de sécurité VPC pour accéder à la base de données. Pour plus d'informations, consultez [Utilisation d’une instance de base de données dans un VPC](USER_VPC.WorkingWithRDSInstanceinaVPC.md).   | 

# Notes de mise à jour pour le moteur de base de données Oracle
<a name="USER_Oracle_Releases"></a>

Des mises à jour apportées à vos instances de bases de données Amazon RDS for Oracle assurent que les instances restent à jour. Si vous appliquez des mises à jour, vous avez la garantie que votre instance de base de données exécute une version du logiciel de base de données testée par Oracle et par Amazon. Nous ne prenons pas en charge l'application de correctifs ponctuels aux instances de base de données RDS for Oracle individuelles.

Vous pouvez spécifier toute version de base de données Oracle actuellement prise en charge lorsque vous créez une nouvelle instance de base de données. Vous pouvez spécifier la version majeure, comme Oracle Database 19c, puis toute version mineure prise en charge pour la version majeure spécifiée. Si aucune version n'est spécifiée, Amazon RDS utilise par défaut une version prise en charge, généralement la plus récente. Si une version majeure est spécifiée, mais qu'une version mineure ne l'est pas, Amazon RDS utilise par défaut une version récente de la version majeure que vous avez spécifiée. Pour afficher la liste des versions prises en charge et des versions par défaut pour des instances de base de données nouvellement créées, utilisez la commande [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html) de l'AWS CLI.

Pour obtenir plus de détails sur les versions d'Oracle Database prises en charge par Amazon RDS, consultez les [https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/Welcome.html](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/Welcome.html) (Notes de mise à jour d'Amazon RDS for Oracle).