Utiliser Oracle Java sur une base de données d'IA autonome

Autonomous AI 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 AI Database.

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

    Cela lance la demande d'installation d'Oracle Java sur l'instance de base de données Autonomous AI.

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

  2. Redémarrez l'instance de base de données Autonomous AI.

    Pour plus d'informations, reportez-vous à Redémarrage d'une base de données Autonomous AI.

Après le redémarrage de l'instance de base de données Autonomous AI, 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 obtenir des informations sur Oracle Java dans l'instance de base de données Autonomous AI.

  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.

Charger des classes Java et des fichiers JAR dans une base de données Autonomous AI

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

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 la base de données Autonomous AI.
  3. Le code Java est soumis à la JVM Oracle exécutée sur la base de données d'IA autonome 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. Ceci n'est pas autorisé sur la base de données Autonomous AI et les appels à la procédure dbms_java.loadjava à partir de votre application Java ne sont pas pris en charge.

Notes pour Oracle Java sur Autonomous AI Database

Fournit des notes sur l'utilisation d'Oracle Java sur Autonomous AI Database.

  • Vous ne pouvez pas désactiver Oracle Java après l'avoir activé sur l'instance de base de données Autonomous AI.

  • Autonomous AI Database effectue l'application de patches Oracle Java, selon les besoins, pendant la fenêtre de maintenance standard de la base de données Autonomous AI.

    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'information sur Autonomous AI Database.

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