機械翻訳について

Autonomous DatabaseでのOracle Javaの使用

Autonomous DatabaseはOracle JVMをサポートしています。 Oracle JVMは、純粋なJavaアプリケーションを実行する標準のJava互換環境です。

Oracle JVMは、標準のJLSおよびJVM仕様と互換性があります。 標準のJavaバイナリ形式および標準のJava APIをサポートします。 また、Oracle Databaseは、実行時の動的クラス・ロードなど、標準のJava言語のセマンティクスに準拠しています。

Oracle Javaの詳細は、「Oracle DatabaseでのJavaの使用について」を参照してください。

Oracle Javaの有効化

DBMS_CLOUD_ADMIN.ENABLE_FEATUREを使用して、Autonomous DatabaseでOracle Javaを有効にします。

  1. DBMS_CLOUD_ADMIN.ENABLE_FEATUREを実行します。
    BEGIN
       DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
           feature_name => 'JAVAVM' );
    END;
    /

    これにより、Autonomous DatabaseインスタンスにOracle Javaをインストールするリクエストが開始されます。

    詳細については、「ENABLE_FEATUREプロシージャ」を参照してください。

  2. Autonomous Databaseインスタンスを再起動します。

    詳細については、「Autonomous Databaseの再起動」を参照してください。

Autonomous Databaseインスタンスを再起動すると、データベースの起動後しばらくJavaインストールが続行されます。 「Oracle Javaバージョンの確認」を参照して、Oracle JVMが有効で、インストールが完了していることを確認します。

Oracle Javaバージョンの確認

Autonomous DatabaseインスタンスのOracle Javaに関する情報については、Oracle Javaバージョンおよびコンポーネント・レジストリを確認できます。

  1. Oracle Javaのコンポーネント・レジストリのステータスおよびバージョンを確認してください。
    SELECT status, version FROM DBA_REGISTRY
       WHERE comp_id = 'JAVAVM';
    
    STATUS VERSION
    ------ ---------- 
    VALID  19.0.0.0.0 

    Oracle Javaがインストールされていない場合、この問合せでは行が表示されません。

    Oracle Javaがロードされている場合、この問合せにはステータスLOADINGが表示されます。 たとえば:

    STATUS  VERSION 
    ------- ------- 
    LOADING null    
  2. Oracle Java JDKのバージョンを確認します。
    SELECT dbms_java.get_jdk_version FROM DUAL;
    
    GET_JDK_VERSION 
    --------------- 
    1.8.0_411       

    Oracle Javaがインストールされていない場合、この問合せにはエラー・メッセージが表示されます。

JavaクラスおよびJARファイルのAutonomous Databaseへのロード

クライアント側のloadjavaオプションを使用して、JavaクラスおよびJARファイルをAutonomous DatabaseインスタンスのOracle JVMにロードできます。

クライアント側のloadjavaオプションは次のようにサポートされています:

  1. JDKによってJARファイルが開きます。
  2. クライアント側は、Autonomous Databaseを使用して通信チャネルを開きます。
  3. Javaコードは、ロードのためにAutonomous Databaseで実行されているOracle JVMに送信されます。

このプロセスは、SQLコードからの動的Javaストアド・プロシージャの作成に似ていますが、ファイル・アクセスは不要ですが、コードが作成されます。

次の点に注意してください。

  • ロードするJavaコードは、オペレーティング・システムまたはネットワーク・コールを起動できません。

  • プロシージャdbms_java.loadjavaのコールであるサーバー側のloadjavaの使用はサポートされていません。 プロシージャdbms_java.loadjavaは、Oracle JVMが実行されているデータベース・サーバーのファイル・システムにアクセスします。 これはAutonomous Databaseでは許可されず、Javaアプリケーション内からのプロシージャdbms_java.loadjavaへのコールはサポートされていません。

Autonomous Database上のOracle Javaに関するノート

Autonomous DatabaseでOracle Javaを使用するためのノートを提供します。

  • Autonomous DatabaseインスタンスでOracle Javaを有効にした後は、無効にできません。

  • Autonomous Databaseは、通常のAutonomous Databaseメンテナンス・ウィンドウで、必要に応じてOracle Javaパッチ適用を実行します。

    Oracle Javaパッチ適用中は、Javaを使用できず、次のようなエラーが発生する可能性があります:

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

    メンテナンス・ウィンドウ中に、Javaパッチ適用フェーズがアクティブな場合、Javaセッション・コールに対するレスポンスがないか、ORA-29548エラーが表示されます。 メンテナンス・ウィンドウが完了すると、Javaの使用がリストアされます。

    イベントNewMaintenanceScheduleおよびScheduledMaintenanceWarningを使用して、Oracle Javaのパッチ適用を通知できます。 詳細については、「Autonomous Databaseの情報イベント」を参照してください。

    詳細については、「スケジュールされたメンテナンスおよびパッチ適用について」を参照してください。