DBAtlas · Database operations atlas

ORA-02393: exceeded call limit on CPU usage

Oracle

What does it mean?

The CPU time allowed for a single call (CPU_PER_CALL), defined in the resource profile assigned to the session, was exceeded and Oracle terminated that call. It is a safeguard for resource limiting.

Why does it happen?

A CPU_PER_CALL limit is defined in the user's profile and RESOURCE_LIMIT=TRUE; a single SQL/PLSQL call exceeded this CPU threshold. Usually triggered by an inefficient/uncontrolled query consuming far more CPU than expected.

How to fix it

Optimize the query (proper index, correct plan, removing unnecessary full table scans) so that CPU consumption falls below the limit. If the business requirement is legitimate, increase CPU_PER_CALL in the profile for the appropriate user or set it to UNLIMITED: ALTER PROFILE ... LIMIT CPU_PER_CALL ...; Consider managing resources more flexibly with Database Resource Manager instead of profiles.

Open in DBAtlas →

More from this engine