Administration Console オンライン ヘルプ

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

JDBC データ ソース : コンフィグレーション : 接続プール

コンフィグレーション オプション     詳細なコンフィグレーション オプション     関連タスク     関連トピック

JDBC データ ソース内の接続プールには JDBC 接続の グループが含まれ、アプリケーションはそのグループを予約し、 使用して、プールに返します。接続プールとその接続は、接続プールの 登録時 (通常は WebLogic Server の起動時または新しい対象への データ ソースのデプロイ時) に作成されます。

このページでは、このデータ ソースの接続プールのコンフィグレーション を定義します。

コンフィグレーション オプション

名前 説明
URL

接続先データベースの URL。URL の書式は、使用する JDBC ドライバによって異なります。

URL は、物理データベース接続を作成するために JDBC ドライバに渡されます。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCDriverParamsBean.Url

変更は、モジュールの再デプロイ後またはサーバの再起動後に有効になります。

ドライバ クラス名

接続プールでの物理データベース接続の作成に使用する JDBC ドライバ クラスの完全パッケージ名 (このドライバ クラスは、デプロイ先のいずれかのサーバのクラスパスに含まれる 必要があります)。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCDriverParamsBean.DriverName

変更は、モジュールの再デプロイ後またはサーバの再起動後に有効になります。

プロパティ

物理的なデータベース接続の作成で使用するために JDBC ドライバに渡される プロパティのリスト (たとえば、「server=dbserver1」の対)。「プロパティ=値」の 対は、それぞれ別の行に記述します。

ドライバ レベルの機能を有効にするには、ドライバ プロパティとその値を [プロパティ] リストに追加します。[プロパティ] リストにあるドライバ レベルの プロパティがドライバの ConnectionPoolDataSource オブジェクトに 設定されます。

注意 :
セキュリティ上の理由で、WebLogic Server がプロダクション モードで 動作している場合は、このプロパティ リストにデータベース パスワードを指定 することはできません。プロパティ リストにパスワードが指定されていると、 データ ソースのデプロイメントが失敗します。このセキュリティ チェックを オーバーライドするには、サーバの起動時にコマンドライン引数 "weblogic.management.allowClearTextPasswords" を使用 します。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCDriverParamsBean.Properties

変更は、モジュールの再デプロイ後またはサーバの再起動後に有効になります。

パスワード

物理データベース接続の作成時に JDBC ドライバに渡されるパスワード属性。

値は暗号化された形式で記述子ファイルに格納され、暗号化された形式で Administration Console に表示されます。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCDriverParamsBean.Password

変更は、モジュールの再デプロイ後またはサーバの再起動後に有効になります。

初期容量

接続プールの作成時に作成する物理接続の数。

接続をこの数だけ作成できない場合、この接続プールの作成は失敗します。

これは、接続プールで使用可能な状態が保持される最小の物理接続数でもあります。

最小値: 0

最大値: 2147483647

最大容量

この接続プールが保有できる物理接続の最大数。

増加容量

接続プールに新しい接続が追加される際に作成する接続の数。

接続リクエストに応えるために利用可能な物理接続がなくなった場合、ここに指定されている数だけ物理接続が追加で作成され、接続プールに追加されます。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCConnectionPoolParamsBean.CapacityIncrement

最小値: 1

最大値: 2147483647

ステートメント キャッシュの種類

ステートメント キャッシュに格納されたプリペアド ステートメントの管理に使用するアルゴリズム。

次のオプションがあります。

  • [LRU] - 新しいプリペアド ステートメントおよび呼び出し可能ステートメントが使用されたときに、最も長い時間未使用のステートメントがキャッシュ内で置換されます。

  • [固定] - 最初の固定数のプリペアド ステートメントおよび呼び出し可能ステートメントがキャッシュされます。



MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCConnectionPoolParamsBean.StatementCacheType

変更は、モジュールの再デプロイ後またはサーバの再起動後に有効になります。

ステートメント キャッシュ サイズ

キャッシュに格納されるプリペアド ステートメントおよび呼び出し可能ステートメントの数 (これによって、サーバのパフォーマンスが向上する場合があります)。

再ロードせずにキャッシュ内のステートメントを再利用できるため、サーバのパフォーマンスが向上する場合があります。接続プール内の接続ごとに、独自のステートメント キャッシュが保持されます。

ステートメントのキャッシュ サイズを 0 に設定すると、ステートメントのキャッシュは行われません。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCConnectionPoolParamsBean.StatementCacheSize

最小値: 0

最大値: 1024

詳細なコンフィグレーション オプション

名前 説明
テスト対象のテーブル名

物理データベース接続のテスト時に使用するデータベース テーブルの名前。[テスト頻度] を指定し、[予約時に接続をテスト] を有効化した場合、この名前は必須になります。

接続のテストに使用されるデフォルトの SQL コードは次のとおりです。select count(*) from TestTableName

ほとんどのデータベース サーバはこの SQL を最適化してテーブル スキャンを回避しますが、[テスト対象のテーブル名] を、行が少ない (またはまったくない) テーブルの名前に設定することも有益です。

[テスト対象のテーブル名] が「SQL」で始まる場合、「SQL」より後の文字列は、標準のクエリの代わりに接続をテストするリテラルの SQL ステートメントとして扱われます。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCConnectionPoolParamsBean.TestTableName

初期化 SQL

新しく作成した物理データベース接続を初期化するときに実行される SQL ステートメント。ステートメントの記述は「SQL」で開始し、その後はスペースとします。

[初期化 SQL] 値が「SQL」で始まる場合、「SQL」より後の文字列は、データベース接続を初期化するリテラルの SQL ステートメントとして扱われます。[初期化 SQL] 値が「SQL」で始まらない場合、その値はテーブルの名前として扱われ、次の SQL ステートメントが接続の初期化に使用されます。
select count(*) from InitSQL

テーブル InitSQL が存在し、接続を使用するデータベース ユーザからアクセスできる必要があります。ほとんどのデータベース サーバはこの SQL を最適化してテーブル スキャンを回避しますが、InitSQL を行が少ない (またはまったくない) テーブルの名前に設定することも有益です。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCConnectionPoolParamsBean.InitSql

変更は、モジュールの再デプロイ後またはサーバの再起動後に有効になります。

予約時に接続をテスト

接続をクライアントに渡す前に WebLogic Server でテストできるようにします ([テスト対象のテーブル名] を指定する必要があります)。

このテストを行うと、クライアントがプールに接続を要求した場合、その要求に応えるまでに短い遅延が生じますが、クライアントでは有効な接続を確実に受け取ることができます。

このテストは、failover アルゴリズムを使用するマルチ データ ソース内で使われる接続プールで必要とされます。

テスト頻度

未使用の接続がテストされる秒間隔 ([テスト対象のテーブル名] を指定する必要があります)。テストに失敗した接続は閉じられ、再度開かれて有効な物理接続が再確立されます。テストが再度失敗すると、その接続は閉じられます。

0 に設定すると、定期的なテストは無効化されます。

アイドル プール接続を信頼する秒数

接続がアプリケーションに渡される前、または定期的な接続テストの処理中に、その接続がまだ有効であると信頼されて接続テストがスキップされる接続使用の秒数。

これは、特に大量のトラフィックが発生している場合に接続テストがパフォーマンスに及ぼす影響を最小限に抑える最適化オプションです。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCConnectionPoolParamsBean.SecondsToTrustAnIdlePoolConnection

最小値: 0

最大値: 2147483647

縮小頻度

要求に合わせてインクリメンタルに容量が増大した接続プールを縮小するまでの待機秒数。

0 に設定すると、縮小機能は無効化されます。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCConnectionPoolParamsBean.ShrinkFrequencySeconds

最小値: 0

最大値: 2147483647

接続作成の再試行間隔

データベースへの接続を確立する試行の間隔 (秒)。

この値を設定しないと、データベースが使用できない場合にデータ ソースの作成が失敗します。この値を設定して、データ ソースの作成時にデータベースが使用できない場合、指定した秒数が経過するたびにプール内における接続の作成を再試行し、成功するまで続行します。

0 に設定すると、接続の再試行は無効化されます。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCConnectionPoolParamsBean.ConnectionCreationRetryFrequencySeconds

最小値: 0

最大値: 2147483647

ログイン遅延

各物理データベース接続を作成するまでにかかる遅延時間 (秒)。この遅延により、短時間に連続する複数の接続リクエストを処理できないデータベース サーバがサポートされます。

この遅延は、最初にデータ ソースが作成されるときにも、データ ソースの生存期間中に物理データベース接続が作成されるときにも発生します。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCConnectionPoolParamsBean.LoginDelaySeconds

最小値: 0

最大値: 2147483647

変更は、モジュールの再デプロイ後またはサーバの再起動後に有効になります。

接続使用状況のプロファイル

データ ソースの接続プールの接続を現在使用しているスレッドに関する プロファイル情報を収集します。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCConnectionPoolParamsBean.ProfileType

待機中の接続予約のプロファイル

データ ソースからの接続の予約を現在待機しているスレッドに関する プロファイル情報を収集します。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCConnectionPoolParamsBean.ProfileType

接続リークのプロファイル

データ ソースからの接続を予約し、その接続がリークした (接続プールに正常に返されなかった) スレッドに関する プロファイル情報を収集します。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCConnectionPoolParamsBean.ProfileType

失敗した接続予約のプロファイル

データ ソースからの接続を予約しようとして失敗したスレッドに関する プロファイル情報を収集します。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCConnectionPoolParamsBean.ProfileType

ステートメント キャッシュ エントリのプロファイル

ステートメント キャッシュに追加されたプリペアド ステートメントと呼び出し可能ステートメント、 およびキャッシュされたステートメントから発生したスレッドのプロファイル情報を 収集します。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCConnectionPoolParamsBean.ProfileType

ステートメント使用状況のプロファイル

ステートメント キャッシュの SQL ステートメントを現在実行しているスレッドに 関するプロファイル情報を収集します。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCConnectionPoolParamsBean.ProfileType

接続の最終使用状況のプロファイル

最後に接続を使用した直前のスレッドに関するプロファイル情報を 収集します。

この情報は、保留中のトランザクションによって後続の XA 操作が失敗している場合など、接続の問題をデバッグする際に 役立ちます。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCConnectionPoolParamsBean.ProfileType

マルチスレッド接続使用状況のプロファイル

異なるスレッドによって以前に取得された接続を不正に使用している スレッドに関するプロファイル情報を収集します。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCConnectionPoolParamsBean.ProfileType

収集間隔 (秒) のプロファイル

プロファイル データが収集される間隔 (秒)。

0 に設定すると、データの収集は無効化されます。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCConnectionPoolParamsBean.ProfileHarvestFrequencySeconds

最小値: 0

最大値: 2147483647

ドライバ インターセプタ

JDBC ドライバに対するメソッド呼び出しのインターセプトに使用されるアプリケーション クラスの絶対名を指定します。指定するアプリケーションは、weblogic.jdbc.extensions.DriverInterceptor インタフェースを実装している必要があります。

Weblogic Server は、JDBC ドライバ内のメソッドを呼び出す前後に、登録されたアプリケーションの preInvokeCallback()、postInvokeExceptionCallback()、および postInvokeCallback() メソッドを呼び出します。この機能を使用すると、JDBC ドライバの使用状況のプロファイルや、以下のモニタを行うことができます。

  • 実行中のメソッド

  • 送出された例外

  • メソッドを実行しているドライバ内部で経過した時間

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCConnectionPoolParamsBean.DriverInterceptor

変更は、モジュールの再デプロイ後またはサーバの再起動後に有効になります。

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

データ ソースの資格マッピングを有効化します。アプリケーションがデータベース接続を要求すると、データベース ID のマップに基づいて、データベース接続に対して軽量クライアント ID が設定されます。

また、WebLogic Server ユーザ ID のマップをデータベース ユーザ ID に指定する必要があります (資格マッピング)。

この機能は、JDBC ドライバおよび DBMS の機能に依存します。すべてのドライバおよび DBMS でサポートされるわけではありません。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCConnectionPoolParamsBean.CredentialMappingEnabled

変更は、モジュールの再デプロイ後またはサーバの再起動後に有効になります。

非アクティブ接続タイムアウト

WebLogic Server によって接続が再び要求されて接続プールに戻されるまでに、予約接続が非アクティブな秒数。

[非アクティブ接続タイムアウト] の機能を使用すると、リークされた接続 (アプリケーションによって明示的に閉じられなかった接続) を再び要求できます。これは、接続を正常に閉じるために使用する機能ではありません。

0 に設定すると、この機能は無効化されます。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCConnectionPoolParamsBean.InactiveConnectionTimeoutSeconds

最小値: 0

最大値: 2147483647

接続の最大待機数

データ ソースの接続プールからの接続の予約を待機する間、同時にスレッドをブロックできる接続リクエストの最大数。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCConnectionPoolParamsBean.HighestNumWaiters

最小値: 0

最大値: 2147483647

接続予約のタイムアウト

接続プールから接続を予約する呼び出しがタイムアウトになるまでの秒数。

0 に設定すると、呼び出しはタイムアウトにはなりません。

-1 に設定すると、呼び出しは即座にタイムアウトになります。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCConnectionPoolParamsBean.ConnectionReserveTimeoutSeconds

最小値: -1

最大値: 2147483647

ステートメント タイムアウト

現在実行されているステートメントがタイム アウトするまでの時間。

StatementTimeout は、基底の JDBC ドライバのサポートに依存します。WebLogic Server では、java.sql.Statement.setQueryTimeout() メソッドを使用して、指定された時間を JDBC ドライバに渡します。使用している JDBC ドライバでこのメソッドをサポートしていない場合、例外が送出されてタイムアウト値が無視されることがあります。

-1 に設定すると、この機能は無効になります。

0 は、ステートメントがタイムアウトしないことを意味します。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCConnectionPoolParamsBean.StatementTimeout

最小値: -1

最大値: 2147483647

変更は、モジュールの再デプロイ後またはサーバの再起動後に有効になります。

使用中の接続を無視

プールから取得した接続がまだ使用されている場合でも、データ ソースを停止できるようにします。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCConnectionPoolParamsBean.IgnoreInUseConnectionsEnabled

変更は、モジュールの再デプロイ後またはサーバの再起動後に有効になります。

スレッドに固定

PinnedToThread は、アプリケーションによって論理接続が閉じられた後でもプールされたデータベース接続を実行スレッドが保持できるようにすることによって、パフォーマンスを向上できるオプションです。

PinnedToThread を有効にすると、アプリケーションが実行スレッドを使用して初めて接続を予約するときに接続プールからのデータベース接続がその実行スレッドに固定されます。アプリケーションで接続の使用が終了し、接続を接続プールに返す connection.close() が呼び出されても、接続は実行スレッドに固定された状態で保持され、接続プールに返されません。その後、アプリケーションが同じ実行スレッドを使用して接続を要求すると、WebLogic Server によってスレッドで予約済みの接続が提供されます。

PinnedToThread を使用すると、複数のスレッドが同時に接続を予約しようとする場合に発生する、接続プールでのロックの競合がなく、限られた数のデータベース接続から同じ接続を予約しようとするスレッドの競合もありません。

アプリケーションが同じ実行スレッドを使用して接続プールからの複数の接続を同時に予約する場合には、追加のデータベース接続が作成され、それらがスレッドに固定されます。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCConnectionPoolParamsBean.PinnedToThread

変更は、モジュールの再デプロイ後またはサーバの再起動後に有効になります。

影響のある接続の削除を有効化

アプリケーションで基底のベンダ接続オブジェクトが使用された後で、接続プールから接続を削除するかどうかを指定します。

影響のある接続の削除を無効化すると、データベース接続が他のアプリケーションでの再利用に適していることを確認する必要があります。

true (デフォルト) に設定すると、アプリケーションで論理的な接続が閉じられた後に、物理的な接続が接続プールに返されません。代わりに、物理的な接続は閉じられ、再作成されます。

false に設定すると、アプリケーションで論理的な接続が閉じられたときに、物理的な接続は接続プールに返され、そのアプリケーションや別のアプリケーションによって再利用できます。

MBean 属性 (アプリケーション モジュールには適用しない) :
JDBCConnectionPoolParamsBean.RemoveInfectedConnections

変更は、モジュールの再デプロイ後またはサーバの再起動後に有効になります。

関連タスク

関連トピック

 

Skip navigation bar ページの先頭