Autonomous DatabaseでのOracle 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を有効にします。 - Oracle Javaバージョンの確認
Autonomous DatabaseインスタンスのOracle Javaの詳細は、Oracle Javaバージョンおよびコンポーネント・レジストリを確認できます。 - Autonomous DatabaseへのJavaクラスおよびJARファイルのロード
クライアント側のloadjava
オプションを使用して、JavaクラスおよびJARファイルをAutonomous Databaseインスタンス上のOracle JVMにロードできます。 - Autonomous DatabaseでのOracle Javaのノート
Autonomous DatabaseでOracle Javaを使用するためのノートを提供します。
親トピック: 開発
Oracle Javaの有効化
DBMS_CLOUD_ADMIN.ENABLE_FEATURE
を使用して、Autonomous DatabaseでOracle Javaを有効にします。
Autonomous Databaseインスタンスを再起動すると、データベースの起動後しばらくの間、Javaのインストールが続行されます。「Oracle Javaバージョンの確認」を参照して、Oracle JVMが有効になっており、インストールが完了していることを確認します。
Oracle Javaバージョンの確認
Autonomous DatabaseインスタンスのOracle Javaの詳細は、Oracle Javaのバージョンおよびコンポーネント・レジストリを確認できます。
JavaクラスおよびJARファイルのAutonomous Databaseへのロード
クライアント側のloadjava
オプションを使用して、JavaクラスおよびJARファイルをAutonomous Databaseインスタンス上のOracle JVMにロードできます。
クライアント側の loadjava
オプションは次のようにサポートされます。
- JDKによってJARファイルが開きます。
- クライアント側は、Autonomous Databaseとの通信チャネルを開きます。
- 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を使用するためのノートを提供します。
-
Oracle Javaは、Autonomous Databaseインスタンスで有効にした後は無効にできません。
-
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の情報イベント」を参照してください。詳細は、「スケジュール済メンテナンスとパッチ適用について」を参照してください。