9 WebLogic ServerでのOracle Databaseの使用
- Oracle Database 12.1に対するWebLogic JDBC機能
WebLogic Server、11gおよび12cのJDBCドライバ、およびOracle Databaseの11gおよび12.1バージョンの様々な組合せでサポートされているOracleデータベースの機能について学習します - Oracle Database 12.2に対するWebLogic JDBC機能
WebLogic JDBCには、特にOracle Database 12.2.xを使用する必要のあるいくつかの機能があります。WebLogic ServerのリリースとOracle Database 12.2.xリリースの様々な組合せでサポートされる機能について学習します。 - Oracle Database 19.3に対するWebLogic JDBC機能
WebLogic Server 14.1.1.0.0はOracle 19.3 JDBCドライバに含まれています。
Oracle Database 12.1に対するWebLogic JDBC機能
WebLogic Server、11gおよび12cのJDBCドライバ、およびOracle Databaseの11gおよび12.1バージョンの様々な組合せでサポートされているOracleデータベースの機能について学習します。
表9-1 Oracle Database 12.1の機能サポート
機能 | WebLogic Server 10.3.6/12.1.xと、11gドライバおよびOracle Database 11gR2 | WebLogic Server 10.3.6/12.1.xと、11gドライバおよびOracle Database 12c | WebLogic Server 10.3.6/12.1.1と、12c以降のドライバおよびOracle Database 11gR2 | WebLogic Server 12.1.2以降と、12c以降のドライバおよびOracle Database 11gR2 | WebLogic Server 10.3.6/12.1.1と、12c以降のドライバおよびOracle Database 12c | WebLogic Server 12.1.2以降と、12c以降のドライバおよびOracle Database 12c |
---|---|---|---|---|---|---|
JDBCリプレイ・ドライバ(読取り/書込み) |
いいえ |
いいえ |
いいえ |
いいえ |
はい(Active GridLinkのみで読取り/書込み、XAトランザクションなし) |
はい(Active GridLinkおよび汎用データ・ソースの読取り/書込み、XAトランザクションなし) |
プラガブル・データベース(PDB) |
いいえ |
はい( |
いいえ |
いいえ |
はい |
はい |
PDBの動的切替え |
いいえ |
いいえ |
いいえ |
いいえ |
いいえ |
はい(XAなし) |
データベース常駐接続プーリング(DRCP) |
いいえ |
いいえ |
いいえ |
はい |
いいえ |
はい |
Oracle Notification Service (ONS)の自動構成 |
いいえ |
いいえ |
いいえ |
いいえ |
いいえ |
はい(Active GridLinkのみ) |
グローバル・データ・サービス(GDS) |
いいえ |
はい(Active GridLinkのみ) |
いいえ |
いいえ |
はい(Active GridLinkのみ) |
はい(Active GridLinkのみ) |
JDBC 4.1 ( |
いいえ |
いいえ |
はい |
はい |
はい |
はい |
WebLogic Oracle Database 12.1に対するJDBC機能は次のとおりです:
JDK 7に対するJDBC 4.1サポート
WebLogic Serverは、JDK 7の使用環境でJDBC 4.1仕様をサポートしており、JDBCドライバはJDBC 4.1準拠です。新しいJDBC 4.1のメソッドを使用する場合は、ojdbc7.jar
を使用する必要があります。JDBC™ 4.1仕様を参照してください。
ノート:
Java SE 8のgetParentLogger
メソッドの使用に必要なjava.sql.driver
インタフェースは、現時点ではサポートされていません。http://docs.oracle.com/javase/8/docs/api/index.html?java/sql/Driver.html
を参照してください。
JDK 7では、http://jcp.org/aboutJava/communityprocess/maintenance/jsr114/114MR2approved.pdf
で定義されたRowset 1.1の軽微な変更もサポートしています。新規RowSetFactory
のWebLogic Serverへの実装をweblogic.jdbc.rowset.JdbcRowSetFactory
といいます。
JDBCリプレイ・ドライバのサポート
JDBCリプレイ・ドライバ(リプレイとも呼ばれる)は、Active GridLinkおよび汎用データ・ソースに対応する、アプリケーションに依存しない汎用インフラストラクチャです。これによって、アプリケーションの観点からの作業の回復が可能になり、多くのシステム障害、通信障害およびハードウェア障害がマスクされます。「JDBCリプレイ・ドライバ」を参照してください。
データベース常駐接続プーリングのサポート
データベース常駐接続プーリング(DRCP)はOracleデータベース・サーバーの機能で、これにより中間層システムをまたぐ可能性のある複数の接続プール間の接続を共有できます。「データベース常駐接続プーリング」を参照してください
プラガブル・データベースを使用するコンテナ・データベース
コンテナ・データベース(CDB)はOracleデータベース機能の1つであり、多数のデータベースを、単一CDBに含まれる複数のプラガブル・データベース(PDB)を使用して単一データベースに統合することにより、多数のデータベースを持つ場合のオーバーヘッドを最小限に抑えます。プラガブル・データベースを使用するコンテナ・データベースを参照してください
グローバル・データ・サービスのサポート
グローバル・データ・サービス(GDS)はOracle Databaseの機能の1つであり、分散データベース環境でのロード・バランシング、フォルト・トレランス、リソース活用を自動化します。「Global Database Services」を参照してください
自動ONSリスナー
WebLogic Serverリリース12.1.2以降でOracle Database 12cを使用している場合は、Active GridLinkデータ・ソース構成の一部としてONSリスナーのリストを指定する必要はありません。ONSリストはデータベースからドライバに自動的に提供されます。「FANイベントの有効化」を参照してください
Oracle Database 12.2に対するWebLogic JDBC機能
WebLogic JDBCには、特にOracle Database 12.2.xを使用する必要のあるいくつかの機能があります。WebLogic ServerのリリースとOracle Database 12.2.xリリースの様々な組合せでサポートされる機能について学習します。
表9-2 Oracle Database 12.2の機能サポート
機能 | 説明 | 導入されたWebLogic Server | データベース・リリース |
---|---|---|---|
JDBC 4.2 |
「JDBC 4.2インタフェース」を参照 |
12.1.3 |
12.1.0.1 |
サービスの切替え |
「サービスの切替え」を参照 |
12.2.1 |
12.2 |
JDBCリプレイ・ドライバ |
「データベース12.2 JDBCリプレイ・ドライバ」を参照してください |
12.2.1 |
12.2 |
UCP MT共有プールのサポート |
ユニバーサル接続プール・マルチテナント共有プールのサポートを参照 |
12.2.1.1.0 |
12.2 |
段階的排出 |
計画されたメンテナンスの間、すべての接続を即時にクローズするのではなく、接続を段階的に排出します。これは、アプリケーションのパフォーマンスが不均一になることを防ぎます。「段階的排出」を参照 |
12.2.1.2.0 |
12.1の12.2での拡張 |
AGLでの@aliasまたは@ldapを含むURLのサポート |
「AGLでの@aliasまたは@ldapを含むURLのサポート」を参照 |
12.2.1.2.0 |
12.2 |
データ・ソースの共有プール |
共有プール機能により、複数のデータ・ソース定義で基になる接続プールを共有する機能が提供されます。「共有プールのデータ・ソースの使用」を参照 |
12.2.1.3.0 |
12.2 |
トランザクション・ガードの統合 |
トランザクション・ガードは、計画済および計画外の停止中の、重複する発行を最大1回の実行に抑えるためにアプリケーションで使用される汎用インフラストラクチャを提供します。『Oracle WebLogic Server JTAアプリケーションの開発』の「トランザクション・ガードの使用」を参照してください。 |
12.2.1.3.0 |
12.1.0.2 |
WebLogic Oracle Database 12.2に対するJDBC機能は次のとおりです:
JDBC 4.2インタフェース
JDK 8にはJDBC 4.2用の新しいAPIがあり、JDBC 4.2準拠のデータベース・ドライバでサポートされます。JDK 8とJDBC 4.2をサポートする最初のOracleドライバは12.2.0.1です
JDBC 4.2のjava.sqlおよびjavax.sqlで導入された機能を次に示します
-
JDBCType
列挙とSQLType
インタフェースの追加 -
CallableStatement
でのREF CURSOR
のサポート -
最大
Logical LOB
サイズとREF CURSORのサポートの有無を返すDatabaseMetaData
メソッド -
大きい更新カウントのサポートの追加
JDBC 4.2 APIの変更点は、https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/jdbc_42.htmlに記載されています
データベース12.2 JDBCリプレイ・ドライバ
JDBCリプレイ・ドライバはOracle Database 12.2の新機能です。その名前はoracle.jdbc.replay.OracleXADataSourceImpl
です。12.2より前のドライバでWebLogic Serverを実行すると、クラスをロードできないことを示すエラーがスローされます。
データ・ソースがデータベース12.2のJDBCリプレイ・ドライバを使用して実行されている場合、テスト表の名前は次のように検証されます:
-
SQL ISVALID
またはSQL PINGDATABASE
の場合、変更はありません。 -
表名(tablenameから
select count(*)
に変換される)またはSQL SELECT
が指定されている場合は、SQL ISVALID
に変換されます。 -
他の値(DMLまたはDDL)を指定すると、例外がスローされ、データ・ソースはデプロイされません。
ノート:
12.2 JDBCリプレイ・ドライバでは、グローバル・トランザクションのリプレイはサポートされません。XA接続上のローカル・トランザクションをサポートしています。AGLでの@aliasまたは@ldapを含むURLのサポート
別名の形式はjdbc:oracle:thin:@alias
で、この「alias」はtnsnames.ora
ファイルで定義されている別名です。
LDAP構文に関する項を参照してください。
別名を使用するには、次のステップを実行する必要があります。
-
システム・プロパティの
Doracle.net.tns_admin=tns_directory
を指定し、このtns_directory
は、tnsnames.ora
ファイルのディレクトリの場所です。 -
tns_directory
で指定されているディレクトリ内にtnsnames.ora
ファイルを作成します。または、このファイルを変更します。エントリの形式:
ここで、hostはデータベース・リスナーのURL、portはデータベース・リスナーのポート、serviceは接続する先のデータベースのサービス名です。alias=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=host)(PORT=port))(CONNECT_DATA=(SERVICE_NAME=service)))
-
接続文字列を別名に置き換えることで、データ・ソース定義URLで別名を使用します。
たとえば、管理コンソールの「接続プール」タブでURL属性を
jdbc:oracle:thin:@alias
に変更します。
Oracle Database 19.3に対するWebLogic JDBC機能
WebLogic Server 14.1.1.0.0はOracle 19.3 JDBCドライバに含まれています。
- サービスまたはPDBの再配置または停止に先立つサーバーの排出
- Oracle Databaseにリクエスト境界が表示される
- 透過アプリケーション・コンティニュイティ(TAC)
- URLでのHTTPプロキシ・ホストおよびポートの定義のサポート
- Autonomous Transaction Processing (ATP)データベースとの統合の強化
18cおよび19c JDBCドライバの詳細は、Oracle Databaseドキュメントの新機能ドキュメントを参照してください。
WebLogic ServerでJDBC 4.3仕様がサポートされるのは、環境でJDK 11が使用されており、JDBCドライバがJDBC 4.3準拠であるときです。JDBC 4.3の新しいメソッドを使用するには、「JDBC 4.3インタフェースのサポート」を参照してください
JDBC 4.3インタフェースのサポート
JDBC 4.3仕様では、シャーディング、作業単位境界、およびリテラルと識別子のエンクォートのための新しいAPIが定義されています。JDBC 4.3のAPIの変更の概要は、https://docs.oracle.com/javase/9/docs/api/java/sql/package-summary.htmlを参照してください
WebLogic Serverで新しいJDBC 4.3 APIがサポートされるのは、環境でJDK 11が使用されており、JDBCドライバがJDBC 4.3準拠であるときです。Oracle ThinドライバでJDBC 4.3のメソッドを使用するには、19c以上のojdbc10.jar
がサーバーのCLASSPATHに存在している必要があります。
GenericおよびActive GridLinkデータ・ソース・タイプでのOracleアプリケーション継続性統合では、作業単位境界APIが内部的に呼び出されます。このとき、接続が接続プールから予約され、解放されると接続プールに戻されます。新しいデータ・ソース構成属性を使用すると、このAPIがサポートされるOracleリプレイ・ドライバおよびOracle 4.3以外のドライバでのJDBC接続で、自動作業単位境界を実行するかどうかを制御できます。InvokeBeginEndRequestに関する項を参照してください。
ノート:
- OracleシャーディングAPIは、UCPデータ・ソース・タイプでのみサポートされます。「ユニバーサル接続プール・データ・ソースの使用」を参照してください
- WebLogic Server 14.1.1.0では、Oracle XAドライバ・クラスで構成されているGenericおよびActive GridLinkデータ・ソースの自動作業単位境界はデフォルトで無効です。