Oracle database - Dispatcher and Shared Server Process


The shared server architecture uses a dispatcher process to direct client connections to a common request queue. An idle shared server process from a shared pool of server processes picks up a request from the common queue.

This approach enables a small pool of server processes to serve a large number of clients. A significant advantage of the shared server model over the dedicated server model is reduced system resources, enabling support of an increased number of users.

A process that enables many clients to connect to the same server without the need for a dedicated server process for each client.

The dispatcher as Service Handler handles and directs multiple incoming network session requests to shared server processes.

A dispatcher can support multiple client connections concurrently. Each client connection is bound to a virtual circuit. A virtual circuit is a piece of shared memory used by the dispatcher for client database connection requests and replies.

Listener Actions with a Dispatcher

The listener uses the dispatcher as a type of service handler to which it can direct client requests. When a client request arrives, the listener performs one of the following actions:

  • Hands the connection request directly to a dispatcher.
  • Issues a redirect message to the client, containing the protocol address of a dispatcher. The client then terminates the network session to the listener and establishes a network session to the dispatcher, using the network address provided in the redirect message.

The listener uses direct hand off whenever possible. Redirect messages are used, for example, when dispatchers are remote to the listener.

Direct Hand-Off to a Dispatcher Redirected Connection to a Dispatcher
1 - The listener receives a client connection request.
2 - The listener hands the connect request directly
to the dispatcher.
3 - The client is now connected to the dispatcher
1 - The listener receives a client connection request.
2 - The listener provides the location of the dispatcher
to the client in a redirect message.
3 - The client connects directly to the dispatcher.

Powered by ComboStrap