ヘッダーをスキップ
Oracle® Database PL/SQLパッケージおよびタイプ・リファレンス
11g リリース2(11.2)
B56262-06
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

37 DBMS_CONNECTION_POOL

DBMS_CONNECTION_POOLパッケージは、データベース常駐接続プールを管理するインタフェースを提供します。


関連項目:

データベース常駐接続プールの詳細は、『Oracle Database概要』を参照してください。

この章では、次の項目について説明します。


DBMS_CONNECTION_POOLサブプログラムの要約

表37-1 DBMS_CONNECTION_POOLパッケージのサブプログラム

サブプログラム 説明

ALTER_PARAMプロシージャ


特定の構成パラメータをスタンドアロン単位で変更します。他のパラメータは影響を受けません。

CONFIGURE_POOLプロシージャ


拡張オプションでプールを構成します。

START_POOLプロシージャ


操作を行うためにプールを開始します。これがコールされた後に、接続クライアントがプールを使用してセッションを作成できます。

STOP_POOLプロシージャ


プールを停止し、登録されている接続クライアントに対してプールを使用不可にします。

RESTORE_DEFAULTSプロシージャ


プールをデフォルト設定に戻します。



ALTER_PARAMプロシージャ

このプロシージャは、特定の構成パラメータをスタンドアロン単位で変更します。他のパラメータは影響を受けません。

構文

DBMS_CONNECTION_POOL.ALTER_PARAM (
   pool_name     IN  VARCHAR2 DEFAULT 'SYS_DEFAULT_CONNECTION_POOL',   param_name    IN  VARCHAR2,   param_value   IN  VARCHAR2);

パラメータ

表37-2 ALTER_PARAMプロシージャのパラメータ

パラメータ 説明

pool_name

構成するプール。現在は、デフォルトのプール名のみがサポートされています。

param_name

CONFIGURE_POOLからの任意のパラメータ名。

param_value

param_nameのパラメータ値。


例外

表37-3 ALTER_PARAMプロシージャの例外

例外 説明

ORA-56500

接続プールが見つかりません

ORA-56504

接続プール構成パラメータ名が無効です

ORA-56505

接続プール構成パラメータ値が無効です

ORA-56507

接続プールの変更構成に失敗しました


DBMS_CONNECTION_POOL.ALTER_PARAM(
   'SYS_DEFAULT_CONNECTION_POOL', 'MAX_LIFETIME_SESSION', '120'); 

CONFIGURE_POOLプロシージャ

このプロシージャは、拡張オプションでプールを構成します。

構文

DBMS_CONNECTION_POOL.CONFIGURE_POOL (
   pool_name                IN VARCHAR2 DEFAULT 'SYS_DEFAULT_CONNECTION_POOL',
   minsize                  IN NUMBER   DEFAULT 4,
   maxsize                  IN NUMBER   DEFAULT 40,
   incrsize                 IN NUMBER   DEFAULT 2,
   session_cached_cursors   IN NUMBER   DEFAULT 20,
   inactivity_timeout       IN NUMBER   DEFAULT 300,
   max_think_time           IN NUMBER   DEFAULT 120,
   max_use_session          IN NUMBER   DEFAULT 500000,
   max_lifetime_session     IN NUMBER   DEFAULT 86400);

パラメータ

表37-4 CONFIGURE_POOLプロシージャのパラメータ

パラメータ 説明

pool_name

構成するプール。現在は、デフォルトのプール名のみがサポートされています。

minsize

プール内にプールされるサーバーの最小数。

maxsize

プール内にプールできるサーバーの最大数。

incrsize

アプリケーションの要求時に、プールされたサーバーが使用不可になっている場合、プールを増大させるプールされたサーバーの数。

session_cached_cursors

プールのすべての接続でSESSION_CACHED_CURSORSを有効にします。これは、既存のinit.oraパラメータです。

inactivity_timeout

プールのアイドル・セッションのTTL(有効期間)。このパラメータは、プールが最大容量まで使用されていないときに、プールを縮小するのに役立ちます。この期間中プール接続がアイドル状態のまま続くと、接続は切断されます。

max_think_time

プールからセッションを取得した後、クライアントが非アクティブな状態を保持する最大時間。プールからサーバーを取得した後にクライアントがデータベース・コールを発行しない場合、プールされたサーバーの制御が強制的に解放され、クライアント側でORA-xxxxxエラーが発生します。解放されたサーバーは、プールに戻される場合と、戻されない場合があります。

max_use_session

接続を取得し、プールに解放できる最大回数。

max_lifetime_session

プールされたセッションのTTL(有効期間)。


例外

表37-5 CONFIGURE_POOLプロシージャの例外

例外 説明

ORA-56500

接続プールが見つかりません

ORA-56507

接続プールの変更構成に失敗しました


使用上の注意

  • 時間はすべて秒単位で指定します。

  • すべてのパラメータは、要求パターンの統計に基づいて設定する必要があります。

  • minsizeは、サーバー・リソースの消費に下限が設けられることを考慮して設定する必要があります。このパラメータは、非アクティブ期間が短い場合に、タイムアウトによってプールが極端に少なくなることを防ぎます。

  • maxsizeは、同時実行性、応答時間およびサーバー・リソースの消費に上限が設けられることを考慮して設定する必要があります。

  • session_cached_cursorsは、通常、最も頻繁に使用される文の数に設定されます。これにより、サーバーのカーソル・リソースが占有されます。

  • 不確かな場合は、incrementおよびinactivity_timeoutは設定しないでください。プールには、適切なデフォルト値が使用されます。

  • max_use_sessionおよびmax_lifetime_sessionは、一定期間に新しいセッションを取得することで、潜在的なバグ、リーク、蓄積、問題などに対してソフトウェアの回復または予防的アプローチを可能にします。

  • 接続プールでは、プールされたサーバーの5%が認証のために保持され、少なくとも1つのプールされたサーバーが認証のために常時保持されます。maxsizeパラメータの設定時には、認証と接続の両方に対して十分な数のプールされたサーバーがあることを確認します。


START_POOLプロシージャ

このプロシージャは、操作を行うためにプールを開始します。これがコールされた後に、接続クラスがプールを使用してセッションを作成できます。

構文

DBMS_CONNECTION_POOL.START_POOL (
   pool_name  IN  VARCHAR2 DEFAULT 'SYS_DEFAULT_CONNECTION_POOL');

パラメータ

表37-6 START_POOLプロシージャのパラメータ

パラメータ 説明

pool_name

開始するプール。現在は、デフォルトのプール名のみがサポートされています。


例外

表37-7 START_POOLプロシージャの例外

例外 説明

ORA-56500

接続プールが見つかりません

ORA-56501

接続プールの起動に失敗しました


使用上の注意

インスタンスを再起動(停止後に起動)すると、プールは自動的に開始されます。


STOP_POOLプロシージャ

このプロシージャは、プールを停止し、登録されている接続クラスに対してプールを使用不可にします。

構文

DBMS_CONNECTION_POOL.STOP_POOL (
   pool_name   IN   VARCHAR2 DEFAULT 'SYS_DEFAULT_CONNECTION_POOL');

パラメータ

表37-8 STOP_POOLプロシージャのパラメータ

パラメータ 説明

pool_name

停止するプール。現在は、デフォルトのプール名のみがサポートされています。


例外

表37-9 STOP_POOLプロシージャの例外

例外 説明

ORA-56500

接続プールが見つかりません

ORA-56506

接続プールの停止に失敗しました


使用上の注意

このプロシージャにより、プールが停止しオフラインになります。プールに関連付けられた永続的なデータ(プール名、構成パラメータなど)は破損しません。


RESTORE_DEFAULTSプロシージャ

このプロシージャは、プールをデフォルト設定に戻します。

構文

DBMS_CONNECTION_POOL.RESTORE_DEFAULTS (
   pool_name   IN  VARCHAR2 DEFAULT 'SYS_DEFAULT_CONNECTION_POOL');

パラメータ

表37-10 RESTORE_DEFAULTSプロシージャのパラメータ

パラメータ 説明

pool_name

戻されるプール。現在は、デフォルトのプール名のみがサポートされています。


例外

表37-11 RESTORE_DEFAULTSプロシージャの例外

例外 説明

ORA-56500

接続プールが見つかりません

ORA-56507

接続プールの変更構成に失敗しました


使用上の注意

インスタンスを再起動(停止後に起動)すると、プールは自動的に開始されます。