Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Buffer pools / 25 сообщений из 25, страница 1 из 1
20.03.2007, 11:42
    #34402287
alexdb2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Buffer pools
Привет
база тормозит сильно. в events обнаружил следующее. подскажите как исправить положение.


2007-03-20-10.38.52.984002 Instance:DB2 Node:000
PID:2088(db2syscs.exe) TID:3088 Appid:*LOCAL.DB2.070320083852
buffer pool services sqlbStartPools Probe:2 Database:TOOLSDB

ADM6073W The table space "TBSP32KTMP0000" (ID "4") is configured to use buffer
pool ID "2", but this buffer pool is not active at this time. In the interim
the table space will use buffer pool ID "4099". The inactive buffer pool
should become available at next database startup provided that the required
memory is available.
...
Рейтинг: 0 / 0
20.03.2007, 14:03
    #34402852
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Buffer pools
Привет.

Наверное слишком большой суммарный объем всех буферных пулов.
Буферный пул
Код: plaintext
1.
2.
3.
select * 
from syscat.bufferpools
where BUFFERPOOLID= 2 ;
не смог стартовать.
Сделайте
Код: plaintext
1.
select sum(npages * pagesize) as total_bufferpools_size_in_bytes
from syscat.bufferpools;
Сравните с объемом доступной памяти на сервере.
Какая у вас операционная система?
...
Рейтинг: 0 / 0
20.03.2007, 19:16
    #34404041
alexdb2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Buffer pools
windows server 2003
2гб оперативной памяти (всего)

ваш запрос выдал: 4096000 (байты)
...
Рейтинг: 0 / 0
20.03.2007, 21:48
    #34404296
gals
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Buffer pools
авторThe inactive buffer pool
should become available at next database startup

Вам надо остановить базу данных и запустить снова.
...
Рейтинг: 0 / 0
21.03.2007, 19:18
    #34407114
alexdb2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Buffer pools
Тут возник уже другой вопрос.... я уже задавал его дважды но ответа не получил...
когда работаю под db2admin, то все работает нормально(захожу на сервер через RDesktop).
ПОльзователи жалуются на жуткие тормаза. я думал это от того, что они работают удаленно, а сейчас зашел через rDesktop НА сервер и сделал подключение через db2inst1 - и о ужас!!! жутко тормозит. в чем причина????
...
Рейтинг: 0 / 0
21.03.2007, 19:28
    #34407133
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Buffer pools
Опишите свою систему.

1. Машина входит в домен?
2. Что выдают команды
db2set -all DB2COMM
db2set -all DB2_GRP_LOOKUP
3. Что это за учетные записи db2admin, db2inst1 (локальные или глобальные) и кто из них владелец инстанса?
...
Рейтинг: 0 / 0
21.03.2007, 20:05
    #34407186
alexdb2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Buffer pools
C:\Program Files\IBM\SQLLIB\BIN>db2set -all DB2COMM
TCPIP

вторая ничего не выдала
db2admin - это юзер, под которым запускается инстанс, а db2inst1 - это пользователь, которого я создал и дал права на доступ к определенной базе
...
Рейтинг: 0 / 0
21.03.2007, 20:09
    #34407195
alexdb2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Buffer pools
в домен входит
...
Рейтинг: 0 / 0
21.03.2007, 21:05
    #34407268
gals
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Buffer pools
С обычного рабочего места запросы идут без задержек?
С серверного терминала запросы идут без задержек?
Нет ли висячих транзакций? Например, кто-то сделал обновление данных в консоли db2cmd и не закрыл транзакцию.
Нет ли взаимных блокировок при работе нескольких клиентов?
...
Рейтинг: 0 / 0
22.03.2007, 09:51
    #34407615
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Buffer pools
alexdb2db2admin - это юзер, под которым запускается инстанс, а db2inst1 - это пользователь, которого я создал и дал права на доступ к определенной базеdb2inst1 - локальный или глобальный аккаунт?
Если глобальный, сделайте на сервере
Код: plaintext
1.
2.
3.
db2set -g DB2_GRP_LOOKUP=DOMAIN
db2stop
db2start
...
Рейтинг: 0 / 0
22.03.2007, 09:56
    #34407636
alexwebdb2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Buffer pools
локальный
...
Рейтинг: 0 / 0
22.03.2007, 09:59
    #34407653
alexwebdb2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Buffer pools
galsС обычного рабочего места запросы идут без задержек?
С серверного терминала запросы идут без задержек?
Нет ли висячих транзакций? Например, кто-то сделал обновление данных в консоли db2cmd и не закрыл транзакцию.
Нет ли взаимных блокировок при работе нескольких клиентов?
еще раз повторюсь при любом случае тормозит соединение не под администратором. при этом нет разницы локально я захожу или удаленно. опять же.... если захожу удаленно под администратором - все летает.

P.S.: с продуктами IBM имею отношение уже в течении полугода и чем дальше, тем хуже мое мнение. Интересно, это только у меня одного?
...
Рейтинг: 0 / 0
22.03.2007, 10:07
    #34407679
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Buffer pools
"жутко тормозит" установка соединения с базой или вся последующая работа тоже?
...
Рейтинг: 0 / 0
22.03.2007, 10:18
    #34407720
alexdb2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Buffer pools
сначала жуткие тормоза, когда пользователи нажимают на tables.
еще есть проблема с запросами, которые делает websphere, установленный на том же сервере, что и db2, но подключенный не под db2admin, а под db2inst1. эти запросы я проверял - выполняются нормально.

поэтому считаю, что проблема как раз в том, что я описал
...
Рейтинг: 0 / 0
22.03.2007, 10:31
    #34407773
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Buffer pools
alexdb2сначала жуткие тормоза, когда пользователи нажимают на tables.
еще есть проблема с запросами, которые делает websphere, установленный на том же сервере, что и db2, но подключенный не под db2admin, а под db2inst1. эти запросы я проверял - выполняются нормально.

поэтому считаю, что проблема как раз в том, что я описалПопробуйте тогда
Код: plaintext
1.
2.
db2set -g DB2_GRP_LOOKUP=local
db2stop
db2start
Также сравните время отклика на соединение и запросы из командной строки db2.
У вас, кстати, db2level что выдает?
Если ничего не поможет, верните DB2_GRP_LOOKUP в исходное состояние:
Код: plaintext
db2set -g DB2_GRP_LOOKUP=
...
Рейтинг: 0 / 0
22.03.2007, 13:49
    #34408657
Buffer pools
Привет!

Первым делом нужно проверить распределение памяти в ОС.
Судя по треду на машине всего 2ГБ и при этом крутится DB2 и Websphere Application Server (WAS).
WAS очень любит память, 600 МБ съедает сразу после запуска. Дальше зависит от активности приложений.
DB2 тоже любит память, да и другие программы тоже где-то исполняться должны.
Поэтому смотри сколько и где памяти занято.

В DB2 нужно проверить размеры буферных пулов всех баз. Было дело, восстановил базу с бекапа, и при подключении к базе (именно CONNECT) застревал на несколько минут. Оказалось что в бекапе был выставлен размер пула в 2ГБ (бекап был с сервера с 8ГБ), а на машине где восстанавливал всего был доступен 1 ГБ. Так пока Windows не выделила для DB2 нужный сегмент памяти в файле подкачки работа не началась. Это происходило при первом подключении к базе. При отключении всех пользователей от базы память освобождалась.
...
Рейтинг: 0 / 0
22.03.2007, 14:28
    #34408832
alexdb2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Buffer pools
Огромное человеческое спасибо всем отвечавшим. Кое какие проблемы были решены.
Еще вопросы по поводу скорости работы:
1) как с помощью средств ОС(win)/db2 продемонстрировать что загрузка памяти пиковая и требуется доп.память? Мне нужно аргументировать начальству.
2) ADM5500W DB2 is performing lock escalation. The total number of locks currently held is "1138", and the target number of locks to hold is "569". это в events нашелю. пытался читать документацию, но не въехал, что нужно изменить (очень много воды на мой взгляд и нет конкретных указаний)
...
Рейтинг: 0 / 0
22.03.2007, 15:06
    #34408968
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Buffer pools
alexdb2Огромное человеческое спасибо всем отвечавшим. Кое какие проблемы были решены.
Еще вопросы по поводу скорости работы:
1) как с помощью средств ОС(win)/db2 продемонстрировать что загрузка памяти пиковая и требуется доп.память? Мне нужно аргументировать начальству.Task manager показать во время пиковой нагрузки.
alexdb22) ADM5500W DB2 is performing lock escalation. The total number of locks currently held is "1138", and the target number of locks to hold is "569". это в events нашелю. пытался читать документацию, но не въехал, что нужно изменить (очень много воды на мой взгляд и нет конкретных указаний)Вам надо изменить параметр базы LOCKLIST (побольше сделать):
сейчас он у вас:
db2 get db cfg for my_db | find /I "locklist"
измените его так:
db2 update db cfg for my_db using LOCKLIST num_4k_pages
...
Рейтинг: 0 / 0
22.03.2007, 16:11
    #34409202
krestianin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Buffer pools
Если не хватило ОЗУ под чрезмерно большого размера буферпул, то конечно будет торомзить.

команда: db2mtrk -i -v выдаст список занимаемой памяти, в том числе и по буферпулам.

Уменьшите ошибочно завышенный размер буферпула 2.
...
Рейтинг: 0 / 0
22.03.2007, 16:15
    #34409224
krestianin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Buffer pools
О блокировках могу добавить, что так же еще стоит подумать о том, не увеличить ли процент занятости списка блокировок maxlocks, после которого и принимается сервером решение об эскалации блокировок с уровня "записи" на уровень "таблица".
...
Рейтинг: 0 / 0
22.03.2007, 16:53
    #34409393
Buffer pools
alexdb2
2) ADM5500W DB2 is performing lock escalation. The total number of locks currently held is "1138", and the target number of locks to hold is "569". это в events нашелю. пытался читать документацию, но не въехал, что нужно изменить (очень много воды на мой взгляд и нет конкретных указаний)
:) А потому что "It depends", т.е. зависит от многих вещей. Поэтому и вариантов устранения много.
Эскалация блокировок заменяет множество мелких блокировок для транзакции на одну более крупную.

Нужно смотреть кто что и почему блокирует данные и думать как этого избежать.

Возможно приложение/приложения редко делает Commit, или запрашивает излишний объем данных.
Возможно приложение/приложения используют неправильный уровень изоляции транзакции.
Возможно неправильно выбран Locksize для таблицы.
Возможно настройка эскалации (LOCKMAX) не соответствует реальной ситуации.
И т.д.
...
Рейтинг: 0 / 0
22.03.2007, 17:34
    #34409558
alexdb2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Buffer pools
Mark Barinstein
У вас, кстати, db2level что выдает?

Код: plaintext
1.
2.
3.
DB21085I  Instance "DB2" uses "32" bits and DB2 code release "SQL08025" with
level identifier "03060106".
Informational tokens are "DB2 v8.1.12.99", "s060429", "WR21368", and FixPak
"12".
...
Рейтинг: 0 / 0
23.03.2007, 16:54
    #34412364
alexdb2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Buffer pools
Евгений Хабаров

Нужно смотреть кто что и почему блокирует данные и думать как этого избежать.

Возможно приложение/приложения редко делает Commit, или запрашивает излишний объем данных.
Возможно приложение/приложения используют неправильный уровень изоляции транзакции.
Возможно неправильно выбран Locksize для таблицы.
Возможно настройка эскалации (LOCKMAX) не соответствует реальной ситуации.
И т.д.
Можно подробнее насчет вышесказанного? Или ссылку на внятную документацию по этому поводу.
Спасибо.
...
Рейтинг: 0 / 0
23.03.2007, 17:22
    #34412473
Buffer pools
alexdb2
Можно подробнее насчет вышесказанного? Или ссылку на внятную документацию по этому поводу.
Спасибо.

Вообще-то DB2 Information Center (http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp).
Раздел администрирование и раздел разработка приложений.
Блокировки, эскалация блокировок, режимы изоляции транзакции. И т.д.

Вот краткое руководство по нахождению блокировок:
http://www-128.ibm.com/developerworks/db2/library/techarticle/0310wilkins/0310wilkins.html

Вот небольшой пример:
http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0511bond/

Вот про блокировки:
http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0509schuetz/index.html

Вот это про DB2 for z/OS, но общий принцип одинаков, поэтому рекомендую.
http://www.dbazine.com/db2/db2-mfarticles/mullins3/
http://www.dbazine.com/db2/db2-mfarticles/mullins4/
http://www.dbazine.com/db2/db2-mfarticles/mullins5/

Я думаю для начала хватит :)
...
Рейтинг: 0 / 0
23.03.2007, 18:12
    #34412628
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Buffer pools
alexdb2Можно подробнее насчет вышесказанного? Или ссылку на внятную документацию по этому поводу.
Спасибо.Вкрадце:
DB2 выделяет для хранения списка блокировок размер памяти равный параметру базы LOCKLIST.
Когда некоторое приложение начинает занимать своими блокировками места больше, чем
MAXLOCKS процентов от общего размера, выделяемого для списка блокировок (LOCKLIST), то происходит "эскалация блокировок" (что у вас и произошло):
для этого приложения ищется таблица, на которую приложение наложило макс. кол-во блокировок и для этой таблицы все строчные блокировки заменяются на 1 табличную.
Эскалация блокировок происходит также, если все блокировки перестают помещаться в списке для блокировок.
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Buffer pools / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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