Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Ошибка базы данных (темповая область)...- сервер умирает... / 15 сообщений из 15, страница 1 из 1
23.06.2014, 13:18
    #38677138
medoed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка базы данных (темповая область)...- сервер умирает...
Приветствую.
Если есть опыт, желание и возможность совета, попрошу помочь!!!
Ночью у нас идет некоторое построение отчетов на базе.
Сервак страшно тупит и судя по логам просит перезагрузку с ошибкой (логи прикрепляю):
Единственно, что замечу, темповая область размещена на RamDisk-е (драйвер Qsoft).
Версия Db2 - 9.7 (Win).

Логи здесь:

2014-06-23-04.19.57.392000+240 I370843616F462 LEVEL: Error
PID : 13172 TID : 23940 PROC : db2syscs.exe
INSTANCE: DB2 NODE : 000 DB : DAT5
APPHDL : 0-42700 APPID: 192.168.121.217.52280.140623102927
AUTHID : DB2ADMIN
EDUID : 23940 EDUNAME: db2agent (DAT5) 0
FUNCTION: DB2 UDB, buffer pool services, sqlbSMSDeleteObject, probe:830
MESSAGE : ZRC=0x83000570=-2097150608

2014-06-23-04.19.57.392000+240 I370844080F502 LEVEL: Error
PID : 13172 TID : 23940 PROC : db2syscs.exe
INSTANCE: DB2 NODE : 000 DB : DAT5
APPHDL : 0-42700 APPID: 192.168.121.217.52280.140623102927
AUTHID : DB2ADMIN
EDUID : 23940 EDUNAME: db2agent (DAT5) 0
FUNCTION: DB2 UDB, buffer pool services, sqlbSMSDeleteObject, probe:830
DATA #1 : String, 48 bytes
Obj={pool:7;obj:5779;type:128} State=x37 Cont=3

2014-06-23-04.19.57.392000+240 I370844584F1044 LEVEL: Error
PID : 13172 TID : 23940 PROC : db2syscs.exe
INSTANCE: DB2 NODE : 000 DB : DAT5
APPHDL : 0-42700 APPID: 192.168.121.217.52280.140623102927
AUTHID : DB2ADMIN
EDUID : 23940 EDUNAME: db2agent (DAT5) 0
FUNCTION: DB2 UDB, buffer pool services, sqlbSMSDeleteObject, probe:0
DATA #1 : Object descriptor, PD_TYPE_SQLB_OBJECT_DESC, 88 bytes
Obj: {pool:7;obj:5779;type:128} Parent={7;5779}
lifeLSN: 0000038E4783612A
tid: 0 0 0
extentAnchor: 0
initEmpPages: 0
poolPage0: 0
poolflags: 141
objectState: 37
lastSMP: 0
pageSize: 4096
extentSize: 8
bufferPoolID: 1
partialHash: 2526216199
bufferPool: 0x000000021e5990c0
pdef: 0x0000000234c320a0

2014-06-23-04.19.57.392000+240 I370845630F1045 LEVEL: Severe
PID : 13172 TID : 23940 PROC : db2syscs.exe
INSTANCE: DB2 NODE : 000 DB : DAT5
APPHDL : 0-42700 APPID: 192.168.121.217.52280.140623102927
AUTHID : DB2ADMIN
EDUID : 23940 EDUNAME: db2agent (DAT5) 0
FUNCTION: DB2 UDB, data management, sqldCriticalSectionEnd, probe:9384
CALLED : DB2 UDB, data management, sqldDropTable
RETCODE : ZRC=0x83000570=-2097150608
CALLSTCK:
[0] 0x00000001801273E5 pdLogRC + 0x389
[1] 0x0000000001E68395 sqldCriticalSectionEnd + 0x159
[2] 0x0000000001EE3929 sqldDropTable + 0x2F1
[3] 0x0000000001EE319F sqldTableDrop + 0x69D
[4] 0x000000000376934A sqlrl_userTempDrop + 0x222
[5] 0x0000000003768E9F sqlrl_userTempCleanup + 0xB55
[6] 0x000000000314E622 sqlrr_appl_term + 0x105E
[7] 0x0000000001FFDFEF sqeApplication::AppStopUsing + 0x403
[8] 0x00000000020EB2BB sqlesrspWrp + 0x83
[9] 0x00000000020EAE97 sqleUCagentConnectReset + 0x95
...
Рейтинг: 0 / 0
23.06.2014, 16:30
    #38677587
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка базы данных (темповая область)...- сервер умирает...
medoed,

Добрый день.

-2097150608 это ошибка windows ERROR_FILE_CORRUPT (1392) - повреждение файла или каталога.
Судя по:
Obj={pool:7;obj:5779;type:128}
это временный объект в табличном пространстве с ID=7 - скорее всего, какое-то временное (system или user) пространство.

Трудно будет сказать без поддержки, кто виноват в этом - db2 или windows...
...
Рейтинг: 0 / 0
23.06.2014, 17:46
    #38677721
CawaSPb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка базы данных (темповая область)...- сервер умирает...
medoed,

BTW Я бы рекомендовал память, выделенную под отдельный RAM диск под temporary tablespaces, отвести под отдельный bufferpool для временных таблиц.
Сами temporary tablespaces - перенести на обычный диск и перевести в созданный буфферпул.

Будет возможность (будет хватать памяти), оно на диск всё равно сбрасываться не будет.

Плюсы:
1. За размером и наполнением можно будет следить обычными средствами мониторинга (и подкручивать размер).
2. Сейчас у вас временные данные занимают в памяти в два раза больше места, чем следует - в bufferpool'ах и на RAM диске.
...
Рейтинг: 0 / 0
24.06.2014, 15:12
    #38678588
medoed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка базы данных (темповая область)...- сервер умирает...
CawaSPb,
Спасибо за совет. а правильно я понимаю, что если:

>>выделенную под отдельный RAM диск под temporary tablespaces, отвести под отдельный bufferpool для временных таблиц.
>>Сами temporary tablespaces - перенести на обычный диск и перевести в созданный буфферпул.

То надо через drop/create заново все таблицы переносить по дискам?
...
Рейтинг: 0 / 0
24.06.2014, 18:29
    #38678914
CawaSPb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка базы данных (темповая область)...- сервер умирает...
medoed,

А в темповых же нет никаких таблиц с постоянным наполнением.

Просто создать новые пространства, старые грохнуть. Не забыть раздать права на USE, идентичные существующим (для пользовательских пространств).
При необходимости воспользоваться RENAME TABLESPACE.

Системные и пользовательские пространства (вторые - для DECLARED GLOBAL TEMPORARY TABLE's) после этого сами подхватятся.
CREATED GLOBAL TEMPORARY таблицы (если они вообще в БД есть) потребуются пересоздать (грохнуть перед DROP'ом табличного пространства и создать после создания TBS).

После переноса временных табличных пространств в отдельный буфферпул можно соответствующим образом урезать основной буфферпул. Хотя можно всё оставить и в основном. Просто сделать его больше.
информация по тому, что там в буфферпулах происходит:
Код: plaintext
db2pdb -db <dbname> -bufferpools
или (менее детализированно)
Код: sql
1.
select * from SYSIBMADM.MON_BP_UTILIZATION


Также интересны:
Код: sql
1.
2.
select * from table(SYSPROC.MON_GET_BUFFERPOOL(null, -2));
select * from table(SYSPROC.MON_GET_TABLESPACE(null, -2));


Хватает ли буфферпулу памяти, чтобы не сбрасывать данные на диск, можно оценить, сравнивая параметры POOL_TEMP_DATA_L_READS и POOL_TEMP_DATA_P_READS (то же самое с POOL_TEMP_INDEX_L_READS/POOL_TEMP_INDEX_P_READS, если на временных таблицах есть индексы). Если physical reads 0, то вообще всё здорово.


PS Для обычных табличных пространств с обычными таблицами, если они сделаны как DMS (или automatic storage), можно добавить контейнер (storage path), грохнуть уже ненужный и провести rebalance (физически старый контейнер грохнется после завершения ребаланса).

Для обычных табличных пространств, созданных как SMS, потребуется или ручной перенос таблиц (пересоздание), или воспользоваться процедурой admin_move_table(...).
...
Рейтинг: 0 / 0
22.07.2014, 15:03
    #38703008
medoed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка базы данных (темповая область)...- сервер умирает...
Подниму эту тему. А есть ли какие то возможности в Db2 по отстрелу громоздких запросов. Например, запрос отжирает 1 Гб дискового пространства (например тупо перемножили таблицы без условия 10 000 000 * 10 000 000).
Да как бы нелепо не звучал вопрос, но можно ли такие запросы, криво построенные программистами отрубать автоматом с генерацией ошибки что то типа - Your qwery is very big - you will be killed :)
...
Рейтинг: 0 / 0
22.07.2014, 15:38
    #38703068
CawaSPb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка базы данных (темповая область)...- сервер умирает...
medoedА есть ли какие то возможности в Db2 по отстрелу громоздких запросов.
...
что то типа - Your qwery is very big - you will be killed :)
Конечно. С 9.7
См доку на CREATE THRESHOLD statement.

Отстреливать (и не только) можно в частности по:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
ESTIMATEDSQLCOST > ...
SQLROWSRETURNED > ... 
ACTIVITYTOTALTIME > ... (это время выполнения отдельного statement'а)
UOWTOTALTIME > ...
SQLTEMPSPACE > ... (в килобайтах/мегабайтах/гигабайтах)
AGGSQLTEMPSPACE > ... (всего использованного темпового пространства)
SQLROWSREAD > ...
CPUTIME > ...

Для использования функциональности необходимо иметь купленую Performance Optimization Feature или использовать редакции AWSE (10.5), AESE (для 9.7 10.5) .
В 10.x Performance Optimization Feature вроде отдельно продаваться перестала (так, во всяком случае со Storage Optimization).
...
Рейтинг: 0 / 0
22.07.2014, 15:55
    #38703087
medoed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка базы данных (темповая область)...- сервер умирает...
CawaSPbmedoedА есть ли какие то возможности в Db2 по отстрелу громоздких запросов.
...
что то типа - Your qwery is very big - you will be killed :)
Конечно. С 9.7
См доку на CREATE THRESHOLD statement.

Отстреливать (и не только) можно в частности по:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
ESTIMATEDSQLCOST > ...
SQLROWSRETURNED > ... 
ACTIVITYTOTALTIME > ... (это время выполнения отдельного statement'а)
UOWTOTALTIME > ...
SQLTEMPSPACE > ... (в килобайтах/мегабайтах/гигабайтах)
AGGSQLTEMPSPACE > ... (всего использованного темпового пространства)
SQLROWSREAD > ...
CPUTIME > ...

Для использования функциональности необходимо иметь купленую Performance Optimization Feature или использовать редакции AWSE (10.5), AESE (для 9.7 10.5) .
В 10.x Performance Optimization Feature вроде отдельно продаваться перестала (так, во всяком случае со Storage Optimization).

А скриптом на уровне СУБД никак нельзя такое установить, вещь мне кажется полезной, имхо!
...
Рейтинг: 0 / 0
22.07.2014, 16:49
    #38703140
medoed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка базы данных (темповая область)...- сервер умирает...
Нашел я сам такой скрипт для примера:

Код: sql
1.
2.
3.
4.
5.
CREATE THRESHOLD DBMAX10MB
FOR DATABASE ACTIVITIES
ENFORCEMENT DATABASE PARTITION
WHEN SQLTEMPSPACE > 500 M
STOP EXECUTION;



Че за нафиг, какая то дополнительная лицензия чтоли нужна, я в расcтройстве

Category Timestamp Duration Message Line Position
Error 22.07.2014 16:45:23 0:00:00.109 <link> - DB2 Database Error: ERROR [] [IBM][DB2/NT64] SQL8029N A valid license key was not found for the requested function. The current license key for this product does not allow the requested functionality. Purchase the license key for this function from your IBM representative or authorized dealer and update your license using the License Center or the db2licm command line utility.
...
Рейтинг: 0 / 0
22.07.2014, 17:00
    #38703157
medoed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка базы данных (темповая область)...- сервер умирает...
Админ подсказал, что необходимо Performance Optimization Feature купить, о чем Вы писали выше!
Сколько это стоит для 9.7 под Windows - не подскажите?
...
Рейтинг: 0 / 0
22.07.2014, 18:16
    #38703231
CawaSPb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка базы данных (темповая область)...- сервер умирает...
medoedНашел я сам такой скрипт для примера:

Код: sql
1.
2.
3.
4.
5.
CREATE THRESHOLD DBMAX10MB
FOR DATABASE ACTIVITIES
ENFORCEMENT DATABASE PARTITION
WHEN SQLTEMPSPACE > 500 M
STOP EXECUTION;

Именно.

medoed Че за нафиг, какая то дополнительная лицензия чтоли нужна, я в расcтройстве
Нужна. На "Performance Optimization Feature". Она включает функциональность Workload Management'а (WLM).
Или редакция должна быть Advanced Enterprise Server Edition (AESE) или (появилась в 10.5) Advances Workgroup Server Edition (AWSE).
Что интересно, AWSE функционально полностью идентична AESE, ограничение идёт только на количество используемых ресурсов.

Конечно было бы лучше, если бы IBM раздавало всё бесплатно :) А может и не лучше... пропала бы мотивация.
...
Рейтинг: 0 / 0
22.07.2014, 18:21
    #38703239
medoed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка базы данных (темповая область)...- сервер умирает...
CawaSPbmedoedНашел я сам такой скрипт для примера:

Код: sql
1.
2.
3.
4.
5.
CREATE THRESHOLD DBMAX10MB
FOR DATABASE ACTIVITIES
ENFORCEMENT DATABASE PARTITION
WHEN SQLTEMPSPACE > 500 M
STOP EXECUTION;

Именно.

medoed Че за нафиг, какая то дополнительная лицензия чтоли нужна, я в расcтройстве
Нужна. На "Performance Optimization Feature". Она включает функциональность Workload Management'а (WLM).
Или редакция должна быть Advanced Enterprise Server Edition (AESE) или (появилась в 10.5) Advances Workgroup Server Edition (AWSE).
Что интересно, AWSE функционально полностью идентична AESE, ограничение идёт только на количество используемых ресурсов.

Конечно было бы лучше, если бы IBM раздавало всё бесплатно :) А может и не лучше... пропала бы мотивация.
Я промолчу, насчет мотивации и что было бы лучше, дабы не было холивара. Вы меня лучше по цене соорентируйте плиз- сколько на 16 процессоров - такая лицензия будет стоить? Спасибо!
...
Рейтинг: 0 / 0
22.07.2014, 19:16
    #38703278
CawaSPb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка базы данных (темповая область)...- сервер умирает...
medoedВы меня лучше по цене соорентируйте плиз- сколько на 16 процессоров - такая лицензия будет стоить? Спасибо!
На 16 ядер?

1. Performance optimization feature больше отдельно не продаётся. Не знаю, могут ли быть у каких продавцов отдельные "залежавшиеся" лицензии.
Software withdrawal...

2. Порядок стоимости (точно никто не скажет, кроме продавца, у которого будете покупать) для Optim Performance Manager Extended Edition, змещающий Performance Optimization feature и по функциональности являющимся его надмножеством, можно посмотреть хоть на Gemini eStore - прядка $60/PVU.
Соответственно, в зависимости от процессора, от 70 (50) до 120 PVU на ядро (см. http://www.ibm.com/software/howtobuy/passportadvantage/valueunitcalculator/vucalc.wss или http://www-01.ibm.com/software/passportadvantage/pvu_licensing_for_customers.html).

3. Надо рассматривать возможность upgrad'а на AESE или перехода на AWSE (повторюсь, по функциональности она идентична AESE, т.е. там будут и другие черезвычайно полезные фичи типа Storage Optimization). При этом по ядрам у вас будет ограничение под завязку - как раз 16 ядер, по памяти лимит - 128Gb (вряд ли вы за него выбираетесь на Win системе).

4. На самом деле вам надо обращаться в IBM и разговаривать о возможности переходов/upgrad'ов, указанных выше, и выяснять, сколько именно для вас в вашем конкретном случае это будет стоить.
...
Рейтинг: 0 / 0
13.08.2014, 17:38
    #38719680
A.Panskikh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка базы данных (темповая область)...- сервер умирает...
medoed А есть ли какие то возможности в Db2 по отстрелу громоздких запросов.

есть старый ограниченный гувернер и новый wlm. RTFM!

Есть возможность на базе системных вьюх построить собственные килялки. У меня, например, отлавливает юзверей, которые лезут с сервисными аккаунтами с рабочих станций, отслеживает запросы в рабочее время от варехаузов.

пример батника

db2 export to kill_smth.cmd of del modified by nochardel "select 'db2 force applications (' || char(agent_id) || ')' from table(SYSPROC.SNAPSHOT_APPL_INFO('',-1)) t where ..."
call kill_smth.cmd

AP
...
Рейтинг: 0 / 0
12.11.2014, 11:12
    #38803157
Александр Тарасенко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка базы данных (темповая область)...- сервер умирает...
A.Panskikhmedoed А есть ли какие то возможности в Db2 по отстрелу громоздких запросов.

есть старый ограниченный гувернер и новый wlm. RTFM!

Есть возможность на базе системных вьюх построить собственные килялки. У меня, например, отлавливает юзверей, которые лезут с сервисными аккаунтами с рабочих станций, отслеживает запросы в рабочее время от варехаузов.

пример батника

db2 export to kill_smth.cmd of del modified by nochardel "select 'db2 force applications (' || char(agent_id) || ')' from table(SYSPROC.SNAPSHOT_APPL_INFO('',-1)) t where ..."
call kill_smth.cmd

AP

пара вопросов по приведенному батнику плиз:

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


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