Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ADM5501I DB2 is performing lock escalation.Reason code: "2". SQL rollback.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Появились проблеммы с блокировками ресурсов в DB2v9.7.8 for AIX64. db2diag.log: ... 2015-10-26-08.03.44.806432+180 E35354527A906 LEVEL: Warning PID : 7667784 TID : 26507 PROC : db2sysc 0 INSTANCE: db2inst1 NODE : 000 DB : PRODG APPHDL : 0-16874 APPID: 10.44.1.18.55330.151026050335 AUTHID : DB2INST1 EDUID : 26507 EDUNAME: db2agent (PRODG) 0 FUNCTION: DB2 UDB, data management, sqldEscalateLocks, probe:1 MESSAGE : ADM5501I DB2 is performing lock escalation. The affected application is named "db2jcc_application", and is associated with the workload name "SYSDEFAULTUSERWORKLOAD" and application ID "10.44.1.18.55330.151026050335" at member "0". The total number of locks currently held is "14", and the target number of locks to hold is "7". The current statement being executed is "SELECT * FROM DB2ADMIN.MATERIALS". Reason code: "2" --временами бывает Reason code: "1" 2015-10-26-08.03.44.738146+180 E35329121A666 LEVEL: Warning PID : 7667784 TID : 12791 PROC : db2sysc 0 INSTANCE: db2inst1 NODE : 000 DB : PRODG APPHDL : 0-17733 APPID: 10.44.1.18.55336.151026050346 AUTHID : DB2INST1 EDUID : 12791 EDUNAME: db2agent (PRODG) 0 FUNCTION: DB2 UDB, lock manager, sqlpRefillAgentLRBCache, probe:1020 DATA #1 : <preformatted> Attempted to synchronously increase Locklist, but Locklist is not growable at this time locklist size: 140576 databaseSharedMemorySetSize: 652416 requestedGrowthBytes: 524288 overflowBytesLeft: 583401272 additionalBytesForLL: 0 ... После появления такие предупреждений на стороне WebsphereApplServer откатывается транзакция: 0000006f ServletWrappe E SRVE0068E: Необрабатываемая исключительная ситуация сгенерирована в одном из служебных методов сервлета: PaymentResultAssist. Исключительная ситуация : org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [some sql]; SQL state [null]; error code [-4497]; [ibm][db2][jcc][10342][11669] Application must execute a rollback. The unit of work has already been rolled back in the database but other resource managers involved in this unit of work might not. To ensure integrity of this application, all SQL requests will be rejected until the application issues a rollback. ; nested exception is com.ibm.db2.jcc.c.SqlException: [ibm][db2][jcc][10342][11669] Application must execute a rollback. The unit of work has already been rolled back in the database but other resource managers involved in this unit of work might not. To ensure integrity of this application, all SQL requests will be rejected until the application issues a rollback. В чем может быть проблемма? По умолчанию используется же CS-блокировка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 10:31 |
|
||
|
ADM5501I DB2 is performing lock escalation.Reason code: "2". SQL rollback.
|
|||
|---|---|---|---|
|
#18+
curious_man, Добрый день. Это вам надо в package cache, например, найти, какой там уровень изоляции у запросов. Код: sql 1. 2. Причины могут быть разные. У вас очень маленький locklist. Если запрос изменяет данные, то блокировки держатся до конца транзакции. Приложений может быть много, locklist'а не хватает даже для небольшого кол-ва блокировок каждым отдельным приложением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 13:34 |
|
||
|
ADM5501I DB2 is performing lock escalation.Reason code: "2". SQL rollback.
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein, Выполнил запрос: select effective_isolation, lock_escals, num_exec_with_metrics, stmt_text from table(mon_get_pkg_cache_stmt(null, null, null, -1)) и выяснил, что все запросы от WebSphere работают под уровнем изоляции RS. По-поводу величины locklist. Я обнаружил, что в этой базе включен Self tuning memory manager (STMM), т.к. SELF_TUNING_MEM ON PCKCACHESZ AUTOMATIC LOCKLIST AUTOMATIC MAXLOCKS automatic SORTHEAP AUTOMATIC SHEAPTHRES_SHR AUTOMATIC DATABASE_MEMORY AUTOMATIC db2 get db cfg показало: Max storage for lock list (4KB) (LOCKLIST) = AUTOMATIC(140553) Percent. of lock lists per application (MAXLOCKS) = AUTOMATIC(98) Может есть смысл вручную установить LOCKLIST и MAXLOCKS? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 15:26 |
|
||
|
ADM5501I DB2 is performing lock escalation.Reason code: "2". SQL rollback.
|
|||
|---|---|---|---|
|
#18+
curious_manМожет есть смысл вручную установить LOCKLIST и MAXLOCKS?При включенном STMM лучше смотреть текущие параметры, а не те, которые при старте базы были. Т.е. db2 get db cfg show details Если у вас текущий locklist примерно такой же, как сейчас (а он все-таки > 500 MB, это довольно много), то можно, конечно, и руками больше поставить locklist, но лучше разобраться, как в Сфере поставить CS вместо RS. Можно уменьшить maxlocks. Это приведет к тому, что те, кто держат много блокировок, пораньше будут получать эскалацию, оставляя место для таких вот приложений, для которых надо 14 блокировок сконвертировать в 7, чтобы хоть как-то уменьшить занимаемое место в раздутом locklist. Но, еще раз, лучше либо уровень изоляции понизить, либо разобраться, почему приложения так много сканируют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 16:50 |
|
||
|
ADM5501I DB2 is performing lock escalation.Reason code: "2". SQL rollback.
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein, Да, db2 get db cfg show detail показал, что: ... LOCKLIST Current Value=AUTOMATIC(140553) LOCKLIST Delayed Value=AUTOMATIC(140553) MAXLOCKS Current Value=AUTOMATIC(98) MAXLOCKS Delayed Value=AUTOMATIC(98) А вот как определить, какие SQL заполняют locklist? Покажет lock_event_monitoring? Вычислить SQL, которые заполняют locklist и дальше либо переписывать SQL либо играться с LOCKLIST/MAXLOCKS Эти блокировки начались после выполнения скриптов по изменению структуры базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 19:59 |
|
||
|
ADM5501I DB2 is performing lock escalation.Reason code: "2". SQL rollback.
|
|||
|---|---|---|---|
|
#18+
curious_man, В mon_get_connection есть num_locks_held, lock_escals. В описании последнего показателя есть формула, как посчитать по кол-ву блокировок место в locklist. Но это для того, что в денный момент происходит. В MON_GET_PKG_CACHE_STMT есть lock_escals, по нему тоже можно как-то судить о возможно большом кол-ве блокировок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 11:46 |
|
||
|
|

start [/forum/topic.php?fid=43&tid=1600713]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
2ms |
| others: | 280ms |
| total: | 424ms |

| 0 / 0 |
