ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server JDBCデータ・ソースの構成と管理
12cリリース1 (12.1.1)
B65892-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

4 GridLinkデータ・ソースの使用

この章では、GridLinkデータ・ソースを構成およびチューニングする方法について説明します。

GridLinkデータ・ソースとは

単一のGridLinkデータ・ソースが、WebLogic ServerとOracle Databaseサービスの間の接続を提供します。これには、複数のOracle RACクラスタが含まれることがあります。脚注 1  Oracle RACインスタンスの状態変更に適応的に対処するために、Oracle Notification Service (ONS)が使用されます。Oracle Databaseサービスは、共通属性を持つ作業負荷を表します。これにより、管理者は単一のエンティティとして作業負荷を管理できます。クラスタ内のノード数に関係なく、データベース内のサービス数が増加するに従い、GridLinkデータ・ソース数をスケールします。

図4-1 GridLinkデータ・ソースの接続性

図4-1については周囲のテキストで説明しています

GridLinkデータ・ソースには、汎用データ・ソースと次に示すOracle RACサポートの機能が含まれます。

高速接続フェイルオーバー

GridLinkデータ・ソースは、高速接続フェイルオーバーを使用して、ONSでOracle RACイベントに応答します。これにより、GridLinkデータ・ソースの接続プールには、接続をポーリングまたはテストする必要がない、有効な接続(予約済接続を含む)が含まれることになります。

図4-2 高速接続フェイルオーバー

図4-2については周囲のテキストで説明しています

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トポロジの変更への対応

  • 高いパフォーマンスとスケーラビリティを実現するためのプール接続の管理

図4-3 実行時接続ロード・バランシング

図4-3については周囲のテキストで説明しています

FANが無効の場合、GridLinkデータ・ソースは、ラウンドロビン・ロード・バランシング・アルゴリズムで、Oracle RACノードに接続を割り当てます。


注意:

GridLinkデータ・ソースで接続が定期的に停止されることがあります。様々なRACインスタンスに割り当てられた接続がFANロード・バランシング・アドバイザリの実行時ロード・バランシングの割合に対応していない場合、超過しているインスタンスへの接続が破棄され、新しい接続が開かれます。このプロセスは、デフォルトで30秒ごとに行われます。

この動作は、weblogic.jdbc.gravitationShrinkFrequencySecondsシステム・プロパティを使用してチューニングできます。このプロパティは、システムが接続のリバランスを行うまでの待機時間を秒数で指定します。-1の値を指定すると、リバランス・プロセスが無効になります。


Oracle RAC停止時の正常操作

GridLinkデータ・ソースは、Oracle RACサービスの予定内外のシャットダウン時に正常な処置を行います。

  • 計画的停止の場合、データ・ソースは接続を閉じる前に処理中のトランザクションを完了できます。新しいリクエストが、アクティブなOracle RACインスタンスにロードバランスされます。

  • 予定外のシャットダウンでは、データ・ソースは、処理中のトランザクションを戻し、接続を切断します。新しいリクエストが、アクティブなOracle RACインスタンスにロードバランスされます。

Oracle RAC 11.2以前のOracle RAC停止の対処方法

Oracle RAC 11.2以前のリリースでは、最初に対応するサービスを停止せずに、Oracle RACインスタンスを手動で停止すると、予定外のシャットダウンにつながります。

GridLinkアフィニティ

WebLogic ServerのGridLinkアフィニティ・ポリシーは、RACクラスタを最大活用することによりアプリケーションのパフォーマンスを高めるように設計されています。GridLinkデータ・ソースは、AffEnabled属性を使用してRACクラスタでRACアフィニティが有効になっているかどうかを判別することにより、RACロード・バランシング・アドバイザリ(LBA)をモニターします。ランタイム接続ロード・バランシング(RCLB)を使用して最初の接続リクエストのロード・バランシングが行われ、そのリクエストがアフィニティ・コンテキストに割り当てられます。後続の接続リクエストはすべて、セッションが終了するか、トランザクションが完了するまで、最初の接続のアフィニティ・コンテキストを使用して同じOracle RACインスタンスにルーティングされます。次を参照:

セッション・アフィニティ・ポリシー

ユーザー・セッションで連続的なオンライン・トランザクション処理(OLTP)を行うWebアプリケーションのほうが、同じRACインスタンスで同じレコード・セットに対する操作を繰り返し行うよりも、パフォーマンスがよくなります。このパターンの典型的な例は、オンライン・ショッピングやオンライン・バンキングなどのビジネス・アプリケーションです。

GridLinkデータ・ソースでは、Webセッションのすべてのデータベース操作(トランザクションを含む)でRACクラスタの同じOracle RACインスタンスが使用されるように、セッション・アフィニティ・ポリシーを使用します。


注意:

コンテキストはHTTPセッションに格納されます。(1つのブラウザ内で、または複数のブラウザにわたって)ウィンドウがどのようにHTTPセッションにマップされるかは、アプリケーションにより決定されます。


セッション・アフィニティ・ポリシーを使用するGridLinkデータ・ソースがWebセッションのコンテキスト外部からアクセスされると、アフィニティ・ポリシーはXAアフィニティ・ポリシーに変わります。「XAアフィニティ・ポリシー」を参照してください。

図4-4 セッション・アフィニティ

図4-4については周囲のテキストで説明しています

GridLinkデータ・ソースのセッション・アフィニティ・ポリシーはデフォルトでは常に有効になっていますが、次の場合、セッション・アフィニティに対してWebセッションがアクティブになります。

  • Oracle RACが有効かつアクティブであり、サービスのRCLBが有効になっている場合。サービスGOAL (NOT CLB_GOAL)がSERVICE_TIMETHROUGHPUTのいずれかに設定されている場合、そのサービスのRCLBは有効です。

  • データベースによって、クラスタの待機時間に十分なパフォーマンス改善があると判断され、ペイロード内のアフィニティ・フラグがTRUEに設定された場合。

(データベースの可用性状況が高い場合など、)データベースによってセッション・アフィニティを実装してもメリットがないと判断された場合、データベース・ロード・バランシング・アルゴリズムはそのデフォルトの処理割当てポリシーに戻り、ペイロード内のアフィニティ・フラグがFALSEに設定されます。

XAアフィニティ・ポリシー

グローバル・トランザクションのXAアフィニティでは、Oracle RACクラスタで実行するグローバル・トランザクションのデータベース操作は、同じOracle RACインスタンスが対象となります。

図4-5 XAアフィニティ

図4-5については周囲のテキストで説明しています

SCANアドレス

単一クライアント・アクセス名(SCAN)アドレスで、WebLogicコンソールのTNSリスナーおよびONSリスナー双方のホストとポートを指定します。Oracle RACノードを追加・削除する場合、SCANアドレスを含むGridLinkデータ・ソースは変更する必要はありません。環境に応じて適切に構成されたSCANのURLについては、ネットワーク管理者にお問い合せください。


注意:

Oracle RAC 11.2以上を使用する場合は、次の点を考慮してください。

  • Oracle RACリスナーがSCANに設定されている場合、GridLinkデータ・ソース構成はSCANアドレスのみを使用できます。

  • Oracle RACリスナーがノードVIPのリストに設定されている場合、GridLinkデータ・ソース構成はVIPアドレスのリストのみを使用できます。

  • Oracle RACリスナーがSCANとノードVIPリストの組合せに設定されている場合、GridLinkデータ・ソース構成はSCANアドレスとVIPアドレスの両方を使用できます。

SCANアドレスの使用方法の詳細は、『Real Application Clusters管理およびデプロイメント・ガイド』の自動ワークロード管理の概要に関する項およびhttp://www.oracle.com/technetwork/database/clustering/overview/scan-129069.pdfを参照してください。


Oracle Walletを使用してセキュアな通信

この機能により、Oracle Walletを使用してONSリスナーとのセキュアな通信を構成できます。「セキュアなONSクライアント通信」を参照してください。

GridLinkデータ・ソースの作成

WebLogicドメインにGridLinkデータ・ソースを作成するには、管理コンソールまたはWebLogic Scripting Tool (WLST)を使用できます。

詳細は、次を参照してください。

次の項では、管理コンソールでデータ・ソースを作成するためのデータ・ソース構成ウィザードで実行する基本手順の概要を示します。

JDBCデータ・ソース・プロパティ

JDBCデータ・ソース・プロパティには、データ・ソースのアイデンティティを定義するオプション、およびデータベース接続でのデータ処理方法が含まれます。

データ・ソース名

JDBCデータ・ソース名は、WebLogicドメイン内でデータ・ソースを識別するために使用されます。システム・リソース・データ・ソースの場合、名前はデータ・ソースやマルチ・データ・ソースを含む他のすべてのJDBCシステム・リソースを通じて一意であることが必要です。名前の競合を避けるため、データ・ソース名はサーバー、アプリケーション、クラスタ、JMSキュー、JMSトピック、JMSサーバーなど、他の構成オブジェクト名の中でも一意であることが必要です。アプリケーションをスコープとするJDBCアプリケーション・モジュールの場合、データ・ソース名は同様のスコープを持つJDBCデータ・ソースとマルチ・データ・ソースを通じて一意であることが必要です。

JNDI名

単一または複数の名前でJNDIツリーにバインドされるように、データ・ソースを構成できます。1つのJDBC接続プールを指す複数のデータ・ソースを含む従来の構成のかわりに、複数のJNDI名を持つデータ・ソースを使用できます。詳細は、『Oracle WebLogic Server JNDIのプログラミング』を参照してください。

XAまたは非XAドライバの選択

データ・ソースによるグローバル・トランザクションの対処方法を指定します。

トランザクション・オプションの構成

管理コンソールを使用して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間の接続の構成に使用されます。通常属性には、サービス名、データベース名、ホスト名、ポート番号、ユーザー名、およびパスワードがあります。


注意:

サービス名を使用する際は、次の点を考慮してください。

  • データベース・ドメインを使用する場合、サービス名に接尾辞としてドメイン名を付ける必要があります。たとえば、データベース名がdb.us.oracle.comの場合、サービス名myservicemyservice.us.oracle.comとして入力する必要があります。

  • サービス名に大文字を使用することはできません。


コンソールを使用することで、次のいずれかの方法で接続プロパティを入力できます。

接続プロパティの入力

「GridLinkデータ・ソース接続プロパティのオプション」のページで、「個別のリスナー情報の入力」を選択し、「次へ」をクリックします。接続プロパティを入力します。例:

  • 「サービス名」myServiceを入力します。

  • 「ホストとポート」に、left:1234center:1234right: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)))

完全なURLの入力

「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クライアント構成の構成

「ONSクライアント構成」で、データ・ソースはOracle FANイベントに登録し、イベントを処理できるようにします。ONSクライアントを設定するには:

  • 「FANの有効化」を選択します。

  • 「ONSホストとポート」では、ONSベースのFANイベントを受信するためのONSデーモン・リスニング・アドレスおよびポートのカンマ区切りのリストを入力します。FAN通知へのアクセスには、単一クライアント・アクセス名(SCAN)アドレスを使用できます。

  • オプションで、SSLを使用してセキュアなONSクライアント通信を構成します。「セキュアな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

ONSクライアント構成のテスト

「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ドライバ・レベルの機能の有効化

WebLogic JDBCデータ・ソースは、JDBCドライバで実装されるjavax.sql.ConnectionPoolDataSourceインタフェースをサポートしています。JDBCデータ・ソース内のProperties属性にプロパティおよびその値を追加して、ドライバ・レベルの機能を有効化できます。Properties属性におけるドライバ・レベルのプロパティは、ドライバのConnectionPoolDataSourceオブジェクトで設定されます。


注意:

JDBCデータ・ソース内のProperties属性で、ドライバ・レベルのプロパティとしてFastConnectionFailoverEnabledConnectionCachingEnabledまたはConnectionCacheNameを使用しないでください。


接続ベースのシステム・プロパティの有効化

WebLogic JDBCデータ・ソースは、システム・プロパティの値によるドライバ・プロパティの設定をサポートします。各プロパティの値は、指定されたシステム・プロパティから実行時に取得されます。データ・ソース構成の「システム・プロパティ」属性を編集することで管理コンソールを使用して、接続ベースのシステム・プロパティを構成できます。


注意:

WebLogic Serverの起動時にJavaシステム・プロパティとしてoracle.jdbc.FastConnectionFailoverを指定しないでください。


SQLコードを使用したデータベース接続の初期化

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の値を変更する際には、データ・ソースをアンデプロイしてから再デプロイするか、またはサーバーを再起動する必要があります。


Oracleパラメータの構成

WebLogic Serverには、Oracleドライバの使用時にデータ・ソースのパフォーマンスを向上させる属性がいくつか用意されています。詳細は、「Oracleドライバとデータベースの詳細構成」を参照してください。

ONSクライアントの構成

次の項では、ONSクライアントの構成方法について説明します。

FANイベントの有効化

Oracle高速アプリケーション通知(FAN)イベントに登録し、イベントを処理するためにデータ・ソースを有効にします。

  1. 「FANの有効化」を選択します

  2. ONSベースのFANイベントを受信するためのONSデーモン・リスニング・アドレスおよびポートのカンマ区切りのリストを指定します。FAN通知へのアクセスには、単一クライアント・アクセス名(SCAN)アドレスを使用できます。

『Oracle WebLogic Server管理コンソールのヘルプ』ONSクライアント・パラメータの構成に関する項を参照してください。

汎用データ・ソース接続テストの構成

通常、FANイベントが有効になっている場合は、予約時のテストを有効にする必要はありません。ただし、ONSサーバーが停止している場合や通常の状態でない場合は、「FANの有効化」を無効にし、予約時のテストを有効にすることができます。詳細は、「データ・ソースの接続テスト・オプション」を参照してください。

Walletファイルの使用

SSLでONSデーモンと通信するためには、walletファイルを使用する必要があります。「セキュアなONSクライアント通信」を参照してください。

Oracleパラメータの構成

WebLogic Serverには、Oracleドライバの使用時にデータ・ソースのパフォーマンスを向上させる属性がいくつか用意されています。詳細は、「Oracleドライバとデータベースの詳細構成」を参照してください。

GridLinkデータ・ソース接続プールのチューニング

WebLogic ServerドメインのJDBCデータ・ソース内の接続プール属性を正しく構成することで、アプリケーションおよびシステムのパフォーマンスを向上できます。詳細は、「データ・ソースの接続プールのチューニング」を参照してください。

データベース・セキュリティ資格証明の設定

次の項では、セキュリティ資格証明をDBMSに渡す方法についての情報を提供します。


注意:

GridLinkデータ・ソースは、識別ベースの接続プールをサポートしません。


ユーザー名/パスワードの使用

資格証明の最も簡単なタイプの認証情報は、接続プールにDBMSのユーザー・アカウント名およびパスワードを提供することです。そうすると、プール内のすべての接続は、同じ認証情報を使用してDBMSにアクセスします。Oracle WebLogic Server管理コンソール・ヘルプJDBCデータ・ソースの作成に関する項を参照してください。


注意:

パスワードは「プロパティ」フィールドに名前と値の組み合わせとして入力すること(本番環境では許可されません)も、「パスワード」フィールドに入力することも可能です。「パスワード」フィールドの値は、物理的なデータベース接続を作成するときにJDBCドライバに渡されるPropertiesで定義されている、いかなるpassword値をもオーバーライドします。プロパティ文字列でパスワード・プロパティのかわりにPassword属性を使用することをお薦めします。なぜなら、Password値は構成ファイル内で暗号化(モジュール・ファイルのjdbc-driver-paramsタグでpassword-encrypted属性として保存)され、管理コンソールでは表示されなくなるからです。


接続時にクライアントIDを設定

データ・ソースで「接続時にクライアントIDを設定」属性が有効になっている場合は、アプリケーションによってデータ・ソースのデータベース接続がリクエストされたときに、WebLogic Serverインスタンスが現在のWebLogicユーザーIDを判別し、マップされているデータベースIDを軽量なクライアントIDとして設定します。この場合も、プール内のすべての接続で同じ資格証明を使用してDBMSにアクセスします。基本的な構成手順は次のとおりです。

  1. 「接続時にクライアントIDを設定」を選択し、Oracle WebLogic Server管理コンソール・ヘルプJDBCデータ・ソースに対する接続時に「クライアントIDの設定」の有効化に関する項を参照してください。


    注意:

    WebLogicユーザーIDおよびデータベースIDをマッピングするための資格証明マッピングは、Oracle Thinドライバを使用するOracleデータベースでのみサポートされます。この機能は、Oracle DMSドライバではサポートされません。


  2. 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リソースのモニター

次の項では、GridLink JDBCオブジェクトのモニターについて詳細に説明します。

JDBC監視の詳細は、「WebLogic JDBCリソースのモニター」を参照してください。

実行時の統計の表示

管理コンソールまたは関連するランタイムMBeansを通じてGridLinkデータ・ソースのランタイム統計を参照できます。

JDBCOracleDataSourceInstanceRuntimeMBean

JDBCOracleDataSourceInstanceRuntimeMBeanは、データ・ソース・インスタンスの現在の状態を得る方法を提供します。詳細は、Oracle WebLogic Server MBeanリファレンスJDBCOracleDataSourceInstanceRuntimeMBeanを参照してください。

JDBCDataSourceRuntimeMBean

JDBCDataSourceRuntimeMBeanは、データ・ソース・インスタンスの現在の状態を得る方法を提供します。JDBCDataSourceRuntimeMBeanは、データ・ソースの現在の状態およびアクティブな平均接続数、現在のアクティブな接続数および最大アクティブ接続数など、データ・ソースの統計データの取得方法を提供します。詳細は、Oracle WebLogic Server MBeanリファレンスJDBCDataSourceRuntimeMBeanを参照してください。

ONSDaemonRuntimeMBean

ONSDaemonRuntimeMBeanは、GridLinkデータ・ソースと関連付けられたONSクライアント構成を監視する方法を提供します。詳細は、Oracle WebLogic Server MBeanリファレンスONSDaemonRuntimeMBeanに関する項を参照してください。

GridLinkデータ・ソースのデバッグ

WebLogic Serverのデバッグ機能をアクティブにして、アプリケーション内の特定の問題を追跡できます。

JDBCのデバッグ・スコープ

次に、JDBCの登録されたデバッグ・スコープを示します。

  • DebugJDBCRAC (スコープweblogic.jdbc.racl): GridLinkデータ・ソースのライフ・サイクル、UCPコールバックおよび接続情報を印刷します。

  • DebugJDBCONS (スコープweblogic.jdbc.connection): LBAイベント本体を含むONSクライアント情報を追跡します。

UCP JDKロギング

http://download.oracle.com/docs/cd/B28359_01/java.111/e10788/get_started.htm#sthref67の指示に従って、UPC JDKロギングを有効にできます。

コマンド・ラインを使用してデバッグを有効化する

コマンド・ラインで適切なGridLinkデータ・ソース・デバッギング・プロパティを指定します。例:

-Dweblogic.debug.DebugJDBCRAC=true 
-Dweblogic.debug.DebugJDBCONS=true
-Dweblogic.debug.DebugJDBCUCP=true

この方法は静的なものであり、サーバーの起動時にのみ使用できます。

GridLinkデータ・ソースのベスト・プラクティス

次の項では、GridLinkデータ・ソースを使用するためのベスト・プラクティスについて説明します。

例外の捕捉と処理

アプリケーションは、すべての例外を捕捉して処理する必要があります。GridLinkデータ・ソースを使用するアプリケーションは、借りている接続でJDBC操作を実行する際にIOソケット読取りエラーなどの例外を想定する必要があります。ベスト・プラクティスは、接続の有効性をチェックし、必要に応じて再接続することです。接続の例外は、ドライバがFANイベントの到着よりも早く停止を検出した場合や、接続プールのクリーン・アップの結果として発生します。予定外の停止イベントが発生すると、接続プールは、停止の影響を受ける借りている接続をすべて中止します。



脚注凡例

脚注 1: F: たとえば、Oracle Data Guardなどです。