Oracle® Fusion Middleware Oracle WebLogic Server JDBCデータ・ソースの構成と管理 11gリリース1 (10.3.6) B60997-04 |
|
前 |
次 |
この章では、GridLinkデータ・ソースを構成およびチューニングする方法について説明します。
単一のGridLinkデータ・ソースが、WebLogic ServerとOracle Databaseサービスの間の接続を提供します。これには、複数のOracle RACクラスタが含まれることがあります。脚注1 Oracle RACインスタンスの状態変更に適応的に対処するために、Oracle Notification Service (ONS)が使用されます。Oracle Databaseサービスは、共通属性を持つ作業負荷を表します。これにより、管理者は単一のエンティティとして作業負荷を管理できます。クラスタ内のノード数に関係なく、データベース内のサービス数が増加するに従い、GridLinkデータ・ソース数をスケールします。
GridLinkデータ・ソースには、汎用データソースと次に示すOracle RACサポートの機能が含まれます。
GridLinkデータ・ソースは、高速接続フェイルオーバーを使用して、ONSでOracle RACイベントに応答します。これにより、GridLinkデータ・ソースの接続プールには、接続をポーリングまたはテストする必要がない、有効な接続(予約済接続を含む)が含まれることになります。
GridLinkデータ・ソースは高速接続フェイルオーバーを次の処理に使用します。
高速障害検出の実現
接続プールから無効な接続の中断・削除
予定内外のOracle RACノード停止時の正常終了。「Oracle RAC停止時の正常操作」を参照してください。
トポロジ変更(ノードの追加や削除など)への適応
クラスタに再参加するインスタンスを含めて、すべてのアクティブなOracle RACインスタンスへのランタイム・ワーク・リクエストの分配
注意: GridLinkデータ・ソースでは、非推奨になったFastConnectionFailoverEnabled 接続プロパティをサポートしていません。このプロパティの高速接続フェイルオーバーのドライバ実装ではXA接続がサポートされていないため、このプロパティを有効にしてXA接続を作成しようとすると、java.sql.SQLException: 接続キャッシングが有効になっている場合は、getXAConnection()を使用できません。 という例外が発生します。 |
GridLinkデータ・ソースで、XAや非XA環境でロード・バランシングが可能になります。GridLinkデータ・ソースは、ランタイム接続ロード・バランシング(RCLB)を使用して、データベースから発行されたOracle FANイベントに基づいて、Oracle RACインスタンスに接続を分配します。これにより、データ・ソースの構成が簡素化し、データ・ベースが、データベース・トポロジと独立して、GridLinkデータ・ソースを通じて接続のロード・バランシングを行うため、性能が向上します。
ランタイム接続ロード・バランシングにより、WebLogic Serverで次の処理が可能になります。
CPU、可用性、およびレスポンス時間など、バックエンドのノード・キャパシティによる作業分配の調整
Oracle RACトポロジの変更への対応
高度な性能および拡張性のプール接続の管理
FANが無効の場合、GridLinkデータ・ソースは、ラウンドロビン・ロード・バランシング・アルゴリズムで、Oracle RACノードに接続を割り当てます。
注意: GridLinkデータ・ソースで接続が定期的に停止されることがあります。様々なRACインスタンスに割り当てられた接続がFANロード・バランシング・アドバイザリの実行時ロード・バランシングの割合に対応していない場合、超過しているインスタンスへの接続が破棄され、新しい接続が開かれます。このプロセスは、デフォルトで30秒ごとに行われます。この動作は、 |
GridLinkデータ・ソースは、Oracle RACサービスの予定内外のシャットダウン時に正常な処置を行います。
計画的停止の場合、データ・ソースは接続を閉じる前に処理中のトランザクションを完了できます。新しいリクエストが、アクティブなOracle RACインスタンスにロードバランスされます。
予定外のシャットダウンでは、データ・ソースは、処理中のトランザクションを戻し、接続を切断します。新しいリクエストが、アクティブなOracle RACインスタンスにロードバランスされます。
WebLogic Server GridLinkアフィニティ・ポリシーは、RACクラスタを最大限に活用してアプリケーションのパフォーマンスが向上するように設計されます。GridLinkデータ・ソースでは、RACアフィニティがRACクラスタに対して有効かどうかを決めるAffEnabled属性を使用して、RACロード・バランシング・アドバイザ(LBA)をモニターします。最初の接続リクエストは、実行時接続ロード・バランシング(RCLB)を使用してロード・バランスされ、アフィニティ・コンテキストに割り当てられます。セッションが終了するか、トランザクションが完了するまで、後続の接続はすべて、最初の接続のアフィニティ・コンテキストを使用して同じOracle RACインスタンスにルーティングされます。以下を参照してください。
ユーザー・セッションで連続的なオンライン・トランザクション処理(OLTP)を行うWebアプリケーションのほうが、同じRACインスタンスで同じレコード・セットに対する操作を繰り返し行うよりも、パフォーマンスがよくなります。このパターンの典型的な例は、オンライン・ショッピングやオンライン・バンキングなどのビジネス・アプリケーションです。
GridLinkデータ・ソースでは、Webセッションのすべてのデータベース操作(トランザクションを含む)でRACクラスタの同じOracle RACインスタンスが使用されるように、セッション・アフィニティ・ポリシーを使用します。
注意: コンテキストはHTTPセッションに格納されます。(1つのブラウザ内で、または複数のブラウザにわたって)ウィンドウがどのようにHTTPセッションにマップされるかは、アプリケーションにより決定されます。 |
セッション・アフィニティ・ポリシーを使用するGridLinkデータ・ソースがWebセッションのコンテキスト外部からアクセスされると、アフィニティ・ポリシーはXAアフィニティ・ポリシーに変わります。「XAアフィニティ・ポリシー」を参照してください。
GridLinkデータ・ソースのセッション・アフィニティ・ポリシーはデフォルトでは常に有効になっていますが、次の場合、セッション・アフィニティに対してWebセッションがアクティブになります。
Oracle RACが有効かつアクティブであり、サービスのRCLBが有効になっている場合。サービスGOAL
(NOT CLB_GOAL
)がSERVICE_TIME
かTHROUGHPUT
のいずれかに設定されている場合、そのサービスのRCLBは有効です。
データベースによって、クラスタの待機時間に十分なパフォーマンス改善があると判断され、ペイロード内のアフィニティ・フラグがTRUE
に設定された場合。
(データベースの可用性状況が高い場合など、)データベースによってセッション・アフィニティを実装してもメリットがないと判断された場合、データベース・ロード・バランシング・アルゴリズムはそのデフォルトの処理割当てポリシーに戻り、ペイロード内のアフィニティ・フラグがFALSE
に設定されます。
単一クライアント・アクセス名(SCAN)アドレスで、WebLogicコンソールのTNSリスナーおよびONSリスナー双方のホストとポートを指定します。Oracle RACノードを追加・削除する場合、SCANアドレスを含むGridLinkデータ・ソースは変更する必要はありません。それぞれの環境に適して構成したSCANのURLについては、ネットワーク管理者にお問い合せください。
注意: Oracle RAC 11.2以上を使用する場合は、次の点を考慮してください。
SCANアドレスの使用方法の詳細は、『Real Application Clusters管理およびデプロイメント・ガイド』の自動ワークロード管理の概要に関する項および |
この機能により、Oracle Walletを使用してONSリスナーとのセキュアな通信を構成できます。「セキュアなONSクライアント通信」を参照してください。
WebLogicドメインにGridLinkデータ・ソースを作成するには、管理コンソールまたはWebLogic Scripting Tool (WLST)を使用できます。
詳細は、次を参照してください。
『Oracle WebLogicサーバー管理コンソールのヘルプ』のJDBC GridLinkデータ・ソースの作成に関する項。
サンプルWLSTスクリプトSAMPLES_HOME
\server\examples\src\examples\wlst\online\jdbc_data_source_creation.py
(SAMPLES_HOME
はWebLogic Serverインストールの主要なサンプル・ディレクトリを示します)。この例では、汎用データ・ソースが作成されます。『Oracle WebLogic Scripting Tool』のWLSTオンライン・サンプル・スクリプトに関する項を参照してください。
次の項では、管理コンソールでデータ・ソースを作成するためのデータ・ソース構成ウィザードで実行する基本手順の概要を示します。
JDBCデータ・ソース・プロパティには、データ・ソースのアイデンティティを定義するオプション、およびデータベース接続でのデータ処理方法が含まれます。
JDBCデータ・ソース名は、WebLogicドメイン内でデータ・ソースを識別するために使用されます。システム・リソース・データ・ソースの場合、名前はデータ・ソースやマルチ・データ・ソースを含む他のすべてのJDBCシステム・リソースを通じて一意であることが必要です。名前の競合を回避するため、データ・ソース名は他の構成オブジェクト名(サーバー、アプリケーション、クラスタ、JMSキュー、JMSトピック、JMSサーバーなど)にわたっても一意である必要があります。アプリケーションをスコープとするJDBCアプリケーション・モジュールの場合、データ・ソース名は同様のスコープを持つJDBCデータ・ソースとマルチ・データ・ソースを通じて一意であることが必要です。
単一または複数の名前でJNDIツリーにバインドされるように、データ・ソースを構成できます。1つのJDBC接続プールを指す複数のデータ・ソースを含む従来の構成のかわりに、複数のJNDI名を持つデータ・ソースを使用できます。詳細は、『Olacle WebLogic Server JNDIのプログラミング』を参照してください。
管理コンソールを使用してJDBCデータ・ソースを構成すると、WebLogic ServerはJDBCドライバの種類に基づき、自動的に特定のトランザクション・オプションを選択します。
XAドライバの場合、システムは自動的に、グローバル・トランザクション処理のための2フェーズ・コミット・プロトコルを選択します。
非XAドライバの場合、ローカル・トランザクションは定義によってサポートされており、WebLogic Serverは以下のオプションを提供します。
「グローバル・トランザクションのサポート」 : (デフォルトで選択) XAドライバを選択していなくても、グローバル・トランザクションでデータ・ソースからの接続を使用する場合には、このオプションを選択します。詳細については、「非XA JDBCドライバでのグローバル・トランザクションのサポートの有効化」を参照してください。
「グローバル・トランザクションのサポート」を選択した場合は、グローバル・トランザクションを処理するときに、WebLogic Serverがトランザクション・ブランチに使用するプロトコルも選択する必要があります。
「ロギング・ラスト・リソース」 :このオプションを使用すると、接続が使用されているトランザクション・ブランチが、トランザクションの最後のリソースとして処理され、ローカル・トランザクションとして処理されます。2フェーズ・コミット(2PC)トランザクションのコミット・レコードは、リソース自体の表に挿入され、その結果によって、グローバル・トランザクションの準備段階が正常に終了したか失敗したかが決まります。このオプションでは、「2フェーズ・コミットのエミュレート」よりもパフォーマンス上のメリットとデータの安全性が得られますが、いくつかの制限事項もあります。「ロギング・ラスト・リソース・トランザクション・オプションについて」を参照してください。
2フェーズ・コミットのエミュレート: このオプションを使用すると、接続が使用されているトランザクション・ブランチは、トランザクションの準備フェーズに対して常に成功を戻します。パフォーマンス上のメリットはありますが、いくつかの失敗の状況ではデータにリスクがあります。このオプションは、アプリケーションがヒューリスティックな状況を許容できる場合にのみ選択します。「2フェーズ・コミットのエミュレート・トランザクション・オプションについて」を参照してください。
1フェーズ・コミット: (デフォルトで選択済み)このオプションを使用すると、データ・ソースからの接続がグローバル・トランザクションの唯一の参加者となることができ、トランザクションは1フェーズ・コミットの最適化を使用して完了します。トランザクションに複数のリソースが参加している場合、トランザクション・マネージャが1PCリソースに対してXAResource.prepare
を呼び出すと、例外がスローされます。
データ・ソースのトランザクション・サポートの構成の詳細は、「JDBCデータ・ソース・トランザクション・オプション」を参照してください。
接続プロパティは、データ・ソースおよびDBMS間の接続の構成に使用されます。通常属性には、サービス名、データベース名、ホスト名、ポート番号、ユーザー名、およびパスワードがあります。
注意: サービス名を使用する際は、次の点を考慮してください。
|
コンソールを使用することで、次のいずれかの方法で接続プロパティを入力できます。
「GridLinkデータ・ソース接続プロパティのオプション」のページで、「個別のリスナー情報の入力」を選択し、「次へ」をクリックします。接続プロパティを入力します。例:
「サービス名」
にmyServiceを入力します。
「ホストとポート」
に、left:1234、center:1234、right:1234を入力します。各リスナーのホストとポートをコロンで区別します。
「データベース・ユーザー名」
にmyDataBaseを入力します。
「パスワード」
にmyPassword1を入力します。
必要に応じて、「プロトコル」を「SDP」
に設定します。
コンソールは自動的に完全なJDBC URLを生成します。例:
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=left)(PORT=1234))(ADDRESS=(PROTOCOL=TCP)(HOST=right)(PORT=1234))(ADDRESS=(PROTOCOL=TCP)(HOST=center)(PORT=1234)))(CONNECT_DATA=(SERVICE_NAME=myService)))
「GridLinkデータ・ソース接続プロパティのオプション」のページで、「完全なJDBC URLの入力」を選択し、「次へ」をクリックします。接続プロパティを入力します。例:
「完全なJDBC URL」に、JDBCのURLを入力します。例:
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=left)(PORT=1234))(ADDRESS=(PROTOCOL=TCP)(HOST=right)(PORT=1234))(ADDRESS=(PROTOCOL=TCP)(HOST=center)(PORT=1234)))(CONNECT_DATA=(SERVICE_NAME=myService)))
SCANアドレスも使用可能です。たとえば: jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MyScanAddr-scn.myCompany.com)(PORT=1234)))(CONNECT_DATA=(SERVICE_NAME=myService)))
「データベース・ユーザー名」
にmyDataBaseを入力します。
「パスワード」
にmyPassword1を入力します。
必要に応じて、「プロトコル」をSDP
に設定します。
「データベース接続のテスト」で、データ・ソースの構成を終了する前に、表名またはSQL文を使用してデータベース接続をテストすることができます。必要であれば、「プロパティ」
および「システム・プロパティ」
属性を使用して追加構成情報をテストできます。
「ONSクライアント構成」で、データ・ソースはOracle FANイベントに登録し、イベントを処理できるようにします。ONSクライアントを設定するには:
「FANの有効化」
を選択します。
「ONSホストとポート」では、ONSベースのFANイベントを受信するためのONSデーモン・リスニング・アドレスおよびポートのカンマ区切りのリストを入力します。FAN通知へのアクセスには、単一クライアント・アクセス名(SCAN)アドレスを使用できます。
オプションで、SSLを使用してセキュアなONSクライアント通信を構成します。「セキュアなONSクライアント通信」を参照してください。
WebLogic ServerでOracle Walletファイルを使用するには、次の処理が必要です。
WebLogic Serverのクラスパス
に次のファイルを追加します。
$MW_HOME
/modules/com.oracle.osdt_cert_1.0.0.0.jar
$MW_HOME
/modules/com.oracle.osdt_core_1.0.0.0.jar
$MW_HOME
/modules/com.oracle.oraclepki_1.0.0.0.jar
GridLinkデータ・ソースの構成を更新し、SSL証明書とONS Walletパスワードが格納されるOracle Walletファイルのディレクトリを含めます。『Oracle WebLogicサーバー管理コンソールのヘルプ』のOracle WalletによるセキュアなONSリスナーに関する項を参照してください。
Oracle Walletの詳細は、『Database Advanced Security管理者ガイド』を参照してください。
「ONSクライアント構成のテスト」で、データ・ソースの構成が決定される前にデーベース接続をテストできます。
1つ以上のターゲットを選択して新規JDBC GridLinkデータ・ソースをデプロイできます。ターゲットを選択しない場合、データ・ソースは作成されますがデプロイされません。後でデータ・ソースをデプロイする必要があります。
ソケット・ダイレクト・プロトコル(SDP)を使用するためには、データベース・ネットワークをInfinibandを使用できるように構成する必要があります。SDPではSCANアドレスをサポートしていません。『Oracle Database Net Services管理者ガイド』のInfiniBand接続のためのSDPサポートの構成に関する項を参照してください。
SDP接続間のロード・バランシングを構成するには、すべてのノードでTNSNAMES.ORA
ファイルを編集し、SDPエンドポイントをLISTENER_IBLOCAL
エントリに追加する必要があります。
注意: TNSNAMES.ORA ファイルは、インスタンスの起動時またはALTER SYSTEM SET LISTENER_NETWORKS=" listener address " コマンドの使用時にのみ読み取られます。TNSNAMES.ORA ファイルの更新後、すべてのインスタンスを再起動するか、すべてのネットワークに対してALTER SYSTEM SET LISTENER_NETWORKS コマンドを実行します。 |
例:
LISTENER_IBLOCAL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = sclcgdb02ibvip.us.oracle.com)(PORT=1522)) (ADDRESS = (PROTOCOL = SDP)(HOST = sclcgdb02-bvip.us.oracle.com)(PORT=1522)) ) )
次に、次のURLを使用して、LISTERNER_IB
ネットワークに接続を分配する必要があります。
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=SDP) (HOST=sclcgdb01-bvip.us.oracle.com)(PORT=1522))(ADDRESS=(PROTOCOL=SDP) (HOST=sclcgdb02-ibvip.us.oracle.com)(PORT=1522)))(CONNECT_DATA=(SERVICE_NAME=elservice)))
各JDBCデータ・ソースには、データ・ソースのデプロイ時またはサーバー起動時に作成される、JDBC接続のプールが含まれています。アプリケーションは、プールから接続を使用し、使用し終わると、プールに戻します。接続のプールにより、アプリケーション用にデータベース接続を作成するという費用のかかるタスクがなくなるため、パフォーマンスが向上します。
注意: 一部のOracle JDBC拡張機能、および場合によっては他のドライバから使用可能な他の非標準メソッドも、接続の動作を永続的に変更することがあり、プール内の接続の将来のユーザーはこの動作を継承することになります。WebLogic Serverは、可能な場合、このようなコール・タイプから接続を保護しようとします。 |
以下の節では、JDBCデータ・ソースの接続プールのオプションについて説明します。
これらのオプションおよびその他の関連オプションの詳細は、次で参照し、設定できます。
管理コンソールの「JDBCデータ・ソース: 構成: 接続プール」ページ。Oracle WebLogic Server管理コンソール・ヘルプの「JDBCデータ・ソース: 構成: 接続プール」を参照してください。
JDBCDataSourceBeanの子MBeanである、JDBCConnectionPoolParamsBean
WebLogic JDBCデータ・ソースは、JDBCドライバで実装されるjavax.sql.ConnectionPoolDataSource
インタフェースをサポートしています。JDBCデータ・ソース内のProperties
属性にプロパティおよびその値を追加して、ドライバ・レベルの機能を有効化できます。Properties
属性におけるドライバ・レベルのプロパティは、ドライバのConnectionPoolDataSource
オブジェクトで設定されます。
注意: JDBCデータ・ソース内のProperties 属性で、ドライバ・レベルのプロパティとしてFastConnectionFailoverEnabled 、ConnectionCachingEnabled またはConnectionCacheName を使用しないでください。 |
WebLogic JDBCデータ・ソースは、システム・プロパティの値によるドライバ・プロパティの設定をサポートします。各プロパティの値は、指定されたシステム・プロパティから実行時に取得されます。データ・ソース構成の「システム・プロパティ」
属性を編集することで管理コンソールを使用して、接続ベースのシステム・プロパティを構成できます。
注意: WebLogic Serverの起動時にJavaシステム・プロパティとしてoracle.jdbc.FastConnectionFailover を指定しないでください。 |
WebLogic Serverでは、データ・ソースにおけるデータベース接続の作成時に、自動的にSQLコードを実行して、データベース接続を初期化できます。この機能を有効にするには、管理コンソールの「JDBCデータ・ソース: 構成: 接続プール」ページの「初期化SQL」属性に「SQL」
と入力し、その直後にスペース、次に実行するSQLコードを入力します。この属性を空白のままにしておくと(デフォルト)、データベース接続を初期化するコードは実行されません。
サーバーの起動時、接続プールの拡張時、接続のリフレッシュ時など、データ・ソースにおけるデータベース接続の作成時には常にここで指定したコードが実行されます。
この機能を使用して、接続ごとのDBMS固有の動作を設定したり、必要なアクションを実行できるメモリーや権限を接続が備えるを確認したりできます。
コードは、「SQL」
で開始し、その後にスペースを入れます。例:
SQL alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
または
SQL SET LOCK MODE TO WAIT
InitSQL
によって設定できるオプションは、DBMSごとに異なります。
注意: 初期化SQLは、動的な属性ではありません。初期化SQLの値を変更する際には、データ・ソースをアンデプロイしてから再デプロイするか、またはサーバーを再起動する必要があります。 |
WebLogic Serverには、Oracleドライバ使用時のデータ・ソースのパフォーマンスを向上させる属性がいくつか用意されています。詳細は、「Oracleドライバおよびデータベースの詳細構成」を参照してください。
次の項では、ONSクライアントの構成方法について説明します。
Oracle高速アプリケーション通知(FAN)イベントに登録し、イベントを処理するためにデータソースを有効にします。
「FANの有効化」
を選択します
ONSベースのFANイベントを受信するためのONSデーモン・リスニング・アドレスおよびポートのカンマ区切りのリストを指定します。FAN通知へのアクセスには、単一クライアント・アクセス名(SCAN)アドレスを使用できます。
『Oracle WebLogic Server管理コンソールのヘルプ』のONSクライアント・パラメータの構成に関する項を参照してください。
通常、FANイベントが有効になっている場合は、予約時のテストを有効にする必要はありません。ただし、ONSサーバーが停止している場合や通常の状態でない場合は、「FANの有効化」
を無効にし、予約時のテストを有効にすることができます。詳細は、「データ・ソースの接続テスト・オプション」を参照してください。
SSLでONSデーモンと通信するためには、walletファイルを使用する必要があります。「セキュアなONSクライアント通信」を参照してください。
WebLogic Serverには、Oracleドライバの使用時にデータ・ソースのパフォーマンスを向上させる属性がいくつか用意されています。詳細は、「Oracleドライバとデータベースの詳細構成」を参照してください。
WebLogic ServerドメインのJDBCデータ・ソース内の接続プール属性を正しく構成することで、アプリケーションおよびシステムのパフォーマンスを向上できます。詳細は、「データ・ソースの接続プールのチューニング」を参照してください。
以下の節では、セキュリティ資格証明をDBMSに渡す方法についての情報を提供します。
注意: GridLinkデータ・ソースは、識別ベースの接続プールをサポートしません。 |
資格証明の最も簡単なタイプの認証情報は、接続プールにDBMSのユーザー・アカウント名およびパスワードを提供することです。そうすると、プール内のすべての接続は、同じ認証情報を使用してDBMSにアクセスします。Oracle WebLogic Server管理コンソール・ヘルプのJDBCデータ・ソースの作成に関する項を参照してください。
注意: パスワードは「プロパティ」フィールドに名前と値の組み合わせとして入力すること(本番環境では許可されません)も、「パスワード」フィールドに入力することも可能です。「パスワード」フィールドの値は、物理的なデータベース接続を作成するときにJDBCドライバに渡されるPropertiesで定義されている、いかなるpassword値をもオーバーライドします。プロパティ文字列でパスワード・プロパティのかわりにPassword属性を使用することをお勧めします。なぜなら、Password値は構成ファイル内で暗号化(モジュール・ファイルのjdbc-driver-params タグでpassword-encrypted属性として保存)され、管理コンソールでは表示されなくなるからです。 |
データ・ソースで「接続時にクライアントIDを設定」
属性が有効になっている場合は、アプリケーションによってデータ・ソースのデータベース接続がリクエストされたときに、WebLogic Serverインスタンスが現在のWebLogicユーザーIDを判別し、マップされているデータベースIDを軽量なクライアントIDとして設定します。この場合も、プール内のすべての接続で同じ資格証明を使用してDBMSにアクセスします。基本的な構成手順は次のとおりです。
「接続時にクライアントIDを設定」
を選択し、Oracle WebLogic Server管理コンソール・ヘルプのJDBCデータ・ソースに対する接続時に「クライアントIDの設定」の有効化に関する項を参照してください。
注意: WebLogicユーザーIDおよびデータベースIDをマッピングするための資格証明マッピングは、Oracle Thinドライバを使用するOracleデータベースでのみサポートされます。この機能は、Oracle DMSドライバではサポートされません。 |
WebLogicユーザーIDおよびデータベースIDをマップします。Oracle WebLogic Server管理コンソール・ヘルプのJDBCデータ・ソースの資格証明マッピングの構成に関する項を参照してください。
この機能は、JDBCドライバおよびDBMSの機能に依存します。OracleおよびDB2データベースで、ベンダー提供の拡張メソッドを使用する場合にのみサポートされます。
oracle.jdbc.OracleConnection.setClientIdentifier(String id)
com.ibm.db2.jcc.DB2Connection.setDB2ClientUser(String user)
注意: 「接続時にクライアントIDを設定」と「IDベースの接続プールを有効化」は相互に排他的です。アプリケーション環境でセキュリティ資格証明を渡すために両方のメカニズムが必要な場合は、別々のデータ・ソースを作成して、一方は「接続時にクライアントIDを設定」を指定し、もう一方は「IDベースの接続プールを有効化」を指定してください。 |
次の項では、GridLink JDBCオブジェクトのモニターについて詳細に説明します。
JDBC監視の詳細は、「WebLogic JDBCリソースのモニター」を参照してください。
管理コンソールまたは関連するランタイムMBeansを通じてGridLinkデータ・ソースのランタイム統計を参照できます。
JDBCOracleDataSourceInstanceRuntimeMBean
は、データ・ソース・インスタンスの現在の状態を得る方法を提供します。詳細は、Oracle WebLogic Server MBeanリファレンスのJDBCOracleDataSourceInstanceRuntimeMBeanを参照してください。
JDBCDataSourceRuntimeMBean
は、データ・ソース・インスタンスの現在の状態を得る方法を提供します。JDBCDataSourceRuntimeMBean
は、データ・ソースの現在の状態およびアクティブな平均接続数、現在のアクティブな接続数および最大アクティブ接続数など、データ・ソースの統計データの取得方法を提供します。詳細は、Oracle WebLogic Server MBeanリファレンスのJDBCDataSourceRuntimeMBeanを参照してください。
ONSDaemonRuntimeMBean
は、GridLinkデータ・ソースと関連付けられたONSクライアント構成を監視する方法を提供します。詳細は、Oracle WebLogic Server MBeanリファレンスのONSDaemonRuntimeMBeanを参照してください。
WebLogic Serverのデバッグ機能をアクティブにして、アプリケーション内の特定の問題を追跡できます。
次に、JDBCの登録されたデバッグ・スコープを示します。
DebugJDBCRAC (スコープweblogic.jdbc.racl): GridLinkデータ・ソースのライフ・サイクル、UCPコールバックおよび接続情報を印刷します。
DebugJDBCONS (スコープweblogic.jdbc.connection): LBAイベント本体を含むONSクライアント情報を追跡します。
http://download.oracle.com/docs/cd/B28359_01/java.111/e10788/get_started.htm#sthref67
の指示に従って、UPC JDKロギングを有効にできます。
次の項では、GridLinkデータ・ソースを使用するためのベスト・プラクティスについて説明します。
アプリケーションは、すべての例外を捕捉して処理する必要があります。GridLinkデータ・ソースを使用するアプリケーションは、借りている接続でJDBC操作を実行する際にIOソケット読取りエラー
などの例外を想定する必要があります。ベスト・プラクティスは、接続の有効性をチェックし、必要に応じて再接続することです。接続の例外は、ドライバがFANイベントの到着よりも早く停止を検出した場合や、接続プールのクリーン・アップの結果として発生します。予定外の停止イベントが発生すると、接続プールは、停止の影響を受ける借りている接続をすべて中止します。
脚注凡例
脚注1: たとえば、Oracle Data Guardなどです。