Database Technologies‎ > ‎Oracle‎ > ‎

Shared Server and Dedicated Server Architecture.

The below mentioned diagram explicitly depicts the structure
of both the architecture Shared Server as well as Dedicated
Lets have a look at each component : 
User :  This represent the User process could be anything from application that is tapping into the database, sqlplus session, toad tool etc.
Server Process :  This is the process thats gets the work done takes the request of user directly from user process or from intermediary process the request gets the data from Buffer Cache / database and returns it.
Now in Dedicated server architecture we have User process communicating directly with the Server process and the server process returns the processed data to the user directly.
In Shared Server Architecture the Users communicates with Dispatchers (which is dedicated to the user for that request), the dispatchers then puts the request of the user on the Request Queue. The next available server process takes the request from the Request Queue does its thing and puts the processed data on to the Response Queue. The Dispatchers then takes the data from the response queue and returns it to the user.
User Global Area :  Oracle stores the information of each user's session in User Global Area.
                                    In dedicates server scenario the users information is stored in the server process's PGA (Program Global Area )
                                    In Shared Server architecture the info is stored in Virtual Circuits
 Virtual Circuits :    It is a piece of memory in the SGA it is stored in the request queue, which is accesible to every Server Process.
Setting the parameters

alter system set DISPATCHERS='(protocol=tcp)                   // Network Protocol
                                                             (dispatcher=3)                  // To start 
                                                             (connections=500)          // connection per dispatchers max is OS specific
                                                             (pool=both)                        // allow incoming/outgoing
                                                             (tick=4)',                              // timeout
To see the parameter
show parameter dispatchers
show parameter shared_server