

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.

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