Utilizzare Oracle Java su Autonomous Database

Autonomous Database supporta la JVM Oracle. Oracle JVM è un ambiente standard compatibile con Java che esegue qualsiasi applicazione Java pura.

Oracle JVM è compatibile con le specifiche JLS standard e JVM. Supporta il formato binario Java standard e le API Java standard. Inoltre, Oracle Database aderisce alla semantica standard del linguaggio Java, incluso il caricamento dinamico delle classi in fase di esecuzione.

Per informazioni su Oracle Java, vedere Informazioni sull'uso di Java in Oracle Database.

Abilita Oracle Java

Utilizzare DBMS_CLOUD_ADMIN.ENABLE_FEATURE per abilitare Oracle Java su Autonomous Database.

  1. Eseguire DBMS_CLOUD_ADMIN.ENABLE_FEATURE.
    BEGIN
       DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
           feature_name => 'JAVAVM' );
    END;
    /

    Questa operazione avvia la richiesta di installare Oracle Java nell'istanza di Autonomous Database.

    Per ulteriori informazioni, vedere ENABLE_FEATURE Procedura.

  2. Avviare l'istanza di Autonomous Database.

    Per ulteriori informazioni, vedere Riavvia Autonomous Database.

Dopo aver riavviato l'istanza di Autonomous Database, l'installazione di Java prosegue per un certo periodo di tempo dopo l'avvio del database. Vedere Verificare la versione Oracle Java per verificare che la JVM Oracle sia abilitata e che l'installazione sia stata completata.

Controllare la versione Oracle Java

È possibile controllare la versione Oracle Java e il registro dei componenti per informazioni su Oracle Java nell'istanza di Autonomous Database.

  1. Controllare lo stato e la versione del registro dei componenti per Oracle Java.
    SELECT status, version FROM DBA_REGISTRY
       WHERE comp_id = 'JAVAVM';
    
    STATUS VERSION
    ------ ---------- 
    VALID  19.0.0.0.0 

    Se Oracle Java non è installato, questa query non mostra righe.

    Se Oracle Java sta caricando questa query, viene visualizzato lo stato LOADING. Ad esempio:

    STATUS  VERSION 
    ------- ------- 
    LOADING null    
  2. Controllare la versione del JDK Oracle Java.
    SELECT dbms_java.get_jdk_version FROM DUAL;
    
    GET_JDK_VERSION 
    --------------- 
    1.8.0_411       

    Se Oracle Java non è installato, questa query visualizza un messaggio di errore.

Carica le classi Java e i file JAR in Autonomous Database

È possibile utilizzare l'opzione loadjava lato client per caricare le classi Java e i file JAR in Oracle JVM in un'istanza di Autonomous Database.

L'opzione loadjava lato client è supportata come indicato di seguito.

  1. Il JDK apre il file JAR.
  2. Il lato client apre un canale di comunicazione con Autonomous Database.
  3. Il codice Java viene sottomesso alla JVM Oracle in esecuzione in Autonomous Database per il caricamento.

Questo processo è simile alla creazione di una stored procedure Java dinamica dal codice SQL, in cui non è previsto l'accesso ai file, ma viene creato il codice.

Tenere presente quanto riportato di seguito.

  • Il codice Java caricato non può richiamare alcuna chiamata di sistema operativo o di rete.

  • L'uso di loadjava lato server, ovvero le chiamate alla procedura dbms_java.loadjava, non è supportato. La procedura dbms_java.loadjava consente di accedere al file system del database server in cui viene eseguita la JVM Oracle. Questa operazione non è consentita su Autonomous Database e le chiamate alla procedura dbms_java.loadjava dall'interno dell'applicazione Java non sono supportate.

Note per Oracle Java su Autonomous Database

Fornisce note per l'uso di Oracle Java su Autonomous Database.

  • Non è possibile disabilitare Oracle Java dopo che è stato abilitato nell'istanza di Autonomous Database.

  • Autonomous Database esegue l'applicazione delle patch Oracle Java, se necessario, durante la normale finestra di manutenzione di Autonomous Database.

    Durante l'applicazione delle patch Oracle Java, Java non è disponibile e gli utenti potrebbero riscontrare un errore simile al seguente:

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

    Durante la finestra di manutenzione, quando la fase di applicazione delle patch Java è attiva, non viene fornita alcuna risposta per le chiamate di sessione Java o viene visualizzato l'errore ORA-29548. Al termine della finestra di manutenzione, viene ripristinato l'uso di Java.

    È possibile utilizzare gli eventi NewMaintenanceSchedule e ScheduledMaintenanceWarning per ricevere una notifica dell'applicazione delle patch Oracle Java. Per ulteriori informazioni, consulta gli eventi di informazioni su Autonomous Database.

    Per ulteriori informazioni, vedere Informazioni sulla manutenzione e l'applicazione di patch pianificate.