powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Очень плохая блокировка
19 сообщений из 19, страница 1 из 1
Очень плохая блокировка
    #38735814
Андрей Васильевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ, подскажите что можно делать, в какую сторону смотреть. Ошибка вылетает com.ibm.db2.jcc.c.SqlException: DB2 SQL error: SQLCODE: -911, SQLSTATE: 40001, SQLERRMC: 68. Судя по описанию очень плохая ошибка. Скоро отпуск, а блокировок много. База нормализована и как следствие много справочников и таблиц-связок, и самое неприятное в этом случае, некоторые данные заносятся и выбираются через длинную цепочку таблиц. Много длинных транзакций(много действий select, insert, update в одном). Откуда начинать расследование? Я не силен в DB2. DB2 версии 8.1.
...
Рейтинг: 0 / 0
Очень плохая блокировка
    #38735821
vitabios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей Васильевич,
ну сначала можно db2diag.log посмотреть, а так же логи приложения, оно случаем не на IBM Websphere Application Server работает?
...
Рейтинг: 0 / 0
Очень плохая блокировка
    #38735832
Андрей Васильевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, Tomcat. Приложение моё. На этом сервере и значительно более нагруженные базы и их приложения. Я уже убрал по максимуму все не сильно важные запросы вложенные(select`ы в insert`е). Все работает быстро до какого-то момента, когда количество пользователей увеличивается некий порог, начинают плодиться блокировки. Я когда-то менял параметр ответственный за блокировки(время или таймаут), но тогда я решил проблему разбив серию действий на отдельные со своей транзакцией.
...
Рейтинг: 0 / 0
Очень плохая блокировка
    #38735867
Андрей Васильевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то db2diag.log большой.
...
Рейтинг: 0 / 0
Очень плохая блокировка
    #38735914
knudsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей Васильевич,

кусок db2diag.log в студию!

а LOCKSIZE таблицы какой?
...
Рейтинг: 0 / 0
Очень плохая блокировка
    #38735923
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Васильевич,

68 - это истечение времени ожидания по блокировке.

В 9.7 я бы предложил установить DB2_CAPTURE_LOCKTIMEOUT в ON:
Код: plaintext
db2set DB2_CAPTURE_LOCKTIMEOUT=ON
и смотреть отчёты, падающие в каталог с db2diag.log.
Но в 8-ке, если не ошибаюсь, этого параметра ещё не было.

В принципе, ничего страшного в отстреле по LOCK timeout'у нет, вопрос только как часто это происходит, и сколько вообще приложения висят в блокировках.

В вашем случае похоже, что нагрузка со стороны начинает превышать "пропускную способность", которую обеспечивает база при работе с некоторым ресурсом (таблицей?). Определите этот ресурс, дальше или обеспечьте неблокирующий доступ к нему (на уровне приложения), или боритесь за производительность работы с ним.
Т.е. в первую очередь смотрите, какие ожиадния по блокировкам начинают появляться, и на каких запросах.

BTW А во что выставлен LOCKTIMEOUT у базы?
При лавинообразном нарастании количества блокировок при повышении нагрузки его увеличение не поможет, но поиграться тоже можно.
...
Рейтинг: 0 / 0
Очень плохая блокировка
    #38736039
Андрей Васильевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Файл db2diag.log большой. 980 мб за 3 года. Я выбрал за период когда примерно должна сия напость произойти. Но вот то что сервер сильно нагружен это да. Причем там очень много дисковых операций и причем периодичных.
...
Рейтинг: 0 / 0
Очень плохая блокировка
    #38736040
Андрей Васильевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут скрин настроек
...
Рейтинг: 0 / 0
Очень плохая блокировка
    #38736534
Андрей Васильевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И на другом сервере не работает
...
Рейтинг: 0 / 0
Очень плохая блокировка
    #38736666
knudsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей Васильевич,

Автоматический бэкап логов, автоматический реорг таблиц...

Если бэкап очень нужен, попробовать сначала снять автоматичесий реорг и проводить его по расписанию
UPDATE DB CONFIGURATION FOR ACS USING AUTO_REORG OFF;

Но мне кажется не очень поможет...
...
Рейтинг: 0 / 0
Очень плохая блокировка
    #38736671
knudsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей Васильевич,

А что показывает команда GET DB CFG FOR ACS в части AUTO_MAINT ?
...
Рейтинг: 0 / 0
Очень плохая блокировка
    #38737054
Андрей Васильевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На новом сервере блокировок меньше. Но они там иногда по любому должны быть. Там очень длинные транзакции. Теперь висит на запросах, но не отпадает как при множестве блокировок. Состояние базы пишет нормальное. Пользователи вчера повесили мне Tomcat. Поэтому их количество я не узнал. А вот количество соединенных программ более 18(из центра управления) не поднимается. Выполнил UPDATE DB CONFIGURATION FOR ACS USING AUTO_REORG OFF;
Включены AUTO_DB_BACKUP, AUTO_MAINT, AUTO_RUNSTAT, AUTO_TBL_MAINT. Что тут можно выключить? Бэкапы я по расписанию настрою.
...
Рейтинг: 0 / 0
Очень плохая блокировка
    #38737055
Андрей Васильевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Через конфигурирование автоматического обслуживания убрал еще некоторые. Остались только AUTO_MAINT, AUTO_TBL_MAINT.
...
Рейтинг: 0 / 0
Очень плохая блокировка
    #38737078
knudsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей Васильевич,

Если backup логов не нужен, то отключается переменными LOGARCHMETH1 и LOGARCHMETH2 посттановкой их в OFF и рестартом базы. Но надо не забывать, что логи не бесконечны... может их придётся увеличить.
...
Рейтинг: 0 / 0
Очень плохая блокировка
    #38737090
knudsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей ВасильевичЧерез конфигурирование автоматического обслуживания убрал еще некоторые. Остались только AUTO_MAINT, AUTO_TBL_MAINT.

да больше и не надо ничего отключать, и так всё OFF, AUTO_MAINT - родительский параметр, поставив его в OFF- остальные можно не трогать, всё равно работать не будут.
...
Рейтинг: 0 / 0
Очень плохая блокировка
    #38737096
knudsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Очень плохая блокировка
    #38737098
A.Panskikh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей Васильевич,

включите db2set DB2_CAPTURE_LOCKTIMEOUT=ON на сервере, в восьмерке он был. В каталоге с db2diag.log будут создаваться файлы с детальными причинами возникновения блокировок.Самая обычная ошибка новичков с БД - не закрываете транзакции за собой. Включите в приложении автокоммит и не парьтесь до тех пор, пока не разберетесь что такое транзакция, уровень изоляции и т.п.

Поставьте db2mon и сможете наблюдать за блокировками в реальном времени.

Andy
...
Рейтинг: 0 / 0
Очень плохая блокировка
    #38737112
Андрей Васильевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Увеличил память для Tomcat. Добавил до 400000 страниц(по 4 кб) пул IBMDEFAULTBP. Там все в разделе "Неблокировано". Не знаю так ли нужно. Отключил логирование в приложении(действия в приложении в таблицу заносились). Может лишних инсертов уменьшилось. Пользователей значительно меньше. Пока работает нормально. Судя по всему надо дробить транзакции, думать что с логами делать и где хранить, и на хороший сервер перемещать это дело.
...
Рейтинг: 0 / 0
Очень плохая блокировка
    #38737122
Андрей Васильевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A.Panskikh,

Что такое транзакции и уровни изоляции я знаю. Еще в универе изучал. Я плохо знаю DB2. Действия такие, что нужно или всё сохранить или ничего. А этих "всё" 3-5 таблиц. База данных нормализована. Вот и затрагивают изменения сразу несколько таблиц. Но за блокировками буду следить. Надо что-то по db2 почитать полезное.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Очень плохая блокировка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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