Как найти текущий SQL-оператор, который вызывает Deadlock в Oracle? - PullRequest
0 голосов
/ 19 сентября 2018

как я могу найти точную текущую статистику SQL, которая вызывает тупик других сессий в Oracle?

1 Ответ

0 голосов
/ 19 сентября 2018

Ищите блокирующий экземпляр и блокирующий сеанс в v $ session.

select * from v$session

Это должно дать вам знать SID и SERIAL # блокирующего сеанса.

Редактировать - Этодля заблокированного сеанса, а не тупика.Если это фактический тупик, он должен автоматически очиститься (в конце концов).Кстати, согласно AskTom, «причина тупиковых ситуаций # 1 в Oracle связана с неиндексированными внешними ключами».

select vs.blocking_session from v$session vs
where vs.sid in
(
select userenv('sid') as sid from dual
);

Если это не NULL, используйте SID для этого выбора * из v $ session против vs, где vs.SID = 'БЛОКИРОВКА СЕССИИ ВЫШЕ';

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