Utilisation d'Oracle Java sur Autonomous Database

Autonomous Database prend en charge Oracle JVM. Oracle JVM est un environnement standard compatible Java qui exécute les applications Java pures.

Oracle JVM est compatible avec les spécifications JLS et JVM standard. Il prend en charge le format binaire Java standard et les API Java standard. De plus, Oracle Database respecte la sémantique standard du langage Java, y compris le chargement de classe dynamique lors de l'exécution.

Pour plus d'informations sur Oracle Java, reportez-vous à A propos de l'utilisation de Java dans Oracle Database.

Activation d'Oracle Java

Utilisez DBMS_CLOUD_ADMIN.ENABLE_FEATURE pour activer Oracle Java sur Autonomous Database.

  1. Exécutez DBMS_CLOUD_ADMIN.ENABLE_FEATURE.
    BEGIN
       DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
           feature_name => 'JAVAVM' );
    END;
    /

    Cette commande lance la demande d'installation d'Oracle Java sur l'instance Autonomous Database.

    Pour plus d'informations, reportez-vous à ENABLE_FEATURE Procédure.

  2. Redémarrez l'instance Autonomous Database.

    Pour plus d'informations, reportez-vous à Redémarrage d'une instance Autonomous Database.

Après le redémarrage de l'instance Autonomous Database, l'installation Java se poursuit pendant un certain temps après le démarrage de la base de données. Reportez-vous à Vérification de la version Java d'Oracle pour vérifier que la JVM Oracle est activée et que l'installation est terminée.

Vérification de la version d'Oracle Java

Vous pouvez consulter la version d'Oracle Java et le registre de composants pour obtenir des informations sur Oracle Java dans l'instance Autonomous Database.

  1. Consultez le statut et la version du registre de composants pour Oracle Java.
    SELECT status, version FROM DBA_REGISTRY
       WHERE comp_id = 'JAVAVM';
    
    STATUS VERSION
    ------ ---------- 
    VALID  19.0.0.0.0 

    Si Oracle Java n'est pas installé, cette requête n'affiche aucune ligne.

    Si Oracle Java charge cette requête, le statut est LOADING. Exemple :

    STATUS  VERSION 
    ------- ------- 
    LOADING null    
  2. Vérifiez la version JDK d'Oracle Java.
    SELECT dbms_java.get_jdk_version FROM DUAL;
    
    GET_JDK_VERSION 
    --------------- 
    1.8.0_411       

    Si Oracle Java n'est pas installé, cette requête affiche un message d'erreur.

Chargement de classes Java et de fichiers JAR dans Autonomous Database

Vous pouvez utiliser l'option loadjava côté client pour charger des classes Java et des fichiers JAR dans une JVM Oracle sur une instance Autonomous Database.

L'option loadjava côté client est prise en charge comme suit :

  1. Le kit JDK ouvre le fichier JAR.
  2. Le côté client ouvre un canal de communication avec Autonomous Database.
  3. Le code Java est soumis à la JVM Oracle exécutée sur l'instance Autonomous Database pour le chargement.

Ce processus est similaire à la création d'une procédure stockée Java dynamique à partir de code SQL, où aucun accès aux fichiers n'est impliqué, mais le code est créé.

Remarque :

  • Le code Java que vous chargez ne peut appeler aucun système d'exploitation ou appel réseau.

  • L'utilisation de loadjava côté serveur, c'est-à-dire les appels à la procédure dbms_java.loadjava, n'est pas prise en charge. La procédure dbms_java.loadjava accède au système de fichiers du serveur de base de données sur lequel la JVM Oracle est exécutée. Cette opération n'est pas autorisée sur Autonomous Database et les appels à la procédure dbms_java.loadjava à partir de votre application Java ne sont pas pris en charge.

Remarques relatives à Oracle Java sur Autonomous Database

Fournit des remarques sur l'utilisation d'Oracle Java on Autonomous Database.

  • Vous ne pouvez pas désactiver Oracle Java une fois qu'il est activé sur l'instance Autonomous Database.

  • Autonomous Database applique les patches Oracle Java, si nécessaire, pendant la fenêtre de maintenance Autonomous Database standard.

    Lors de l'application de patches Oracle Java, Java n'est pas disponible et les utilisateurs peuvent obtenir une erreur semblable à la suivante :

    ERROR at line 1:
    ORA-29548: Java system class reported: release of Java system classes in the
    database (19.0.0.0.220118 1.8) does not match that of the oracle executable
    (19.0.0.0.220419 1.8).

    Pendant la fenêtre de maintenance, lorsque la phase d'application de patches Java est active, il n'existe aucune réponse pour les appels de session Java ou l'erreur ORA-29548 apparaît. Une fois la fenêtre de maintenance terminée, l'utilisation de Java est restaurée.

    Vous pouvez utiliser les événements NewMaintenanceSchedule et ScheduledMaintenanceWarning pour être informé de l'application de patches Java Oracle. Pour plus d'informations, reportez-vous à événements d'information sur Autonomous Database.

    Pour plus d'informations sur la maintenance programmée et l'application de patches.