Table of Contents

Oracle database - Dispatcher and Shared Server Process

About

Oracle Database Shared Server

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:

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
Oracle Database Direct Hand Off To A Dispatcher Oracle Database 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.