- 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
Dispatcher Processes (Dnnn)
- When an instance starts, the network listener process opens and establishes a communication pathway through which users connect to Oracle Database.
- Each dispatcher process gives the listener process an address at which the dispatcher listens for connection requests.
- At least one dispatcher process must be configured and started for each network protocol that the database clients will use.
- When a client process makes a connection request, the listener determines whether the client process should use a shared server process:
- If the listener determines that a shared server process is required, then the listener returns the address of the dispatcher process that has the lightest load, and the client process connects to the dispatcher directly.
- If the process cannot communicate with the dispatcher, or if the client process requests a dedicated server, then the listener creates a dedicated server and establishes an appropriate connection.
Restricted Operations of the Shared Server
Determining a Value for SHARED_SERVERS
DISPATCHERS Initialization Parameter Attributes
Specify the network protocol address of the endpoint on which the dispatchers listen.
Specify the network description of the endpoint on which the dispatchers listen, including the network protocol address. The syntax is as follows: (DESCRIPTION=(ADDRESS=...))
Specify the network protocol for which the dispatcher generates a listening endpoint. For example: (PROTOCOL=tcp)
Specify the initial number of dispatchers to start.
Specify the maximum number of network connections to allow for each dispatcher.
Specify the maximum number of network sessions to allow for each dispatcher.
Specify the duration of a TICK in seconds. A TICK is a unit of time in terms of which the connection pool timeout can be specified. Used for connection pooling.
Specify an alias name for the listeners with which the PMON process registers dispatcher information. Set the alias to a name that is resolved through a naming method.
Used to enable the Oracle Connection Manager session multiplexing feature.
Used to enable connection pooling.
Specify the service names the dispatchers register with the listeners.
Determining the Number of Dispatchers
CEIL ( max. concurrent sessions / connections for each dispatcher )
Disabling Shared Server
Shared Server Data Dictionary Views
Provides information on the dispatcher processes, including name, network address, status, various usage statistics, and index number.
Provides configuration information about the dispatchers.
Provides rate statistics for the dispatcher processes.
Contains information on the shared server message queues.
Contains information on the shared servers.
Contains information about virtual circuits, which are user connections to the database through dispatchers and servers.
Contains information for tuning shared server.
Contains size information about various system global area (SGA) groups. May be useful when tuning shared server.
Contains detailed statistical information about the SGA, useful for tuning.
Lists statistics to help tune the reserved pool and space within the shared pool.