powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как вы отлавливаете дятлов? (deadlock)
10 сообщений из 10, страница 1 из 1
Как вы отлавливаете дятлов? (deadlock)
    #34784253
Фотография DimaU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASE 12.0
Форумчане, как вы отлавливаете Deadlock-и? Есть какое-нибудь удобное средство кроме анализа файла errorlog. Информация от пользователя об ошибки может придти c неким запаздыванием и увидеть какие процессы (процедуры) сработали в том моменте проблематично...

автор
...
Deadlock Id 57: Process (Familyid 0, Spid 105) was waiting for a 'shared row' lock on row 0 page 25025 of the 'pDepOrder' table in database 4 but process (Familyid 115, Spid 115) already held a 'exclusive row' lock on it.
Deadlock Id 57: Process (Familyid 0, Spid 115) was waiting for a 'update row' lock on row 0 page 30070 of the 'pResList' table in database 4 but process (Familyid 105, Spid 105) already held a 'exclusive row' lock on it.

Deadlock Id 57: Process (Familyid 0, 115) was chosen as the victim. End of deadlock information.


Всего всего! Tор-Analytics
...
Рейтинг: 0 / 0
Как вы отлавливаете дятлов? (deadlock)
    #34784395
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaU пишет:
> Форумчане, как вы отлавливаете Deadlock-и? Есть какое-нибудь удобное
> ...
> Deadlock Id 57: Process (Familyid 0, Spid 105) was waiting for a 'shared
> row' lock on row 0 page 25025 of the 'pDepOrder' table in database 4 but
> process (Familyid 115, Spid 115) already held a 'exclusive row' lock on it.
> Deadlock Id 57: Process (Familyid 0, Spid 115) was waiting for a 'update
> row' lock on row 0 page 30070 of the 'pResList' table in database 4 but
> process (Familyid 105, Spid 105) already held a 'exclusive row' lock on it.
>
> Deadlock Id 57: Process (Familyid 0, 115) was chosen as the victim. End
> of deadlock information.

А чем это не устраивает ? Скажи, чего тебе хочется ...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как вы отлавливаете дятлов? (deadlock)
    #34784906
Фотография DimaU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ID-шник может смениться (пользователь войдет-выйдет из системы)...
Хотелось бы в момент deadlock-а получать (автоматически!) простыню процессов его вызвавших или хотя бы отработку такого запроса:

авторselect
p.spid,
p.status,
suser_name(p.suid) as login,
db_name(p.dbid) as db_name,
object_name(l.id,l.dbid) as table_name,
p.program_name,
object_name(p.id,p.dbid) as procedure_name,
p.cmd,
p.stmtnum,
p.linenum,
p.priority,
p.hostname
from
master..sysprocesses p
left outer join master..syslocks l on p.spid = l.spid
left outer join master..spt_values v on l.type = v.number and v.type = 'L'
left outer join master..spt_values vlc on l.context + 2049 = vlc.number and vlc.type = 'L2'
where
(p.spid!=0)
order by login
and p.spid in (<ID-шники от deadlock>)
...
Рейтинг: 0 / 0
Как вы отлавливаете дятлов? (deadlock)
    #34785084
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaUASE 12.0
Форумчане, как вы отлавливаете Deadlock-и? Есть какое-нибудь удобное средство кроме анализа файла errorlog. Информация от пользователя об ошибки может придти c неким запаздыванием и увидеть какие процессы (процедуры) сработали в том моменте проблематично...

автор
...
Deadlock Id 57: Process (Familyid 0, Spid 105) was waiting for a 'shared row' lock on row 0 page 25025 of the 'pDepOrder' table in database 4 but process (Familyid 115, Spid 115) already held a 'exclusive row' lock on it.
Deadlock Id 57: Process (Familyid 0, Spid 115) was waiting for a 'update row' lock on row 0 page 30070 of the 'pResList' table in database 4 but process (Familyid 105, Spid 105) already held a 'exclusive row' lock on it.

Deadlock Id 57: Process (Familyid 0, 115) was chosen as the victim. End of deadlock information.


Всего всего! Tор-Analytics

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

rti + инфа из лог-файла даст вам информацию для размышления

Либо отправьте этот комплект в Диас для анализа, не забыв указать версию продукта - возможно есть патч для вашего случая.
...
Рейтинг: 0 / 0
Как вы отлавливаете дятлов? (deadlock)
    #34785248
Фотография DimaU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторrti + инфа из лог-файла даст вам информацию для размышления... отправьте этот комплект...
Да, верно. Когда ситуацию можем повторить на тестовой базе - весь анализ (rti + лог) отсылается разработчикам.
Хуже когда ситуацию не можем повторить (много пользователей и процессов). Поэтому и встал вопрос - как перевоначально поймать дятлов.
...
Рейтинг: 0 / 0
Как вы отлавливаете дятлов? (deadlock)
    #34785254
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaU пишет:

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

К дэдлокам это казалось бы отношения не имеет, но до них
уже в таком случае дело не доходило - киллер убивал их
раньше.

Я не могу поделиться сервисом, но сами запросы (они
в виде процедур оформлены) могу дать ( я их уже кстати
сюда выдавал).

Одна из этих двух процедур sp__wholocks полезна и просто
сама по себе - показывает все локи в удобном виде.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как вы отлавливаете дятлов? (deadlock)
    #34785324
Фотография DimaU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторно сами запросы (они
в виде процедур оформлены) могу дать ( я их уже кстати
сюда выдавал).
MasterZiv, cпасибо! Был бы благодарен за запросы. Можно и по адресу в профиле.
...
Рейтинг: 0 / 0
Как вы отлавливаете дятлов? (deadlock)
    #34785349
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaU
Хуже когда ситуацию не можем повторить (много пользователей и процессов). Поэтому и встал вопрос - как перевоначально поймать дятлов.
включить запись rti у самых жалующихся пользователей (типа "действие часто не выполняется")
хотя возможно потребуется порядочно дискового пространства - afair, rti-файл может достигать больших размеров
попросить их отследить время появления проблемы и свериться с логом Sybase для данного времени
...
Рейтинг: 0 / 0
Как вы отлавливаете дятлов? (deadlock)
    #34787087
guest0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1) Убедиться, что схема блокировки на обоих таблицах "Lock scheme Datarows". Если постраничная, то поменять.
2) Постредством RTI, попытаться понять какие запросы вошли в блокировку. Зачастую оказывается, что "виноват" либо update, который изменяет первое поле индексов на противоположный по знаку. Либо "виноват" delete, в котором удаляемая таблица не стоит в секции from, либо стоит но не прописан индекс. В этом случае оптимизатор может выбрать table scan, что и становится причиной мёртвой блокировки. И update первого поля, и delete без индекса являются ошибками!
...
Рейтинг: 0 / 0
Как вы отлавливаете дятлов? (deadlock)
    #34794685
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaU пишет:

> MasterZiv, cпасибо! Был бы благодарен за запросы. Можно и по адресу в
> профиле.

Я тут все думаю как и где бы их окончательно опубликовать, чтобы было хорошо.
Ну и доделать. Позже сообщю.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как вы отлавливаете дятлов? (deadlock)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]