共有サーバー環境では、ディスパッチャ・プロセス(Dnnn)は複数の着信ネットワーク・セッション・リクエストを共有サーバー・プロセス(Snnn)のプールに送信します。1つのデータベース・インスタンスに対し、複数のディスパッチャ・プロセスを作成できます。

Oracle Net Listenerプロセスは、ディスパッチャへの接続を確立します。クライアント・プロセスで共有サーバー・プロセスを必要とする接続リクエストが作成されると、リスナーはディスパッチャ・アドレスを返し、接続の確立後にクライアント・プロセスがディスパッチャと直接通信できるようにします。

ディスパッチャは、クライアント・リクエストをデータベース・インスタンス内のシステム・グローバル領域(SGA)のラージ・プール内のリクエスト・キューに配置します。次に使用可能な共有サーバー・プロセスは、リクエストを選択し、リクエストを処理します。リクエストが完了すると、共有サーバー・プロセスはコール元のディスパッチャのレスポンス・キューにレスポンスをラージ・プールに配置し、レスポンス・キューがディスパッチャにレスポンスを送信します。ディスパッチャは、完了したリクエストをクライアント・プロセスに戻します。

SnnnとDnnnは両方とも、スレッドまたはオペレーティング・システム・プロセスとして実行できます。データベース・インスタンスに加えて、Dnnnは共有サーバー環境でも実行されます。