oracle всегда ставит ora-00060 в тупик?

Есть ли какой-нибудь сценарий, в котором Oracle не будет выдавать ошибку ora-00060 (обнаружена тупиковая ситуация при ожидании ресурса) при тупиковой ситуации в БД?

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


person xwhyz    schedule 28.10.2014    source источник
comment
Сценарий, который не выдает ora-00060? Думаю, любой сценарий, в котором взаимоблокировка не обнаружена :), но в любом случае, если ваше приложение зависает, я бы начал с просмотра событий ожидания сеанса.   -  person Jeffrey Kemp    schedule 28.10.2014


Ответы (1)


Временами у меня возникало ощущение, что Oracle не выдавал ошибки взаимной блокировки каждый раз, когда это действительно происходило. Сказав это, если вы сталкиваетесь с блокировками с многопоточными вставками, более вероятно, что сеансы временно ожидают друг друга, а не действительно взаимоблокируются.

Чтобы узнать наверняка, вы можете запросить сеанс v $, уделяя особое внимание STATUS, BLOCKING_SESSION, WAIT_CLASS, EVENT, P1TEXT, P2TEXT и P3TEXT. Это должно нарисовать картину с точки зрения сессий, поддерживающих друг друга и почему. Настоящая взаимоблокировка будет иметь сеанс A, блокирующий сеанс B, и сеанс B, блокирующий сеанс A, что относительно редко.

Также есть вероятность, что приложение зависает из-за какого-то сбоя многопоточности, а не базы данных.

person Gui    schedule 28.10.2014
comment
At times I had the felt that Oracle had not thrown deadlock errors for every single time it actually occured. ? Можете ли вы пролить свет на это технически. - person Lalit Kumar B; 28.10.2014
comment
К сожалению, у меня не было возможности получить больше информации, когда это случилось с клиентом. В следующий раз, когда это произойдет, я буду использовать сеанс v$session или gv$session, чтобы наблюдать, как долго два сеанса взаимно удерживают друг друга. - person Gui; 29.10.2014