ORA-00052

В этой статье мы рассмотрим причину возникновения исключительной ситуации ORA-00052, а также будет рассмотрен вариант решения.

Описание ошибки

ORA-00052: maximum number of enqueue resources (string) exceeded
Превышено максимальное количество блокировок enqueue
Эта ошибка возникает, когда система превышает максимальное количество блокировок enqueue, заданное параметром ENQUEUE_RESOURCES.

Причина:

  • Достигнут лимит ресурсов enqueue
  • Много одновременных транзакций, требующих блокировок
  • Утечка блокировок (не освобождаются должным образом)

Пример обработки

Решение:

  1. Увеличить параметр ENQUEUE_RESOURCES в файле параметров
  2. Уменьшить размер транзакций (чаще выполнять COMMIT)
  3. Оптимизировать приложение для использования меньшего числа блокировок
  4. Использовать пакетную обработку данных с промежуточными коммитам