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-02391: check a user's concurrent-session profile limit

One account may be unable to open another session while the database has capacity. Inspect its assigned profile and session limit.

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, u.profile, p.resource_name, p.limit FROM dba_users u JOIN dba_profiles p ON p.profile = u.profile WHERE u.username = 'APP_USER' AND p.resource_name = 'SESSIONS_PER_USER';

Read the result

The profile limit may inherit DEFAULT values, and enforcement depends on the relevant resource settings. Compare actual sessions for this account.

Resolve and verify

Find abandoned clients or oversized pools and align them with the approved account limit. Change the profile only after the identity and DBA owners approve the requirement.

Operational precautions

Do not remove profile limits globally to accommodate one leaking application.

Source & further reading

Oracle Error Help — ORA-02391

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