In a shared server environment, a dispatcher process (Dnnn) directs multiple incoming network session requests to a pool of shared server processes (Snnn). You can create multiple dispatcher processes for a single database instance.

The Oracle Net Listener process establishes a connection to the dispatcher. When a client process makes a connection request that requires a shared server process, the listener returns the dispatcher address so the client process can communicate with the dispatcher directly after the connection is established.

The dispatcher places the client request in the request queue in the large pool of the system global area (SGA) within the database instance. The next available shared server process picks up the request and processes the request. When the request is complete, the shared server process places the response on the calling dispatcher's response queue in the large pool, and the response queue sends the response to the dispatcher. The dispatcher returns the completed request to the client process.

Both Snnn and Dnnn can run as threads or as operating system processes. In addition to database instances, Dnnn also runs in a shared server environment.