Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Победить блокировки от триггера / 6 сообщений из 6, страница 1 из 1
17.10.2013, 13:59
    #38431223
medoed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Победить блокировки от триггера
Приветствую! Есть такое архитектурное решение - при вставке или update записей в 1-ой таблице вставляются записи или модифицируются записи в других таблицах. Соответственно на первую таблицу накладываются эксклюзивные блокировки, да и те таблицы, которые заполняются (по моему тоже). Насколько мне припоминается
Код: plsql
1.
with ur 

в конструкциях триггера писать нельзя. Поменять архитектурное решение глобально тоже нельзя. Так как система не наша и глобально то что оттестировано годами невозможно и запрещено! Версия СУБД 9.7. под windows
Как быть, можно что то прикрутить внутри самого триггера, знаю что костыли, но все же...
...
Рейтинг: 0 / 0
17.10.2013, 16:58
    #38431600
medoed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Победить блокировки от триггера
medoed,
Марк, может вы мне поможете ответом, интересно мнение знатоков!
...
Рейтинг: 0 / 0
17.10.2013, 23:45
    #38432116
Победить блокировки от триггера
medoed,

А в чем собственно проблема то состоит?
Сами по себе блокировки - это нормальный процесс работы СУБД.
...
Рейтинг: 0 / 0
18.10.2013, 10:12
    #38432361
CawaSPb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Победить блокировки от триггера
medoed,

Обернуть действие в compiled (та, что begin ... end, а не begin atomic ... end) процедуру и дёргать её из триггера.
Не поможет, вооще сделать эту процедуру AUTONOMOUS (только смотреть внимательно, чтобы не самоблокироваться).

Но надо проверять, что будет с производительностью. Compiled процедуры в отличии от кода триггеров (тогда, когда они inlined, в 9.7 появилась возможность делать compiled триггера, как процедуры) реально дёргаются/выполняются. В некоторых случаях может помочь переход от row level к statement level триггерам.
...
Рейтинг: 0 / 0
18.10.2013, 12:19
    #38432620
medoed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Победить блокировки от триггера
Евгений Хабаров,
Deadlock -и наступают из-за долгих самоблокировок.
...
Рейтинг: 0 / 0
18.10.2013, 12:20
    #38432623
medoed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Победить блокировки от триггера
CawaSPbmedoed,

Обернуть действие в compiled (та, что begin ... end, а не begin atomic ... end) процедуру и дёргать её из триггера.
Не поможет, вооще сделать эту процедуру AUTONOMOUS (только смотреть внимательно, чтобы не самоблокироваться).

Но надо проверять, что будет с производительностью. Compiled процедуры в отличии от кода триггеров (тогда, когда они inlined, в 9.7 появилась возможность делать compiled триггера, как процедуры) реально дёргаются/выполняются. В некоторых случаях может помочь переход от row level к statement level триггерам.
Спасибо, попробуем!
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Победить блокировки от триггера / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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