123 DBMS_PROCESS

DBMS_PROCESSパッケージは、事前生成サーバーを管理するためのインタフェースを提供します。

123.1 DBMS_PROCESSの概要

Oracle Databaseは、デフォルトで、フォアグラウンド・プロセスを事前生成してクライアント接続のパフォーマンスを向上させることができます。

事前生成されたプロセスとは、生成されたもののまだセッションが割り当てられていないプロセスのことです。ユーザーがデータベースに接続する場合、またはサービス・プロセスが必要な場合、プロセスでは必要に応じて追加の初期化が実行されます。

フォアグラウンド・プロセスを管理するには、DBMS_PROCESSパッケージを使用します。このパッケージのプロシージャは、接続プールのフォアグラウンド・プロセス数の構成、接続プールの起動および接続プールの停止を行います。

参照:

  • 事前作成されたプロセスの管理の詳細は、『Oracle Database管理者ガイド』を参照してください。

  • 専用サーバーの生成方法を決定するUSE_DEDICATED_BROKERパラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。TRUEの場合、リスナーは専用サーバーを生成する専用接続ブローカに接続を送信できます。FALSEの場合、リスナーは専用サーバーを直接生成するように設定されます。

123.2 DBMS_PROCESSのセキュリティ・モデル

DBMS_PROCESSパッケージを使用するには、SYSDBA管理者権限が付与されている必要があります。

123.3 DBMS_PROCESSサブプログラムの要約

この表は、DBMS_PROCESSサブプログラムを示し、簡単に説明しています。

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

サブプログラム 説明

CONFIGURE_POOLプロシージャ

フォアグラウンド接続プールの事前生成される最小プロセス数、バッチで事前生成されるプロセス数および事前生成される初期のプロセス数を構成します。

START_POOLプロシージャ

事前生成されたフォアグラウンド・プロセス・プールを起動します。

STOP_POOLプロシージャ

事前生成されたフォアグラウンド・プロセス・プールを停止します。

123.3.1 CONFIGURE_POOLプロシージャ

このプロシージャは、フォアグラウンド接続プールの事前生成される最小プロセス数、バッチで事前生成されるプロセス数および事前生成される初期のプロセス数を構成します。

構文

DBMS_PROCESS.CONFIGURE_POOL(
   pool_name       IN  VARCHAR2 DEFAULT "SYS_DEFAULT_FOREGROUND_POOL",
   min_count       IN  NUMBER DEFAULT 10,
   batch_count     IN  NUMBER DEFAULT 20,
   init_count      IN  NUMBER DEFAULT 0);

パラメータ

表123-2 CONFIGURE_POOLプロシージャのパラメータ

パラメータ 説明

pool_name

フォアグラウンド・プールの名前。

min_count

事前生成されたプロセスのバッチがプール内に生成されるまでの数(デフォルトは10。プロセスの最大数は64,000)。

batch_count

プール内に生成される事前生成されたサーバーのバッチ(デフォルトは20)。min_countbatch_countの値の合計値は、PROCESSESパラメータの値を超えることはできません。

init_count

起動時に生成される、または大量の接続の前にバッチで生成される一連の事前生成されたサーバー(デフォルトは0)。PROCESSESパラメータの値を超えることはできません。

例外

表123-3 CONFIGURE_POOLプロシージャの例外

エラー 説明

ORA-456

事前生成が有効になっていません。

ORA-457

事前生成プールが見つかりません。

ORA-458

事前生成プールがすでに起動されています。

ORA-459

事前生成プールが起動されていません。

ORA-460

プロセス・プールの構成値が無効です。

使用上の注意

  • フォアグラウンド・プロセスに関する情報を見つけるには、V$PROCESS_POOL動的ビューを問い合せます。

BEGIN
  DBMS_PROCESS.CONFIGURE_POOL (
   pool_name   => 'hrdb_pool',
   min_count   => 40,
   batch_count => 20,
   init_count  => 10);
END;
/

123.3.2 START_POOLプロシージャ

このプロシージャは、事前生成されたフォアグラウンド・プロセス・プールを起動します。

構文

DBMS_PROCESS.START_POOL(
   pool_name      IN  VARCHAR2 DEFAULT "SYS_DEFAULT_FOREGROUND_POOL");

パラメータ

表123-4 START_POOLプロシージャのパラメータ

パラメータ 説明

pool_name

事前生成されたフォアグラウンド・プロセス・プールの名前。既存のプールを見つけるには、V$PROCESS_POOL動的ビューを問い合せます。

例外

表123-5 START_POOLプロシージャの例外

エラー 説明

ORA-457

事前生成プールが見つかりません。

ORA-458

事前生成プールがすでに起動されています。

ORA-459

事前生成プールが起動されていません。

BEGIN
  DBMS_PROCESS.START_POOL (
   pool_name   => 'hrdb_pool',
END;

123.3.3 STOP_POOLプロシージャ

このプロシージャは、事前生成されたフォアグラウンド・プロセス・プールを停止します。

構文

DBMS_PROCESS.STOP_POOL(
   pool_name      IN  VARCHAR2 DEFAULT "SYS_DEFAULT_FOREGROUND_POOL");

パラメータ

表123-6 STOP_POOLプロシージャのパラメータ

パラメータ 説明

pool_name

事前生成されたフォアグラウンド・プロセス・プールの名前。既存のプールを見つけるには、V$PROCESS_POOL動的ビューを問い合せます。

例外

表123-7 STOP_POOLプロシージャの例外

エラー 説明

ORA-457

事前生成プールが見つかりません。

ORA-458

事前生成プールがすでに起動されています。

ORA-459

事前生成プールが起動されていません。

BEGIN
  DBMS_PROCESS.STOP_POOL (
   pool_name   => 'hrdb_pool',
END;