19 апреля 2011 г.

oracle: Database Resident Connection Pooling (DRCP)

Database Resident Connection Pooling (DRCP)
Database Resident Connection Pooling (DRCP) is an optional, new method of connecting to the
database and establishing a session. It is designed as a more efficient method of connection pooling
for application interfaces that do not support efficient connection pooling natively–such as PHP, a
general purpose web scripting language. DRCP is a mixture of dedicated server and shared server
concepts. It inherits from shared server the concept of server process pooling, only the processes being
pooled will be dedicated servers not shared servers; it inherits from the dedicated server the concept
of–well–being dedicated.


In a shared server connection, the shared server process is shared among many sessions and a
single session will tend to use many shared servers. With DRCP, this is not true; the dedicated server
process that is selected from the pool will become dedicated to the client process for the life of its
session. In shared server, if I execute three statements against the database in my session, there is a good
chance that the three statements will be executed by three different shared server processes. Using
DRCP, those same three statements would be executed by the dedicated server assigned to me from the
pool–that dedicated server would be mine until my session releases it back to the pool. So DRCP has the
pooling capabilities of shared server and the performance characteristics of dedicated server. We’ll
explore performance of dedicated versus shared server more below.)