来自:http://docs.oracle.com/cd/E11882_01/server.112/e40540/dist_pro.htm#CNCPT904
1、Dedicated Server
In a dedicated server architecture, the server process created on behalf of each client process is called a dedicated server process (or shadowprocess). This server process is separate from the client process and acts only on its behalf.
In the dedicated server architecture, the user and server processes communicate using different mechanisms:
-
If the client process and the dedicated server process run on the same computer, then the program interface uses the host operating system's interprocess communication mechanism to perform its job.
-
If the client process and the dedicated server process run on different computers, then the program interface provides the communication mechanisms (such as the network software and Oracle Net Services) between the programs.
2、Shared Server
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
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)
Note:
To use shared servers, a client process must connect through Oracle Net Services, even if the process runs on the same computer as the Oracle Database instance. -
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. For example, one client can connect using a dedicated server while a different client connects to the same database using a shared server.