ORA-02393: exceeded call limit on CPU usage(超出单次调用的 CPU 使用限制)
Oracle含义
分配给会话的资源概要文件中定义的单次调用允许 CPU 时间(CPU_PER_CALL)被超出,Oracle 终止了该调用。这是一种资源限制的保护措施。
原因
用户的概要文件中定义了 CPU_PER_CALL 限制且 RESOURCE_LIMIT=TRUE;某个 SQL/PLSQL 调用超过了此 CPU 阈值。通常由消耗 CPU 远超预期的低效/失控查询触发。
解决方法
优化查询(合适的索引、正确的执行计划、去除不必要的全表扫描),使 CPU 消耗降到限制以下。如果业务需求合理,为相应用户在概要文件中增大 CPU_PER_CALL 或设置为 UNLIMITED:ALTER PROFILE ... LIMIT CPU_PER_CALL ...; 考虑使用 Database Resource Manager 代替概要文件,更灵活地管理资源。