Can someone please let me know if these statements are correct about Connection Pooling using IDLE_TIME? My understanding is that a connection is returned to the pool right after a DB call when using close() or dispose(). The connection is then available for other DB calls. If the session is idle for more than IDLE_TIME, the session would be SNIPED and uncommitted transactions rolled back. Connection Pooling and resource limit set by IDLE_TIME of profile are two different things. Am I right?
Thanks,
John
Oracle® Database Net Services Administrator's Guide 11g Release 2 (11.2) E10836-06 ==> Chapter I Introducing Oracle Net Services ==> Understanding Shared Server Architecture ==>
Connection Pooling
When a large number of clients run interactive Web applications, many of these
sessions may be idle at a given time. The connection pooling feature enables the
database server to timeout an idle session and use the connection to service an active
session. The idle logical session remains open, and the physical connection is
automatically reestablished when the next request comes from that session. Therefore,
Web applications can allow larger numbers of concurrent users to be accommodated
with existing hardware.
Figure 1–10 shows how connection pooling works. In this example, the Oracle
Database server has been configured with 255 connections. One of the clients has been
idle past a specified amount of time. Connection pooling makes this connection
available to an incoming client connection, which is connection number 256. When the
idle client has more work to do, the connection is reestablished for that client with
another client's idle connection.
Table 1–1 Connection Pooling and Session Multiplexing
Connection Pooling's Disadvantage:
Database sessions should use the IDLE_TIME resource parameter.