Oracle Java in Autonomous Database verwenden

Autonomous Database unterstützt Oracle JVM. Oracle JVM ist eine standardmäßige, Java-kompatible Umgebung, in der jede reine Java-Anwendung ausgeführt wird.

Oracle JVM ist mit den Standard-JLS- und JVM-Spezifikationen kompatibel. Es unterstützt das standardmäßige Java-Binärformat und die standardmäßigen Java-APIs. Darüber hinaus hält sich Oracle Database an die standardmäßige Java-Sprachsemantik, einschließlich des dynamischen Ladens von Klassen zur Laufzeit.

Informationen zu Oracle Java finden Sie unter Java in Oracle Database verwenden.

Oracle Java aktivieren

Verwenden Sie DBMS_CLOUD_ADMIN.ENABLE_FEATURE, um Oracle Java auf Autonomous Database zu aktivieren.

  1. Führen Sie DBMS_CLOUD_ADMIN.ENABLE_FEATURE aus.
    BEGIN
       DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
           feature_name => 'JAVAVM' );
    END;
    /

    Dadurch wird die Anforderung zur Installation von Oracle Java auf der Autonomous Database-Instanz initiiert.

    Weitere Informationen finden Sie unter Prozedur ENABLE_FEATURE.

  2. Starten Sie die Autonomous Database-Instanz neu.

    Weitere Informationen finden Sie unter Autonomous Database neu starten.

Nachdem Sie die Autonomous Database-Instanz neu gestartet haben, wird die Java-Installation einige Zeit nach dem Start der Datenbank fortgesetzt. Prüfen Sie unter Oracle Java-Version prüfen, ob Oracle JVM aktiviert ist und die Installation abgeschlossen ist.

Oracle Java-Version prüfen

Informationen zu Oracle Java in der Autonomous Database-Instanz finden Sie in der Oracle Java-Version und in der Komponenten-Registry.

  1. Prüfen Sie Status und Version der Komponenten-Registry für Oracle Java.
    SELECT status, version FROM DBA_REGISTRY
       WHERE comp_id = 'JAVAVM';
    
    STATUS VERSION
    ------ ---------- 
    VALID  19.0.0.0.0 

    Wenn Oracle Java nicht installiert ist, zeigt diese Abfrage keine Zeilen an.

    Wenn Oracle Java diese Abfrage lädt, wird der Status LOADING angezeigt. Beispiel:

    STATUS  VERSION 
    ------- ------- 
    LOADING null    
  2. Prüfen Sie die Oracle Java JDK-Version.
    SELECT dbms_java.get_jdk_version FROM DUAL;
    
    GET_JDK_VERSION 
    --------------- 
    1.8.0_411       

    Wenn Oracle Java nicht installiert ist, wird in dieser Abfrage eine Fehlermeldung angezeigt.

Java-Klassen und JAR-Dateien in Autonomous Database laden

Mit der clientseitigen Option loadjava können Sie Java-Klassen und JAR-Dateien in eine Oracle JVM in einer Autonomous Database-Instanz laden.

Die clientseitige Option loadjava wird wie folgt unterstützt:

  1. Das JDK öffnet die JAR-Datei.
  2. Auf der Clientseite wird ein Kommunikationskanal mit Autonomous Database geöffnet.
  3. Der Java-Code wird zum Laden an die Oracle JVM weitergeleitet, die auf der Autonomous Database ausgeführt wird.

Dieser Prozess ähnelt dem Erstellen einer dynamischen gespeicherten Java-Prozedur aus SQL-Code, bei der kein Dateizugriff, aber der Code erstellt wird.

Beachten Sie Folgendes:

  • Der von Ihnen geladene Java-Code kann keine Betriebssystem- oder Netzwerkaufrufe aufrufen.

  • Die Verwendung der serverseitigen loadjava, d.h. Aufrufe der Prozedur dbms_java.loadjava werden nicht unterstützt. Die Prozedur dbms_java.loadjava greift auf das Dateisystem des Datenbankservers zu, auf dem die Oracle JVM ausgeführt wird. Dies ist in Autonomous Database nicht zulässig, und Aufrufe der Prozedur dbms_java.loadjava aus Ihrer Java-Anwendung werden nicht unterstützt.

Hinweise zu Oracle Java auf Autonomous Database

Enthält Hinweise zur Verwendung von Oracle Java in Autonomous Database.

  • Sie können Oracle Java nicht deaktivieren, nachdem es in der Autonomous Database-Instanz aktiviert wurde.

  • Autonomous Database führt das Oracle Java-Patching nach Bedarf während des regulären Wartungsfensters von Autonomous Database durch.

    Während des Oracle Java-Patching ist Java nicht verfügbar, und Benutzer können einen Fehler ähnlich dem Folgenden erhalten:

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

    Wenn während des Wartungsfensters die Java-Patching-Phase aktiv ist, gibt es keine Antwort für Java-Sessionaufrufe, oder der Fehler ORA-29548 wird angezeigt. Nach Abschluss des Wartungsfensters wird die Java-Nutzung wiederhergestellt.

    Sie können die Ereignisse NewMaintenanceSchedule und ScheduledMaintenanceWarning verwenden, um über das Oracle Java-Patching benachrichtigt zu werden. Weitere Informationen finden Sie unter Informationsereignisse in Autonomous Database.

    Weitere Informationen finden Sie unter Informationen zur geplanten Wartung und zum Patching.