Utilisation d'Oracle Java sur Autonomous Database

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

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

Reportez-vous à A propos de l'utilisation de Java dans Oracle Database pour plus d'informations sur Oracle Java.

Activer 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 opération lance la demande d'installation d'Oracle Java sur l'instance Autonomous Database.

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

  2. Redémarrez l'instance Autonomous Database.

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

Après le redémarrage de l'instance Autonomous Database, l'installation de 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 d'Oracle Java pour vérifier que la JVM Oracle est activée et que l'installation est terminée.

Vérifier la version d'Oracle Java

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

  1. Vérifiez 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. Par exemple :

    STATUS  VERSION 
    ------- ------- 
    LOADING null    
  2. Vérifiez la version d'Oracle Java JDK.
    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 du code SQL, où aucun accès aux fichiers n'est impliqué, mais où le code est créé.

Prenez note des points suivants :

  • Le code Java que vous chargez ne peut pas appeler de système d'exploitation ou d'appels 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 permet d'accéder 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 notes sur l'utilisation d'Oracle Java sur Autonomous Database.

  • Vous ne pouvez pas désactiver Oracle Java après l'avoir activé sur l'instance Autonomous Database.

  • Autonomous Database effectue l'application de patches Oracle Java, selon les besoins, 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'y a pas de 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 à Oracle Java. Pour plus d'informations, reportez-vous à Evénements d'informations sur Autonomous Database.

    Pour plus d'informations, reportez-vous à A propos de la maintenance programmée et de l'application de patches.