Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Event Monitor не ловит deadlock'и
|
|||
|---|---|---|---|
|
#18+
Привет всем! Не могу никак с помощью Event Monitor'а отловить deadlock'и. 1. Создаю EVENT MONITOR FOR DEADLOCKS WITH DETAILS: CREATE EVENT MONITOR DLOCK_DTL_EVT FOR DEADLOCKS WITH DETAILS WRITE TO TABLE CONNHEADER(TABLE CONNHEADER_DLOCK_DTL_EVT, IN TBS_EVMON), DEADLOCK(TABLE DEADLOCK_DLOCK_DTL_EVT, IN TBS_EVMON), DLCONN(TABLE DLCONN_DLOCK_DTL_EVT, IN TBS_EVMON), DLLOCK(TABLE DLLOCK_DLOCK_DTL_EVT, IN TBS_EVMON), CONTROL(TABLE CONTROL_DLOCK_DTL_EVT, IN TBS_EVMON) BUFFERSIZE 512 NONBLOCKED; 2. Активирую монитор: SET EVENT MONITOR DLOCK_DTL_EVT STATE = 1; 3. Создаю ситуацию с взаимной блокировкой так, чтобы одна из двух сессий отвалилась по таймауту 4. Дезактивирую монитор SET EVENT MONITOR DLOCK_DTL_EVT STATE = 0; В таблицах нет ни одного пойманного дедлока, хотя гарантировано они были. Вопрос: как отловить-то? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2008, 15:37 |
|
||
|
Event Monitor не ловит deadlock'и
|
|||
|---|---|---|---|
|
#18+
Gnomov В таблицах нет ни одного пойманного дедлока, хотя гарантировано они были. Как вы это определили? P.S. lock timeout != deadlock ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2008, 15:59 |
|
||
|
Event Monitor не ловит deadlock'и
|
|||
|---|---|---|---|
|
#18+
1. Делаем блокировку в первой сессии: db2 +c update w set w='a' where id = 1 2. Пытаемся в другой сессии тоже изменить эту запись: db2 +c update w set w='b' where id = 1 3. Через время таймаута получаем на второй сессии: SQL0911N The current transaction has been rolled back because of a deadlock or timeout. Reason code "68". SQLSTATE=40001 Но монитор событий не ловит. Как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2008, 18:01 |
|
||
|
Event Monitor не ловит deadlock'и
|
|||
|---|---|---|---|
|
#18+
Это вы lock timeout вызвали (SQL0911, rc=68). Чтоб deadlock вызвать (SQL0911, rc=2) - сделайте так: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2008, 18:15 |
|
||
|
Event Monitor не ловит deadlock'и
|
|||
|---|---|---|---|
|
#18+
1. На первом этапе возникает эксклюзивная блокировка на запись 2. На втором этапе, несмотря на то, что изменяется другая запись, идет RC=68 (то есть не могу реализовать твой сценарий по генерации RC=68) Кстати, а как RC=2 ловить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2008, 18:29 |
|
||
|
Event Monitor не ловит deadlock'и
|
|||
|---|---|---|---|
|
#18+
Gnomov1. На первом этапе возникает эксклюзивная блокировка на запись 2. На втором этапе, несмотря на то, что изменяется другая запись, идет RC=68 (то есть не могу реализовать твой сценарий по генерации RC=68) Кстати, а как RC=2 ловить? db2 alter table w add constraint w_pk primary key (id) db2 alter table w volatile Перезапустить мой тест. Еще раз: rc=68 - это locktimeout, ловится так . rc=2 - deadlock, ловится этим вашим event monitor'ом. Мой сценарий не мог реализоваться видимо из-за того, что оптимизатор выбирал табличное сканирование вместо индексного доступа. Эти 2 команды должны это полечить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2008, 18:53 |
|
||
|
Event Monitor не ловит deadlock'и
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein db2 alter table w add constraint w_pk primary key (id) db2 alter table w volatile Перезапустить мой тест. Еще раз: rc=68 - это locktimeout, ловится так . rc=2 - deadlock, ловится этим вашим event monitor'ом. Мой сценарий не мог реализоваться видимо из-за того, что оптимизатор выбирал табличное сканирование вместо индексного доступа. Эти 2 команды должны это полечить. Марк, спасибо! 1. RC=2 воспроизвелся и отловился монитором. 2. RC=68 для DB2 v8.2 отловить возможно? (по ссылки отличный способ, но только для 9ки) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 19:42 |
|
||
|
|

start [/forum/topic.php?fid=43&fpage=90&tid=1603668]: |
0ms |
get settings: |
11ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
62ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 414ms |

| 0 / 0 |
