Identify scenarios where connection pooling is beneficial.
Understanding Connection Pooling
Connection pooling[1] can be used with a Multi-Threaded Server in a similar way to multiplexing.
In this case, however, the server, rather than by the Connection Manager, handles the sharing of resources,.
To enable connection pooling, you must set the MTS_DISPATCHERS database initialization parameter to POOL.
The following table illustrates some examples where connection pooling is an advantage
Example
Connection Pooling?
Why?
Your e-commerce site includes many connections to the database that are idle while the user reads information online.
Yes
During idle time, a users connection can be re-used by a new connection coming in.
Multi-Threaded Server can handle a maximum of 50 connections and you need more to handle your clients.
Yes
Re-using existing idle connections allows you to get more connections than your stated maximum.
Your application uses a JDBC connection (not Oracle Net) to access the database.
Yes
Since connection pooling is handled by the server and not by Net8, you can maximize user connections using connection pooling.
Oracle Connection Manager
Each connection to the database takes up valuable network resources, which can impact the overall performance of a database application.
Oracle's Connection Manager (CMAN), illustrated in Figure 4-4, reduces the number of Oracle Net client network connections to the database through the use of concentrators, which provide
connection multiplexing to implement multiple connections over a single network connection. Connection multiplexing provides the greatest benefit when there are a large number of active users.
You can also use the Connection Manager to provide multiprotocol connectivity if you still have some clients and servers not using TCP/IP.
Oracle Database 10g introduced dynamic Connection Manager configuration, enabling the changing of CMAN parameters without shutting down the CMAN process.
The next lesson covers network load balancing.
[1]Connection pooling: A feature of Multi-Threaded Server in which idle user connections are re-used temporarily, allowing more concurrent users to reach the database.
The Multi-Threaded Server was longer issued with the release of Oracle 9i.