Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как вы отлавливаете дятлов? (deadlock) / 10 сообщений из 10, страница 1 из 1
07.09.2007, 13:27
    #34784253
DimaU
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вы отлавливаете дятлов? (deadlock)
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
07.09.2007, 13:55
    #34784395
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вы отлавливаете дятлов? (deadlock)
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
07.09.2007, 15:52
    #34784906
DimaU
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вы отлавливаете дятлов? (deadlock)
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
07.09.2007, 16:37
    #34785084
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вы отлавливаете дятлов? (deadlock)
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
07.09.2007, 17:18
    #34785248
DimaU
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вы отлавливаете дятлов? (deadlock)
авторrti + инфа из лог-файла даст вам информацию для размышления... отправьте этот комплект...
Да, верно. Когда ситуацию можем повторить на тестовой базе - весь анализ (rti + лог) отсылается разработчикам.
Хуже когда ситуацию не можем повторить (много пользователей и процессов). Поэтому и встал вопрос - как перевоначально поймать дятлов.
...
Рейтинг: 0 / 0
07.09.2007, 17:18
    #34785254
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вы отлавливаете дятлов? (deadlock)
DimaU пишет:

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

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

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

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

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

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


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