Oracle® Fusion Middleware Oracle WebLogic Server JDBCデータ・ソースの構成と管理の構成と管理 11gリリース1 (10.3.6) B60997-10 |
|
前 |
次 |
この章では、GridLinkデータ・ソースの構成方法とチューニング方法について説明します。
単一のGridLinkデータ・ソースは、WebLogic Serverと複数のOracle RACクラスタを含む可能性があるOracleデータベース・サービス間の接続性を提供します。脚注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データ・ソースは、非推奨の |
GridLinkデータ・ソースは、XA環境と非XA環境に対するロード・バランシングとして機能します。GridLinkデータ・ソースは、データベースが発行するOracle FANイベントに基づいて、ランタイム接続ロード・バランシング(RCLB)を使用し、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データ・ソースは、AffEnabled属性を使用することでRACロード・バランシング・アドバイザ(LBA)をモニターして、RACクラスタのRACアフィニティが有効化されているかどうかを判断します。最初の接続リクエストはランタイム接続ロード・バランシング(RCLB)を使用してロード・バランシングされ、アフィニティ・コンテキストが割り当てられます。それ以降のすべての接続リクエストは、セッションが終了するかトランザクションが完了するまで、最初の接続のアフィニティ・コンテキストを使用して、同一のOracle RACインスタンスにルーティングされます。次の項を参照してください。
ユーザー・セッションに連続のオンライン・トランザクション処理(OLTP)があるWebアプリケーションでは、同じセットのレコードに対する繰返し操作が同じRACインスタンスで処理される場合にパフォーマンスが向上します。オンライン・ショッピングやオンライン・バンキングなどのビジネス・アプリケーションは、このパターンの典型的な例としてあげられます。
GridLinkデータ・ソースは、セッション・アフィニティ・ポリシーを使用して、Webセッション(トランザクションを含む)ごとのすべてのデータベース操作が、RACクラスタの同一のOracle RACインスタンスに向けられるようにします。
注意: コンテキストは、HTTPセッションに格納されます。これは、アプリケーションがHTTPセッションを各ウィンドウ(1つのブラウザ内または複数のブラウザ全体でのウィンドウ)にマップする方法に応じて異なります。 |
セッション・アフィニティ・ポリシーを使用するGridLinkデータ・ソースが、Webセッションのコンテキスト外からアクセスされると、そのアフィニティ・ポリシーはXAアフィニティ・ポリシーに変化します。「XAアフィニティ・ポリシー」を参照してください。
デフォルトでは、GridLinkデータ・ソースのセッション・アフィニティ・ポリシーは常に有効化されていますが、Webセッションのセッション・アフィニティは次の場合にアクティブになります。
Oracle RACが有効化されていてアクティブであり、サービスでRCLBが有効化されている。RCLBは、サービスのGOAL
(CLB_GOAL
ではありません)が、SERVICE_TIME
またはTHROUGHPUT
に設定されている場合に、サービスごとに有効化されます。
クラスタ待機時間において十分なパフォーマンスの向上があるとデータベースで判断され、ペイロードに含まれるアフィニティ・フラグがTRUE
に設定されている。
セッション・アフィニティを実装することに有効性がないとデータベースで判断された場合(高データベース可用性条件など)、データベースはロード・バランシング・アルゴリズムをデフォルトの作業割当てポリシーに戻して、ペイロード内のアフィニティ・フラグをFALSE
に設定します。
WebLogicコンソールでTNSリスナーとONSリスナーの両方にホストおよびポートを指定するには、Oracle Single Client Access Name (SCAN)アドレスを使用できます。Oracle RACノードを追加または削除する場合、SCANアドレスを含むGridLinkデータ・ソースを変更する必要はありません。ご使用の環境に対して適切に構成されたSCAN URLについては、ネットワーク管理者に問い合せてください。
注意: Oracle RAC 11.2以降を使用する場合は、次の点について考慮してください。
SCANアドレスの使用方法の詳細は、『Real Application Clusters管理およびデプロイメント・ガイド11gリリース2 (11.2)』の自動ワークロード管理の概要に関する項と、 |
この機能を使用すると、Oracleウォレットを使用したONSリスナーとのセキュアな通信を構成できるようになります。「セキュアなONSクライアント通信」を参照してください。
WebLogicドメイン内にGridLinkデータ・ソースを作成する場合は、管理コンソールまたはWebLogic Scripting Tool (WLST)を使用します。
内容は次のとおりです。
Oracle WebLogic Server管理コンソール・ヘルプの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ツリーにバインドされるように、データ・ソースを構成します。単一のJDBC接続プールを指す複数のデータ・ソースを含む従来の構成のかわりに、複数JNDI名のデータ・ソースを使用できます。詳細は、『Oracle 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文を使用してデータベース接続をテストできます。必要に応じて、Properties
属性とSystem Properties
属性を使用すると、追加の構成情報をテストできます。
「ONSクライアント構成」を使用すると、データ・ソースをOracle FANイベントにサブスクライブして、処理できるようになります。ONSクライアントを構成するには:
「FANの有効化」
を選択します。
「ONSホストとポート」で、ONSベースのFANイベントを受け取るためにONSデーモンが接続するリスニング・アドレスとリスニング・ポートをカンマで区切ったリストを入力します。単一クライアント・アクセス名(SCAN)アドレスを使用すると、FAN通知にアクセスできます。
必要に応じて、SSLを使用したセキュアなONSクライアント通信を構成します。「セキュアなONSクライアント通信」を参照してください。
WebLogic ServerでOracleウォレット・ファイルを使用するには、次の手順を実行する必要があります。
次のファイルをWebLogic Server classpath
に追加します。
$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ウォレット・パスワードが格納されているOracleウォレット・ファイルのディレクトリを含めます。Oracle WebLogic Server管理コンソール・ヘルプのOracleウォレットを使用したセキュアなONSリスナーに関する項を参照してください。
Oracleウォレットの詳細は、『Database Advanced Security管理者ガイド』を参照してください。
「ONSクライアント構成のテスト」を使用すると、データ・ソース構成をファイナライズする前に、データベース接続をテストできます。
新しいJDBC GridLinkデータ・ソースのデプロイ先に、1つ以上のターゲットを選択します。ターゲットを選択していない場合でもデータ・ソースは作成されますが、デプロイされません。そのデータ・ソースは、後でデプロイする必要があります。
ソケット・ダイレクト・プロトコル(SDP)を使用する場合は、インフィニバンドを使用するようにデータベース・ネットワークを構成する必要があります。SDPは、SCANアドレスをサポートしていません。『Oracle Database Net Services管理者ガイド』のインフィニバンド接続のSDPサポートの構成に関する項を参照してください。
SDP接続全体にロード・バランシングするように構成する場合は、すべてのノードでTNSNAMES.ORA
ファイルを編集して、LISTENER_IBLOCAL
エントリにSDPエンドポイントを追加する必要があります。
注意:
|
次に例を示します。
LISTENER_IBLOCAL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = sclcgdb02ibvip.us.myco.com)(PORT=1522)) (ADDRESS = (PROTOCOL = SDP)(HOST = sclcgdb02-bvip.us.myco.com)(PORT=1522)) ) )
その後で、次のURLを使用して、LISTERNER_IB
ネットワーク上で接続を分散します。
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=SDP) (HOST=sclcgdb01-bvip.us.myco.com)(PORT=1522))(ADDRESS=(PROTOCOL=SDP) (HOST=sclcgdb02-ibvip.us.myco.com)(PORT=1522)))(CONNECT_DATA=(SERVICE_NAME=elservice)))
各JDBCデータ・ソースは、そのデータ・ソースのデプロイ時またはサーバーの起動時に作成されるJDBC接続のプールを1つ保持します。アプリケーションは、プールからの接続を使用して、その接続を使用後にプールに返します。接続のプーリングにより、アプリケーション用のデータベース接続を作成するという負担のかかるタスクを排除して、パフォーマンスを向上できます。
注意: 特定のOracle JDBC拡張機能または、他のドライバで使用可能な標準以外の方法により、接続の動作が永続的に変更され、プールされた接続の将来のユーザーがそれを継承することがあります。WebLogic Serverは、このようなタイプの呼出しに対して、可能な場合は接続の保護を試行します。 |
次の各項では、JDBCデータ・ソースの接続プール・オプションについて説明します。
次の項目を使用すると、さらに多くの情報を確認して、これらのオプションとその他の関連オプションを設定できます。
管理コンソールの「JDBCデータ・ソース: 構成: 接続プール」ページ。Oracle WebLogic Server管理コンソール・ヘルプの「JDBCデータ・ソース: 構成: 接続プール」を参照してください。
JDBCConnectionPoolParamsBean。これは、JDBCDataSourceBeanの子MBeanです。
WebLogic JDBCデータ・ソースは、JDBCドライバで実装されるjavax.sql.ConnectionPoolDataSource
インタフェースをサポートしています。ドライバ・レベルの機能は、JDBCデータ・ソースのProperties
属性にプロパティと値を追加することで有効化できます。Properties
属性のドライバ・レベルのプロパティは、ドライバのConnectionPoolDataSource
オブジェクトで設定します。
注意: JDBCデータ・ソースでは、 |
WebLogic JDBCデータ・ソースは、システム・プロパティの値を使用したドライバ・プロパティの設定をサポートしています。各プロパティの値は、指定されたシステム・プロパティから実行時に導出されます。接続ベースのシステム・プロパティを構成するには、管理コンソールを使用して、データ・ソース構成のSystem Properties
属性を編集します。
注意: WebLogic Serverの起動時に、Javaシステム・プロパティとして |
WebLogic Serverがデータ・ソース内にデータベース接続を作成したときに、サーバーがデータベース接続を初期化するSQLコードを自動的に実行するように設定できます。この機能を有効化するには、管理コンソールの「JDBCデータ・ソース: 構成: 接続プール」ページの「初期化SQL」属性で、SQL
と入力し、その後に実行するSQLコードを空白を挟んで入力します。または、SQL
を使用せずに単純な表名を指定できます。SELECT COUNT(*) FROM tablename
という文を使用します。この属性を空欄(デフォルト)のままにしておくと、WebLogic Serverは、データベース接続を初期化するコードを実行しなくなります。
WebLogic Serverは、データベース接続をデータ・ソースに作成するたびに、このコードを実行します。また、サーバー起動時、接続プールの拡張時および接続のリフレッシュ時にも、このコードを実行します。
この機能を使用して、DBMS固有の操作設定値(接続固有)を設定することも、必要な操作を実行するためのメモリーや権限を接続に用意することもできます。
コードの先頭には、SQL
と、それに続けて空白を入力します。たとえば、Oracle DBMSでは次のようになります。
SQL alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
Informix DBMSでは次のようになります。
SQL SET LOCK MODE TO WAIT
SQL文はJDBC Statement.execute()
を使用して実行します。InitSQLを使用して設定できるオプションは、DBMSに応じて異なります。サポートされている文については、データベース・ベンダーのドキュメントを参照してください。複数の文を実行する場合は、ストアド・プロシージャを作成して実行することもできます。この構文はベンダー固有です。たとえば、Oracleストアド・プロシージャを実行するには、次のように指定します。
SQL CALL MYPROCEDURE()
WebLogic Serverには、Oracleドライバの使用時にデータ・ソースのパフォーマンスを向上できる、いくつかの属性が用意されています。詳細は、「Oracleドライバおよびデータベースの詳細な構成」を参照してください。
次の項では、ONSクライアントを構成する方法について説明します。
データ・ソースで、Oracle高速アプリケーション通知(FAN)イベントへのサブスクライブと、このイベントの処理を有効化します。
「FANの有効化」
を選択します。
ONSベースのFANイベントを受信するための、ONSデーモンのリスニング・アドレスとリスニング・ポートのリストをカンマで区切って指定します。単一クライアント・アクセス名(SCAN)アドレスを使用すると、FAN通知にアクセスできます。
Oracle WebLogic Server管理コンソール・ヘルプのONSクライアント・パラメータの構成に関する項を参照してください。
通常、FANイベントを有効化する場合、予約時にテストを有効化する必要はありません。ただし、ONSサーバーが停止しているか、異常な状態である場合、「FANの有効化」
を無効化し、予約時にテストを有効化できます。詳細は、「データ・ソースの接続テスト・オプション」を参照してください。
SSLを使用してONSデーモンと通信するには、ウォレット・ファイルを使用する必要があります。「セキュアなONSクライアント通信」を参照してください。
WebLogic Serverには、Oracleドライバの使用時にデータ・ソースのパフォーマンスを向上できる、いくつかの属性が用意されています。詳細は、「Oracleドライバおよびデータベースの詳細な構成」を参照してください。
WebLogic Serverドメイン内のJDBCデータ・ソースで、接続プールの属性を適切に構成すると、アプリケーションとシステムのパフォーマンスを向上できます。詳細は、「データ・ソース接続プールのチューニング」を参照してください。
次の各項では、DBMSのセキュリティ資格証明を渡す方法について説明します。
注意: GridLinkデータ・ソースは、IDベースの接続プールをサポートしていません。 |
最も簡単なタイプの資格証明では、接続プールにDBMSのユーザー・アカウント名とパスワードを指定します。次に、プールのすべての接続が同じ資格証明を使用し、DBMSにアクセスします。Oracle WebLogic Server管理コンソール・ヘルプのJDBCデータ・ソースの作成に関する項を参照してください。
注意: 「プロパティ」フィールドに、名前と値のペアとしてパスワードを入力すること(本番環境では許可されません)、または「パスワード」フィールドにこれを入力することができます。物理データベース接続作成時にJDBCドライバに渡される「プロパティ」で定義されているパスワード値は、「パスワード」フィールドの値によりオーバーライドされます。プロパティ文字列のパスワード・プロパティのかわりにパスワード属性を使用することをお薦めします。パスワード値は構成ファイルで暗号化され(モジュール・ファイル内の |
データ・ソースで「接続時にクライアントIDを設定」
属性が有効化されている場合は、アプリケーションによってデータ・ソースのデータベース接続がリクエストされたときに、WebLogic Serverインスタンスが現在のWebLogicユーザーIDを判別し、そのユーザー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ベースの接続プールを有効化」を指定してください。 |
次の各項では、GridLink JDBCオブジェクトのモニタリングについて説明します。
JDBCのモニタリングの詳細は、「WebLogic JDBCリソースのモニタリング」を参照してください。
GridLinkデータ・ソースの実行時の統計は、管理コンソールを使用するか、関連するランタイムMBeanを通じて表示できます。
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) - ONSクライアント情報(LBAイベント本体を含む)をトレースします。
UPC JDKロギングを有効化にする場合は、http://download.oracle.com/docs/cd/B28359_01/java.111/e10788/get_started.htm#sthref67
の手順を実行してください。
次の各項では、GridLinkデータ・ソースを使用する際のベスト・プラクティスについて説明します。
アプリケーションは、すべての例外をキャッシュして処理する必要があります。GridLinkデータ・ソースを使用するアプリケーションは、流用された接続でJDBC操作を実行するときに、IO socket read error
などの例外を予期しておく必要があります。接続の有効性を検査して、必要なときには再接続することがベスト・プラクティスになります。接続の例外は、FANイベントの到着前にドライバが停止を検出した場合や、接続プールのクリーンアップの結果として発生することがあります。計画外停止イベントの場合は、その停止の影響を受けるすべての接続が、接続プールによって中断されます。
脚注の凡例
脚注1: たとえば、Oracle Data Guardなどです。