ラージ・プールは、データベース・インスタンスおよびシステム・グローバル領域(SGA)内のオプションのメモリー領域です。次の領域に対して大きなメモリー割当てを提供するように、ラージ・プールを構成できます。

ラージ・プールは、共有プールから割り当てられた他のメモリーと同じ最低使用頻度(LRU)リストを使用する、共有プール内に予約された領域とは異なります。ラージ・プールには、LRUリストはありません。割り当てられた各メモリーは、そのメモリーの使用が終了するまでは解放できません。

ユーザーからのリクエストは、ユーザーのSQL文の一部である単一のAPIコールです。

専用サーバー環境では、1つの専用のサーバー・プロセスが、単一のクライアント・プロセスのリクエストを処理します。各サーバー・プロセスは、CPUサイクルやメモリーなどのシステム・リソースを使用します。

共有サーバー環境では、次の処理が発生します。

  1. クライアント・プロセスはデータベース・インスタンスにリクエストを送信し、ディスパッチャ・プロセス(Dnnn)はそのリクエストを受信します。
  2. ディスパッチャは、リクエストをラージ・プールのリクエスト・キューに配置します。
  3. 次に使用可能な共有サーバー・プロセス(Snnn)がリクエストを取得します。共有サーバー・プロセスは、共通のリクエスト・キューをチェックして新しいリクエストがないかどうかを調べ、先入れ先出し方式に基づいて新しいリクエストをピックアップします。1つの共有サーバー・プロセスが、キュー内の1つのリクエストをピックアップします。
  4. 共有サーバー・プロセスは、データベースに対して必要なすべてのコールを実行してリクエストを完了します。まず、共有サーバー・プロセスは、共有プール内のライブラリ・キャッシュにアクセスして、要求された項目を確認します。たとえば、表が存在するかどうか、ユーザーが適切な権限を持っているかどうかなどがチェックされます。次に、共有サーバー・プロセスはバッファ・キャッシュにアクセスしてデータを取得します。データが存在しない場合は、共有サーバー・プロセスがディスクにアクセスします。各データベース・コールは異なるサーバー・プロセスで処理できます。したがって、問合せを解析するリクエスト、最初の行をフェッチするリクエスト、次の行をフェッチするリクエスト、結果セットをクローズするリクエストは、それぞれ異なる共有サーバー・プロセスで処理できます。異なる共有サーバー・プロセスで各データベース・コールを処理する可能性があり、UGAには各クライアント・セッションに関する情報が含まれているため、UGAは共有メモリー領域である必要があります。逆の視点でも、UGAには各クライアント・セッションに関する情報が格納されており、任意の共有サーバー・プロセスがセッションのデータベース・コールを処理する可能性があるため、すべての共有サーバー・プロセスがUGAを使用できる必要があります。
  5. リクエストが完了した後、共有サーバー・プロセスは、ラージ・プール内のコール元ディスパッチャのレスポンス・キューにレスポンスを配置します。各ディスパッチャには、固有のレスポンス・キューがあります。
  6. レスポンス・キューは、ディスパッチャにレスポンスを送信します。
  7. ディスパッチャは、完了したリクエストを適切なクライアント・プロセスに戻します。