|
Блокирующий sql_id
|
|||
---|---|---|---|
#18+
Добрый день. Наверное, уже спрашивали и не раз, но как найти блокирующий sql_id (DML например update) от сессии, которая этот dml давно выполнила, но не зафиксировала, после этого была куча селектов, но заблокированных сессий собрался вагон. Update был моментальным в ash отчёт не попал. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2019, 13:59 |
|
Блокирующий sql_id
|
|||
---|---|---|---|
#18+
alex722как найти блокирующий sql_id (DML например update)Никак. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2019, 14:25 |
|
Блокирующий sql_id
|
|||
---|---|---|---|
#18+
alex722, из ash можно взять строку, которая блокируется, а потом если повезет по косвенным признакам выйти на программу и update в ней Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2019, 09:34 |
|
Блокирующий sql_id
|
|||
---|---|---|---|
#18+
pihelиз ash можно взять строку, которая блокируется,Она и так есть в заблокированной сессии. pihelпотом если повезет по косвенным признакамЗвучит как "если и можно, то я не знаю как". ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2019, 09:38 |
|
Блокирующий sql_id
|
|||
---|---|---|---|
#18+
Зная какая таблица менялась, обычно несложно через dba_source найти код который делает этот update. В ash также есть plsql_object_id, plsql_object_subprogram_id, plsql_entry_object_id ... который даст подсказку ( смотреть для блокирующей сессии чуть раньше или чуть позже). Но это все сработает только если эта сессия была не пользовательская, а приложения. Но если она была пользовательская - проще спросить у пользователя что он исполнял. Зная код легко нагуглить как получить по коду sql_id ( это просто хэш от текста, какой функцией хешируется на память не помню ). ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2019, 16:50 |
|
Блокирующий sql_id
|
|||
---|---|---|---|
#18+
ValergradЗная какая таблица менялась, обычно несложно через dba_source найти код который делает этот update. В ash также есть plsql_object_id, plsql_object_subprogram_id, plsql_entry_object_id ... который даст подсказку ( смотреть для блокирующей сессии чуть раньше или чуть позже). Но это все сработает только если эта сессия была не пользовательская, а приложения. Но если она была пользовательская - проще спросить у пользователя что он исполнял. Зная код легко нагуглить как получить по коду sql_id ( это просто хэш от текста, какой функцией хешируется на память не помню ).Столько бесполезного бреда... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2019, 07:34 |
|
Блокирующий sql_id
|
|||
---|---|---|---|
#18+
alex722Добрый день. Наверное, уже спрашивали и не раз, но как найти блокирующий sql_id (DML например update) от сессии, которая этот dml давно выполнила, но не зафиксировала, после этого была куча селектов, но заблокированных сессий собрался вагон. Update был моментальным в ash отчёт не попал. Вот здесь есть несколько вариантов поиска блокирующих сессий и блокированных объектов, попробуй, может и найдешь чего. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2019, 19:40 |
|
Блокирующий sql_id
|
|||
---|---|---|---|
#18+
flexgenнесколько вариантов поиска блокирующих сессий и блокированных объектов, попробуй, может и найдешь чего. Поиск блокирующей сессии и заблокированного объекта особых сложностей не представляет. ТС хотел найти sql_id. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2019, 19:55 |
|
Блокирующий sql_id
|
|||
---|---|---|---|
#18+
andrey_anonymousflexgenнесколько вариантов поиска блокирующих сессий и блокированных объектов, попробуй, может и найдешь чего. Поиск блокирующей сессии и заблокированного объекта особых сложностей не представляет. ТС хотел найти sql_id. Тут может быть несколько вариантов, если объект все еще блокирован значит сессия не завершилась, т.е. в v$session и v$sql что-то может быть. Либо искать в dba_hist_sqltext все что относится к искомому объекту: Код: plsql 1. 2.
И проверять содержимое поля sql_text всех тех sql_id, что получили. Если повезет то мы найдем наш sql_id. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2019, 21:06 |
|
Блокирующий sql_id
|
|||
---|---|---|---|
#18+
flexgen, авторзначит сессия не завершилась Имелась ввиду транзакция. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2019, 21:08 |
|
|
start [/forum/topic.php?fid=52&msg=39826768&tid=1882391]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 142ms |
0 / 0 |