Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Очень плохая блокировка
|
|||
|---|---|---|---|
|
#18+
Народ, подскажите что можно делать, в какую сторону смотреть. Ошибка вылетает com.ibm.db2.jcc.c.SqlException: DB2 SQL error: SQLCODE: -911, SQLSTATE: 40001, SQLERRMC: 68. Судя по описанию очень плохая ошибка. Скоро отпуск, а блокировок много. База нормализована и как следствие много справочников и таблиц-связок, и самое неприятное в этом случае, некоторые данные заносятся и выбираются через длинную цепочку таблиц. Много длинных транзакций(много действий select, insert, update в одном). Откуда начинать расследование? Я не силен в DB2. DB2 версии 8.1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2014, 10:34 |
|
||
|
Очень плохая блокировка
|
|||
|---|---|---|---|
|
#18+
Андрей Васильевич, ну сначала можно db2diag.log посмотреть, а так же логи приложения, оно случаем не на IBM Websphere Application Server работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2014, 10:40 |
|
||
|
Очень плохая блокировка
|
|||
|---|---|---|---|
|
#18+
Не, Tomcat. Приложение моё. На этом сервере и значительно более нагруженные базы и их приложения. Я уже убрал по максимуму все не сильно важные запросы вложенные(select`ы в insert`е). Все работает быстро до какого-то момента, когда количество пользователей увеличивается некий порог, начинают плодиться блокировки. Я когда-то менял параметр ответственный за блокировки(время или таймаут), но тогда я решил проблему разбив серию действий на отдельные со своей транзакцией. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2014, 10:49 |
|
||
|
Очень плохая блокировка
|
|||
|---|---|---|---|
|
#18+
Что-то db2diag.log большой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2014, 11:09 |
|
||
|
Очень плохая блокировка
|
|||
|---|---|---|---|
|
#18+
Андрей Васильевич, кусок db2diag.log в студию! а LOCKSIZE таблицы какой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2014, 11:28 |
|
||
|
Очень плохая блокировка
|
|||
|---|---|---|---|
|
#18+
Андрей Васильевич, 68 - это истечение времени ожидания по блокировке. В 9.7 я бы предложил установить DB2_CAPTURE_LOCKTIMEOUT в ON: Код: plaintext Но в 8-ке, если не ошибаюсь, этого параметра ещё не было. В принципе, ничего страшного в отстреле по LOCK timeout'у нет, вопрос только как часто это происходит, и сколько вообще приложения висят в блокировках. В вашем случае похоже, что нагрузка со стороны начинает превышать "пропускную способность", которую обеспечивает база при работе с некоторым ресурсом (таблицей?). Определите этот ресурс, дальше или обеспечьте неблокирующий доступ к нему (на уровне приложения), или боритесь за производительность работы с ним. Т.е. в первую очередь смотрите, какие ожиадния по блокировкам начинают появляться, и на каких запросах. BTW А во что выставлен LOCKTIMEOUT у базы? При лавинообразном нарастании количества блокировок при повышении нагрузки его увеличение не поможет, но поиграться тоже можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2014, 11:31 |
|
||
|
Очень плохая блокировка
|
|||
|---|---|---|---|
|
#18+
Файл db2diag.log большой. 980 мб за 3 года. Я выбрал за период когда примерно должна сия напость произойти. Но вот то что сервер сильно нагружен это да. Причем там очень много дисковых операций и причем периодичных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2014, 12:24 |
|
||
|
Очень плохая блокировка
|
|||
|---|---|---|---|
|
#18+
Тут скрин настроек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2014, 12:25 |
|
||
|
Очень плохая блокировка
|
|||
|---|---|---|---|
|
#18+
И на другом сервере не работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2014, 16:30 |
|
||
|
Очень плохая блокировка
|
|||
|---|---|---|---|
|
#18+
Андрей Васильевич, Автоматический бэкап логов, автоматический реорг таблиц... Если бэкап очень нужен, попробовать сначала снять автоматичесий реорг и проводить его по расписанию UPDATE DB CONFIGURATION FOR ACS USING AUTO_REORG OFF; Но мне кажется не очень поможет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2014, 17:49 |
|
||
|
Очень плохая блокировка
|
|||
|---|---|---|---|
|
#18+
Андрей Васильевич, А что показывает команда GET DB CFG FOR ACS в части AUTO_MAINT ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2014, 17:51 |
|
||
|
Очень плохая блокировка
|
|||
|---|---|---|---|
|
#18+
На новом сервере блокировок меньше. Но они там иногда по любому должны быть. Там очень длинные транзакции. Теперь висит на запросах, но не отпадает как при множестве блокировок. Состояние базы пишет нормальное. Пользователи вчера повесили мне Tomcat. Поэтому их количество я не узнал. А вот количество соединенных программ более 18(из центра управления) не поднимается. Выполнил UPDATE DB CONFIGURATION FOR ACS USING AUTO_REORG OFF; Включены AUTO_DB_BACKUP, AUTO_MAINT, AUTO_RUNSTAT, AUTO_TBL_MAINT. Что тут можно выключить? Бэкапы я по расписанию настрою. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2014, 08:56 |
|
||
|
Очень плохая блокировка
|
|||
|---|---|---|---|
|
#18+
Через конфигурирование автоматического обслуживания убрал еще некоторые. Остались только AUTO_MAINT, AUTO_TBL_MAINT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2014, 09:01 |
|
||
|
Очень плохая блокировка
|
|||
|---|---|---|---|
|
#18+
Андрей Васильевич, Если backup логов не нужен, то отключается переменными LOGARCHMETH1 и LOGARCHMETH2 посттановкой их в OFF и рестартом базы. Но надо не забывать, что логи не бесконечны... может их придётся увеличить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2014, 09:24 |
|
||
|
Очень плохая блокировка
|
|||
|---|---|---|---|
|
#18+
Андрей ВасильевичЧерез конфигурирование автоматического обслуживания убрал еще некоторые. Остались только AUTO_MAINT, AUTO_TBL_MAINT. да больше и не надо ничего отключать, и так всё OFF, AUTO_MAINT - родительский параметр, поставив его в OFF- остальные можно не трогать, всё равно работать не будут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2014, 09:30 |
|
||
|
Очень плохая блокировка
|
|||
|---|---|---|---|
|
#18+
И ещё, для посмотреть, может пригодится: http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.admin.perf.doc/doc/c0005266.html?lang=en ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2014, 09:35 |
|
||
|
Очень плохая блокировка
|
|||
|---|---|---|---|
|
#18+
Андрей Васильевич, включите db2set DB2_CAPTURE_LOCKTIMEOUT=ON на сервере, в восьмерке он был. В каталоге с db2diag.log будут создаваться файлы с детальными причинами возникновения блокировок.Самая обычная ошибка новичков с БД - не закрываете транзакции за собой. Включите в приложении автокоммит и не парьтесь до тех пор, пока не разберетесь что такое транзакция, уровень изоляции и т.п. Поставьте db2mon и сможете наблюдать за блокировками в реальном времени. Andy ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2014, 09:36 |
|
||
|
Очень плохая блокировка
|
|||
|---|---|---|---|
|
#18+
Увеличил память для Tomcat. Добавил до 400000 страниц(по 4 кб) пул IBMDEFAULTBP. Там все в разделе "Неблокировано". Не знаю так ли нужно. Отключил логирование в приложении(действия в приложении в таблицу заносились). Может лишних инсертов уменьшилось. Пользователей значительно меньше. Пока работает нормально. Судя по всему надо дробить транзакции, думать что с логами делать и где хранить, и на хороший сервер перемещать это дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2014, 09:44 |
|
||
|
Очень плохая блокировка
|
|||
|---|---|---|---|
|
#18+
A.Panskikh, Что такое транзакции и уровни изоляции я знаю. Еще в универе изучал. Я плохо знаю DB2. Действия такие, что нужно или всё сохранить или ничего. А этих "всё" 3-5 таблиц. База данных нормализована. Вот и затрагивают изменения сразу несколько таблиц. Но за блокировками буду следить. Надо что-то по db2 почитать полезное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2014, 09:52 |
|
||
|
|

start [/forum/topic.php?fid=43&fpage=23&tid=1601001]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
15ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 12ms |
| total: | 166ms |

| 0 / 0 |
