Shared Server Architecture
In a shared server architecture, a dispatcher directs multiple incoming network session requests to a pool of shared server processes, eliminating the need for a dedicated server process for each connection. An idle shared server process from the pool picks up a request from a common queue.
The potential benefits of shared server are as follows:
■Reduces the number of processes on the operating system
A small number of shared servers can perform the same amount of processing as many dedicated servers.
■Reduces instance PGA memory
Every dedicated or shared server has a PGA. Fewer server processes means fewer PGAs and less process management.
■Increases application scalability and the number of clients that can simultaneously connect to the database
■May be faster than dedicated server when the rate of client connections and disconnections is high
Shared server has several disadvantages, including slower response time in some cases, incomplete feature support, and increased complexity for setup and tuning. As a general guideline, only use shared server when you have more concurrent connections to the database than the operating system can handle.
The following processes are needed in a shared server architecture:
■A network listener that connects the client processes to dispatchers or dedicated servers (the listener is part of Oracle Net Services, not Oracle Database)
■One or more dispatcher process (Dnnn)
■One or more shared server processes
Note that a database can support both shared server and dedicated server connections simultaneously.