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