powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Тупиковая ситуация
17 сообщений из 17, страница 1 из 1
Тупиковая ситуация
    #33763220
Chacanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дорогие спецы!
помогите разобраться с ситуацией, возникающей при выборке из таблиц
и записи.
Часто стали появляться сообщение о тупиковой ситуации.
Сообщение приложено в файле.
Как ее можно обойти?
...
Рейтинг: 0 / 0
Тупиковая ситуация
    #33763283
nkulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
планировать транзакции.
...
Рейтинг: 0 / 0
Тупиковая ситуация
    #33779993
Chacanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Планировать транзакции?
А как это можно сделать?
...
Рейтинг: 0 / 0
Тупиковая ситуация
    #33780427
warIord
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это мил человек и есть суть db2, точка мракобесия, все вот достаточно просто и приемлемо, но механизм блокировок это черпак ... дегтя
...
Рейтинг: 0 / 0
Тупиковая ситуация
    #33780502
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
просто старайтесь развести читающие и пишушие транзакции по времени и/или месту.
Это можно сделать только зная логику приложения, общие рекомендации - это вряд ли.
Опять же, какой процент строк таблицы затрагивается транзакцией, и прочая, и прочая - все в голове надо иметь.
...
Рейтинг: 0 / 0
Тупиковая ситуация
    #33784312
Фотография Anton Demidov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это основная проблема в DB2 - блокировки при чтении.
Если логика приложения не пострадает, то можно читать в UR-режиме - dirty reads. Этот режим указывается либо при описании курсора, либо при компияции (но уже для всего модуля). Плюс этого режима в том, что он не блокирует.
Код: plaintext
1.
2.
--
Антон
Per rectum ad astrum
...
Рейтинг: 0 / 0
Тупиковая ситуация
    #33784344
Nikolay Kulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй.
db2set DB2SKIPINSERTED=YES
db2set DB2SKIPDELETED=YES
...
Рейтинг: 0 / 0
Тупиковая ситуация
    #33786766
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
вообще-то, это не совсем проблема, так как это основной способ достижения высокой производительности.
Просто есть плюсы и минусы, минус - в том, что думать надо, как транзакции развести.
В дополнение к сказанному Николаем - evaluate_uncommited тоже.
...
Рейтинг: 0 / 0
Тупиковая ситуация
    #33791965
--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ggvпросто старайтесь развести читающие и пишушие транзакции по времени и/или месту.

Вот это меня больше всего умиляет. Скажите, вы всегда знаете кто из 100 пользователей, что в данный момент делает? Мы можете спланировать каждое их действие?
ИМХО, не надо никого разводить (во всех смыслах), для начала надо стараться, чтобы изменения (update/insert/delete) вносились как можно быстрее, т.е. организовать транзакции таким образом, чтобы эти операции делались сразу перед commit.
...
Рейтинг: 0 / 0
Тупиковая ситуация
    #33791988
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
про commit и так во всех доках написано.
А про юзверей - я ужо говорил как-то, в моем мире юзверей нет.
Вот запросы от них приходят, но "в очередь, сукины дети, в очередь!"
А когда они в очереди, то как их выбирать, в какой последовательности, по какому приоритету, и прочее - вот это и позволяет развести по месту и времени.
Ясный пень, когда идет запрос на update 3/4 содержимого большой таблицы, то легко может оказаться легче и быстрее отдать эту таблицу эксклюзивно этой транзакции, отмолотит и освободит.
Да пустой спор, беспредметный.
Если кому-то мешают юзвери - гнать их нафик!
...
Рейтинг: 0 / 0
Тупиковая ситуация
    #33794155
New Guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Anton DemidovЭто основная проблема в DB2 - блокировки при чтении.
Если логика приложения не пострадает, то можно читать в UR-режиме - dirty reads. Этот режим указывается либо при описании курсора, либо при компияции (но уже для всего модуля). Плюс этого режима в том, что он не блокирует.
Код: plaintext
1.
2.
--
Антон
Per rectum ad astrum

Разрешите не согласиться с " Плюс этого режима в том, что он не блокирует.
" Блокирует и не просто а catalog tables!
"catalog locks are acquired even in uncommitted read applications using dynamic SQL. "
http://publib.boulder.ibm.com/infocenter/db2luw/v8/topic/com.ibm.db2.udb.doc/admin/c0005276.htm
...
Рейтинг: 0 / 0
Тупиковая ситуация
    #33794284
Фотография Anton Demidov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
New GuestРазрешите не согласиться с " Плюс этого режима в том, что он не блокирует.
" Блокирует и не просто а catalog tables!
"catalog locks are acquired even in uncommitted read applications using dynamic SQL. "
http://publib.boulder.ibm.com/infocenter/db2luw/v8/topic/com.ibm.db2.udb.doc/admin/c0005276.htm
Ясен пень блокирует каталог, а то вдруг ты таблицу дропнешь, а я в своём курсоре про это и не узнаю
На одновременные обновления таблицы (insert/update/delete) это никак не повлияет.
Код: plaintext
1.
2.
--
Антон
Per rectum ad astrum
...
Рейтинг: 0 / 0
Тупиковая ситуация
    #33794563
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Anton DemidovПлюс этого режима в том, что он не блокирует.
Даже если вы пишете в таблицу с ur, блокировка измененной записи сохраняется до конца транзакции.
Т.е. ur поможет читателю и писателю, но не двум писателям.
Так что высказывание все-таки не совсем корректное.
...
Рейтинг: 0 / 0
Тупиковая ситуация
    #33795078
warIord
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ggv
Код: plaintext
1.
Вот запросы от них приходят, но "в очередь, сукины дети, в очередь!"
А когда они в очереди, то как их выбирать, в какой последовательности, по какому приоритету, и прочее - вот это и позволяет развести по месту и времени.

что за очередь такая, кто ее контролирует, можно поподробнее?
...
Рейтинг: 0 / 0
Тупиковая ситуация
    #33795224
Nikolay Kulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WebSphere MQ
...
Рейтинг: 0 / 0
Тупиковая ситуация
    #33795354
lazy-beaver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ggvпро commit и так во всех доках написано.
А про юзверей - я ужо говорил как-то, в моем мире юзверей нет.
Вот запросы от них приходят, но "в очередь, сукины дети, в очередь!"
А когда они в очереди, то как их выбирать, в какой последовательности, по какому приоритету, и прочее - вот это и позволяет развести по месту и времени.
Ясный пень, когда идет запрос на update 3/4 содержимого большой таблицы, то легко может оказаться легче и быстрее отдать эту таблицу эксклюзивно этой транзакции, отмолотит и освободит.
Да пустой спор, беспредметный.
Если кому-то мешают юзвери - гнать их нафик!

тоже отличная тема для рубрикатора информационных ресурсов....

Serge Reva
...
Рейтинг: 0 / 0
Тупиковая ситуация
    #33796810
Guest new
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ясен пень блокирует каталог, а то вдруг ты таблицу дропнешь, а я в своём курсоре про это и не узнаю
На одновременные обновления таблицы (insert/update/delete) это никак не повлияет.

Это повлияет не только на (insert/update/delete) но даже на select из другой сессии. Это редкая ситуация как и lock itself из-за UR, но она бывает. То что не все чисто с UR говорит следующая фраза из IBM doc
"UR isolation acquires almost no locks on rows or pages." And one more
"ISOLATION (UR) Allows the application to read while acquiring few locks "
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Тупиковая ситуация
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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