Database Reference
In-Depth Information
In Chapter 2, we briefly touched on the two main connection types to Oracle, namely the following:
Dedicated server : There is a dedicated process on the server for your connection. There is a
one-to-one mapping between a connection to the database and a server process or thread.
Shared server : Many sessions share a pool of server processes spawned and managed by the
Oracle instance. Your connection is to a database dispatcher, not to a dedicated server process
created just for your connection.
It is important to understand the difference between a connection and a session in Oracle terminology.
a connection is just a physical path between a client process and an Oracle instance (e.g., a network connection between
you and the instance). a session , on the other hand, is a logical entity in the database, where a client process can execute
SQL and so on. Many independent sessions can be associated with a single connection, and these sessions can even
exist independently of a connection. We will discuss this further shortly.
Note
Both dedicated and shared server processes have the same job: they process all of the SQL you give to them.
When you submit a SELECT * FROM EMP query to the database, an Oracle dedicated/shared server process parses the
query and places it into the shared pool (or finds it in the shared pool already, hopefully). This process comes up with
the query plan, if necessary, and executes the query plan, perhaps finding the necessary data in the buffer cache or
reading the data from disk into the buffer cache.
These server processes are the workhorse processes. Often, you will find these processes to be the highest
consumers of CPU time on your system, as they are the ones that do your sorting, your summing, your joining—pretty
much everything.
Dedicated Server Connections
In dedicated server mode, there will be a one-to-one mapping between a client connection and a server process
(or thread, as the case may be). If you have 100 dedicated server connections on a UNIX/Linux machine, there will be
100 processes executing on their behalf. Graphically, it looks as shown in Figure 5-1 .
Client
Application
Dedicated
Server
SGA
Oracle Net
Figure 5-1. Typical dedicated server connection
 
 
Search WWH ::




Custom Search