組み込みOracle JVMは、SQLおよびPL/SQLと同じメモリ空間にある(専用サーバーまたは共有サーバー内の)ユーザーセッションでJavaコードを実行します。これらのJavaモジュールは、PL/SQLモジュールと同様に、任意のデータベース・クライアントによって呼び出すことができます。
クラウド | Oracle JVMは、非マネージド型のDatabase Cloud Service(DBCS、OCI上のデータベースサービスなど)で使用できます。 |
Java標準 | Java 8専用(Java 7パブリック・アップデートは2015年4月に終了) |
ダウンタイムがゼロ | RAC環境でのパッチ適用時:古いリリースの条件付きローリングパッチについては、MOS Note 2217053.1を参照してください。 |
Webサービスコールアウト | (SOAPおよびREST):データベースWebサービスを参照 |
パフォーマンス | JIT、メモリマネージャ(インフラストラクチャの継続的な強化) |
デバッガ | Java Debug Wire Protocol(JDWP)との統合 |
長い識別子 | SQL識別子の最大長が128バイトになりました。 |
ネットワーク・トラフィックを発生させずに(つまり、データ転送なしで)大規模なデータセットのインプレース処理(バッチ処理、LOB、JSON、XML)を行うことができます。次にいくつかのユースケースを示します。
インプレースデータ処理用のマイクロサービスまたはストアドプロシージャ/関数 | サーバー側TYPE 2 JDBCドライバを使用 |
JavaライブラリによるOracleデータベースの拡張 | 例:SODA for Java、Hiveクライアントなど |
Oracle以外のRDBMSに対するJDBCコールアウト |
|
JVM言語のサポート | Scala、Jython、JRuby、Clojure、Kotlin |
外部Webサービスに対するコールアウト(REST、SOAP) | OJVMWCUユーティリティのドキュメントを参照 |
LuceneおよびSolrを使用したインプレースのインデックス作成 |
Oracle Web Services Callout Utility(Oracle JVMWCU)という新しいユーティリティが追加されました。このユーティリティは、WSDL(SOAP Webサービス)およびWADL(Restful Webサービス)と追加のパラメータを受け入れてWebサービスのクライアントプロキシを取得し、そのプロキシをデータベースにロードして、SQLおよびPL/SQLからWebサービスをコールアウトするためのラッパーを生成します。
詳細については、関連する章およびDB 12.2のホワイトペーパー「Oracle Database 12cリリース2で提供されたJavaおよびJavaScript開発者向けの新機能」を参照してください。