ORA-02393: exceeded call limit on CPU usage
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 вместо профилей.