powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Не хватает памяти для кэша пакетов
4 сообщений из 4, страница 1 из 1
Не хватает памяти для кэша пакетов
    #37018808
dealko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день !

DB2 9.1.2 64бит под CentOS 5

Приложения получают ошибку SQL0973N. В db2diag.log

2010-12-16-12.30.38.461917+000 I48398E518 LEVEL: Error
PID : 26714 TID : 47484349760720PROC : db2agent (SAMPLE)
INSTANCE: db2inst1 NODE : 000 DB : PB
APPHDL : 0-1006 APPID: 172.16.10.36.7082.101216122257
AUTHID : SAMPLE
FUNCTION: DB2 UDB, access plan manager, sqlra_cache_find_stmt, probe:10
RETCODE : ZRC=0x8B0F0007=-1961951225=SQLO_NOMEM_PCKCACHEH
"No memory available in 'Package Cache'"

PCKCACHESZ = AUTOMATIC
Раньше стояло явно указанное значение - 20000 и проблем не было.

В теории как я понимаю при переполнении кэша пакета он должен очищаться. Затраты на выполнение SQL подрастут но ошибки быть не должно. В жизни получается что этого не происходит.

Я надеюсь что не совсем допилили автоуправление памятью. Поставил ручное управление - чёткое значение. Буду смотреть. Но это гипотеза.

Подскажите плиз, с чем может быть связано то, что не очищается кэш пакета ?
...
Рейтинг: 0 / 0
Не хватает памяти для кэша пакетов
    #37019473
mustaccio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dealko,

Это может означать две вещи: либо в кэше нет планов, которые не используются и которые, соответственно, можно выбросить, либо компиляция очередного пакета требует столько места, что его невозможно найти, даже выбросив часть пакетов.

STMM имеет реактивный характер и его поведение не зависит от сиюминутных потребностей. Он периодически проверяет степень использования областей памяти за прошедшие несколько (5) минут и увеличивает (уменьшает) пулы соответственно. Если приложение запросит слишком много памяти, например, в пакетном кэше и получит ошибку, STMM об этом не узнает.

Попробуйте дать STMM намек на желаемый размер кэша:

update db cfg for <yourdb> using pckcachesz 20000 automatic
...
Рейтинг: 0 / 0
Не хватает памяти для кэша пакетов
    #37020344
dealko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mustaccio,

Про алгоритм работы STMM понятно.

Как можно посмотреть планы для каких SQL в кэше пакетов нужны в текущий момент ? Это планы выполняемых на текущий момент SQL операторов или что-то другое ?

Нагрузка на систему была средненькой, не дотягивала до нагрузки в пиковые периоды. Я смотрел через db2top. Не было SQL-операторов больше обычного...
...
Рейтинг: 0 / 0
Не хватает памяти для кэша пакетов
    #37021140
mustaccio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dealko
Как можно посмотреть планы для каких SQL в кэше пакетов нужны в текущий момент ? Это планы выполняемых на текущий момент SQL операторов или что-то другое ?


Попробуйте db2pd -d yourdb -dynamic -static

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


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