

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.

# 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.