My Oracle Support Banner

DRCP Does Not Release/kill Inactive User Sessions (Doc ID 2898864.1)

Last updated on APRIL 17, 2023

Applies to:

Oracle Database - Enterprise Edition - Version 12.1.0.1 and later
Information in this document applies to any platform.

Symptoms

DRCP does not release/kill inactive user sessions.
We have the following DRCP configuration :

SQL> select * from DBA_CPOOL_INFO

CONNECTION_POOL          STATUS MINSIZE MAXSIZE INCRSIZE SESSION_CACHED_CURSORS  INACTIVITY_TIMEOUT MAX_THINK_TIME MAX_USE_SESSION MAX_LIFETIME_SESSION NUM_CBROK MAXCONN_CBROK  MAX_TXN_THINK_TIME CON_ID
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SYS_DEFAULT_CONNECTI  ACTIVE  300        2500            10                      80                                 ON_POOL                    300                         300                         500000                86400                    2 40000                          0                    0      

It's seen that the sessions continue in the database even after the time defined in the MAX_THINK_TIME and MAX_TXN_THINK_TIME parameters have already expired.
Sessions are kept in the database even if the user has logged out of the application.

-----------
A new database initialization parameter, DRCP_DEDICATED_OPT, has been added to configure Database Resident Connection Pooling (DRCP) in 19c.

With DRCP, when the number of application connections to the broker is less than the maximum pool size, a "dedicated optimization" makes DRCP behave like dedicated servers.
With this optimization, DRCP tends toward a one-to-one correspondence between application connections and DRCP server processes even if those processes are not currently doing database work.

Setting DRCP_DEDICATED_OPT to NO turns off the optimization and reduces the tendency of the pool to grow towards its maximum size until necessary.
This helps keep the number of DRCP server processes small when statement execution concurrency is low, therefore reducing memory usage on the database host.
https://docs.oracle.com/en/database/oracle/oracle-database/19/newft/new-database-initialization-parameter-and-view-drcp.html

Parameter drcp_dedicated_opt was changed to NO, but the same behavior is seen.

Changes

 Migrated from version 11g to 19c and from Windows to Oracle Linux.

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Changes
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.