原典情報: <ORACLE_HOME>/relnotes/readmes/README_javavm.txt
目次
Javaデバッガ・バックエンドでの一部の問題が修正され、Javaデバッガ・バックエンドはより堅牢になりました。
オブジェクトおよびオブジェクト参照を格納するための、汎用ディレクトリ・サービス。格納されているすべてのオブジェクトは、java.io.Serializableインタフェースを実装する必要があります。
このリリースでのJDK 6とJDK 7の互換性は、OracleのJava Compatibility Kits 6および7を使用して詳細なテストが完了しています。オラクル社は、Oracle JVMがJavaおよびその他のインターネット標準に対応するよう努めています。
『Oracle Java開発者ガイド』(Oracle JVM製品のドキュメント)はオンラインで利用できます。
Oracle JVMに慣れていない場合は、まずドキュメントの指示に従って製品を正しくインストール、構成することが重要です。始めるにあたって、ドキュメントに記載されている例に従うことをお薦めします。ORACLE_HOME/javavm/demoにあるデモと例には、HelloWorldの例が含まれています。
HelloWorldと他の例を実行すると、インストールが正常に完了していることと、Oracle JVMがデータベースで正常に有効化されていることを確認できます。
Javaアプリケーションの開発とデプロイメントに使用されるメモリー・リソースには、様々なものがあります。デプロイメント時間および実行時の操作が正しいことを確認するには、メモリー・パラメータを構成して要件を満たす方法について理解しておく必要があります。製品のドキュメントには、Javaのメモリー使用量について詳細な説明があります。
トラブルシューティングのヒント
通常、エラーはトレース・ファイルでレポートされます。問題を明確にする第1歩として、トレース・ファイルを調べてください。
Javaストアド・プロシージャ
コール仕様部の定義と実際のJavaメソッドの不一致は、実行時にのみ検出されます。
package.procedureのDESCRIBEは、メソッドがPL/SQL実装ではなくJavaを含む場合に、「オブジェクトが存在しない」ことを示します。パッケージのDESCRIBEでは、PL/SQLプロシージャのみがリストされ、Javaストアド・プロシージャは除外されます。
LoadjavaとDropjava
推奨されるワークフローは、まずクライアント側のコンパイラでJavaのソースをコンパイルしてから、結果のクラス・バイナリをデータベースにロードすることです。このワークフローによって、全体的なコンパイルとロードの時間が節約できます。 クライアント側のJavaコンパイラはOracle JVMと互換性のあるJava SEレベルである必要があります。また、Javaソースをデータベースにロードして、Oracle JVMでコンパイルすることもできます。
ソース(.java)とバイナリ(.class)を1つのjarファイルにロードすることは、サポートされません。同じクラスのソース・ファイルとバイナリ・ファイルを、同じjarファイルでロードすることはできません。
最初にロードするときと同じようにして、Javaスキーマ・オブジェクトを削除する必要があります。たとえば、Jarオブジェクトから個々のクラスを削除することはできません。-jarsasresourceコマンド・オプションを使用して、Jar全体を削除する必要があります。
大きいJarファイルのロードで問題があるときは、SHARED_POOL_SIZEパラメータの値を大きくすることを検討してください。Javaスキーマ・オブジェクトの作成には、共有プール・メモリーが使用されます。
クラスが正しくロードおよび解決されていない恐れがある場合は、クラスをロードして実行したユーザーとして接続することにより、ロードされたクラスの状態を調べることができます。
SELECT * FROM user_objects; SELECT * FROM user_errors;
正常にロードされて解決されたクラスの場合は、user_objectsビューでステータスがVALIDと表示されます。
runjava
runjavaは、アプリケーション開発およびプロトタイピングのワークフローで使用するために設計されています。デプロイメントでの使用には非効率的です。
データベースでのクライアント側JDBC-OCIドライバの使用はサポートされておらず、runjavaで使用すると失敗します。JDBC-THINドライバを使用するために、権限の付与が必要になることもあります。詳細は、Oracle JDBCおよびJava開発者ガイドを参照してください。