Ошибка тайм-аута при ожидании блокировки объекта - PullRequest
0 голосов
/ 23 апреля 2019

Иногда моя процедура завершается сбоем, и дальнейшие исследования показывают, что это всегда одна и та же ошибка:

ORA-12801: ошибка, сообщенная на сервере параллельных запросов P02U
ORA-04021: тайм-аутв ожидании блокировки объекта
ORA-06512: в "USP_ALGO_REPORT", строка 645

Я пробовал несколько вещей (не знаю, полезны они или нет), например,понизив значение с parallel(16) до parallel(8) для всех моих операторов выбора внутри процедуры, изменив время, когда запланирована процедура, и т. д.

Пожалуйста, дайте мне знать, если я могу предоставить дополнительную информацию, которая может помочьпонять проблему.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 24 апреля 2019

после выполнения операторов DML попробуйте зафиксировать.

 timeout occurred while waiting to lock object 

в случаях, это решает проблему тайм-аута.

фиксация сеанса освобождает объект блокировки, который можно использовать для следующей команды ....

0 голосов
/ 23 апреля 2019

Временами моя процедура не выполняется

Проверьте ошибку ORA-06512 в Документах .

Исправьте проблему, вызвавшую исключение, или запишите исключениеобработчик для этого условия в строке 645.

Как:

    if something 
       return 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...