Merry Christmas & Happy 2027! Less downtime. More good times. Celebrating 13 years of sorlavit.com
Skip to content
Sorlavit KimIT Support, Network & Infrastructure Services Let’s talk

ปุ่มแปลไทยจะเปิดบทความผ่าน Google Translate เพื่อแปลอัตโนมัติ โดยคงโค้ดและคำสั่งไว้ตามต้นฉบับ

Oracle Database / Sessions, Locks & Transactions

ORA-02396: handle an idle-time limit in a connection pool

A server-enforced idle limit can leave the client holding a connection that fails when reused. Check the account profile and pool lifecycle.

Compiled for Sorlavit Kim · Published · Updated · 2 min read

Environment and inputs: Oracle Database 19c baseline · SQL*Plus-compatible SQL unless RMAN, DGMGRL, ADRCI or a host shell is specified. Check release, patch level, edition and container first.

Start with this diagnostic

Use the stated SQL, RMAN, DGMGRL or host shell and replace sample names with approved targets. DBA and V$ views need authorized catalog access in the correct container. Do not grant broad privileges for an example.

SELECT u.username, p.resource_name, p.limit FROM dba_users u JOIN dba_profiles p ON u.profile = p.profile WHERE u.username = 'APP_USER' AND p.resource_name = 'IDLE_TIME';

Read the result

The profile describes a possible idle limit; DEFAULT inheritance and enforcement still need checking. A SNIPED session is a clue, not a client-side health guarantee.

Resolve and verify

Configure approved pool validation and retirement behavior below applicable idle boundaries. Ensure the application replaces failed connections and rolls back incomplete work.

Operational precautions

Do not simply set unlimited idle time without reviewing security policy and connection capacity.

Source & further reading

Oracle Error Help — ORA-02396

Independently written summary reviewed on 2026-11-01. The example illustrates a possible application; it is not a client case study.

Share this article

Back to all articles