ヘッダーをスキップ
Oracle Database Net Services管理者ガイド
11g リリース1(11.1)
E05725-04
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

12 ディスパッチャの構成

この章では、ディスパッチャの構成方法について説明します。

共有サーバー・アーキテクチャによって、データベース・サーバーでは、多数のユーザー・プロセスで非常に少数のサーバー・プロセスを共有でき、サポート可能なユーザー数が増大します。共有サーバーにより、多数のユーザー・プロセスがディスパッチャに接続されます。ディスパッチャは、複数の着信ネットワーク・セッション要求を共通キューに送ります。サーバー・プロセスの共有プールの中のアイドル状態の共有サーバー・プロセスは、共通キューから要求を取り出します。つまり、サーバー・プロセスの小規模プールによる多数のクライアントの処理が可能になります。

この章の内容は、次のとおりです。

12.1 ディスパッチャの構成

ディスパッチャ、バーチャル・サーキットおよび共有サーバーの共有メモリー・リソースをあらかじめ設定することによって、実行時に共有サーバーを使用可能にします。データベース管理者は、SQL ALTER SYSTEM文を使用することによって、ディスパッチャと共有サーバーを起動でき、共有サーバーを起動するためにインスタンスを再起動する必要がありません。共有サーバー・モードをオンにしたが、ディスパッチャ・パラメータが設定されていない場合、ディスパッチャはTCP/IPプロトコルで自動的に起動されます。ディスパッチャのデフォルト構成は、データベース初期化パラメータ・ファイルの次のDISPATCHERSパラメータ設定と同じです。

dispatchers="(PROTOCOL=tcp)"

クライアントの負荷がメモリーやその他のシステム・リソースに無理を生じさせる構成の場合は、データベース管理者は、共有サーバー・リソースを起動してこの負荷の問題を解消できます。

次の状態の場合に、DISPATCHERSパラメータを構成します。

このパラメータの設定後は、インスタンスを再起動する必要はありません。SQL文のALTER SYSTEMを使用することによって、ディスパッチャ構成を変更できます。


注意:


Database Configuration Assistantを使用すると、DISPATCHERSパラメータを構成できます。


関連項目:

  • 共有サーバー構成の詳細は、『Oracle Database管理者ガイド』を参照してください。

  • DISPATCHERSパラメータ構成およびサポートされる属性の詳細は、『Oracle Databaseリファレンス』を参照してください。

  • ALTER SYSTEM文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。


12.2 接続プーリングの使用

接続プーリングは、ディスパッチャへの物理ネットワーク接続数を削減することのできるリソース利用機能です。これは、クライアント・プロセス間で接続を共有またはプールすることにより実現されます。

接続プーリングを構成するには、初期化パラメータ・ファイルのDISPATCHERSパラメータにPOOL属性および次に示すオプション属性を設定します。

プロセス当たり950件の接続をサポートでき、次の構成を持つシステムを想定します。

この場合、TCP/IPのDISPATCHERS属性には5つ以上のディスパッチャを、SSL付きTCP/IPのDISPATCHERS属性には3つのディスパッチャを設定する必要があります。

DISPATCHERS="(PROTOCOL=tcp)(DISPATCHERS=5)"
DISPATCHERS="(PROTOCOL=tcps)(DISPATCHERS=3)"

各ディスパッチャは、接続プーリングを使用することにより、950以上のセッションを処理できます。たとえば、クライアントがほとんどの時間アイドル状態であり、1台のディスパッチャが4,000件のTCP/IPセッションまたは2,500件のSSL付きTCP/IPセッションに対して要求と応答をルーティングできるとします。この構成では、必要なディスパッチャ数が1プロトコル当たり1つに削減されるため、ディスパッチャをより完全に使用できるようになります。

DISPATCHERS="(PROTOCOL=tcp)(DISPATCHERS=1)(POOL=on)(TICK=1)
(CONNECTIONS=950)(SESSIONS=4000)"

DISPATCHERS="(PROTOCOL=tcps)(DISPATCHERS=1)(POOL=on)(TICK=1)
(CONNECTIONS=950)(SESSIONS=2500)"

DISPATCHERSおよびCONNECTIONS属性を指定する必要はありません。理由は、DISPATCHERSのデフォルトが1に、CONNECTIONSのデフォルトがオペレーティング・システムに応じて1プロセス当たりの最大接続数に設定されるためです。

12.3 セッションの多重化の有効化

Oracle Connection Managerで使用可能なセッションの多重化によって、複数のクライアント・セッションを単一のプロトコル接続を経由して集中化できます。たとえば、Oracle Connection Managerを経由した1つの接続で、複数のユーザー・プロセスを1つのディスパッチャに接続できます。

Oracle Connection Managerでは、共有接続によってユーザーからディスパッチャへ通信できます。ある特定の時間には、接続を必要とするユーザーがゼロ、1ユーザー、または複数ユーザーのこともあり、その時点でConnection Managerプロセス経由でディスパッチャにリンクしている他のユーザー・プロセスがアイドル状態のこともあります。このように、セッションを多重化することによって、ディスパッチャ・プロセス接続の使用を最大限にすることができるという利点があります。

また、セッションの多重化によって、ディスパッチャ間のデータベース・リンク・セッションを多重化するためにも有効です。各ディスパッチャのセッション数の制限は、オペレーティング・システムによって異なります。

セッションの多重化を有効にするには、DISPATCHERSパラメータのMULTIPLEX属性をon(またはそれと同等の値)に設定します。

DISPATCHERS="(PROTOCOL=tcp)(MULTIPLEX=on)"

関連項目:


構成の詳細は、「セッションの多重化の有効化」および「接続プーリングの使用」を参照してください。

12.4 ディスパッチャ単位のグループ化

Oracleデータベースは複数のサービス名で表すことができます。このため、ディスパッチャ・プールを特定のサービスを要求するクライアントに排他的に割り当てることができます。これによりミッション・クリティカル要求に対してはより多くのリソースが割り当てられ、実質的にその要求の優先順位が高くなります。

たとえば、次の初期化パラメータ・ファイルの例では2つのディスパッチャがあります。 最初のディスパッチャは、sales.us.example.comを要求するクライアントの要求を処理します。 もう一方のディスパッチャは、adminsales.us.example.comを要求するクライアントの要求のみ処理します。

SERVICE_NAMES=sales.us.example.com
INSTANCE_NAME=sales
DISPATCHERS="(PROTOCOL=tcp)"
DISPATCHERS="(PROTOCOL=tcp)(SERVICE=adminsales.us.example.com)"

12.5 専用サーバーと共有サーバーの両方を使用する環境でのクライアントの構成

共有サーバーが構成されていて、ディスパッチャが登録されていない場合にクライアント接続要求が到着すると、その要求は専用サーバー・プロセスによって処理されます。特定のクライアントが常にディスパッチャを使用する必要がある場合は、接続記述子のCONNECT_DATAセクションに(server=shared)を構成します。たとえば、次のように指定します。

sales=
(DESCRIPTION=
  (ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521))
  (CONNECT_DATA=
     (SERVICE_NAME=sales.us.example.com)
     (SERVER=shared)))

ディスパッチャが使用不可能な場合、クライアント接続要求は拒否されます。


関連項目:

SERVERパラメータの設定方法は、「拡張接続データ・パラメータの構成」を参照してください。

データベースが共有サーバーとして構成されていて、特定のクライアントに専用サーバーが必要な場合、そのクライアントが専用サーバーを使用するように構成できます。それには次の方法があります。

データベース常駐接続プーリングがサーバーで有効になっている場合、pooledの値を使用してプールから接続を取得します。


関連項目:


データベース常駐接続プーリングの有効化と構成の詳細は、『Oracle Call Interfaceプログラマーズ・ガイド』および『Oracle Database管理者ガイド』を参照してください。