Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается. / 21 сообщений из 21, страница 1 из 1
12.07.2012, 12:12
    #37876308
Coldboy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
Здравствуйте. Собственно пробелма такая, стоит клиент-серверный вариант, SQL-сервер IBM DB-2. Таблица v81c_tempspace, пухнет за час, до 50 ГБ и более, при закрытии месяца. В чем проблема, как ее решить? Пробывал ставить разные ограничения на саму таблицу, ругалось, что не хватает места для создания временных таблиц. Хотя этот месяц в файловом варианте закрывался, тока, я там таблицу значений при закрытии 20-го счета дробил, и кусками отправлля в процедуру. Все закрывалось хорошо. А щас вообще никак и типовым кодом и моим дроблением. У кого какие мысли откликнитесь.
...
Рейтинг: 0 / 0
12.07.2012, 16:07
    #37876878
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
Coldboy, вам, простите, 50 (100) Гб жалко?
...
Рейтинг: 0 / 0
12.07.2012, 16:38
    #37876947
Coldboy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
Нет, но за час когда база, растет в таких размерах...
...
Рейтинг: 0 / 0
12.07.2012, 16:58
    #37876980
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
ColdboyНет, но за час когда база, растет в таких размерах...Возьмите тестовую среду, табличку с числом записей под лям и сделайте что-то вроде:
Код: sql
1.
select t1.id, t2.id from таблица t1 join таблица t2 order by 1, 2
...
Рейтинг: 0 / 0
12.07.2012, 17:03
    #37876991
Coldboy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
что я от этого выиграю?
...
Рейтинг: 0 / 0
12.07.2012, 18:00
    #37877135
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
Coldboyчто я от этого выиграю?Вирт, "Алгоритмы + Структуры данных = Программы". Раздел про сортировку, главы про сортировку в памяти и на диске.

P.S. Сортировка - не единственный потребитель дискового пространства.
...
Рейтинг: 0 / 0
12.07.2012, 20:10
    #37877272
Andron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
Coldboy,

У вас после закрытия месяца база снова в размерах уменьшается или нет?
...
Рейтинг: 0 / 0
13.07.2012, 10:38
    #37877730
Coldboy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
Закрытие не происходит, все место на диске черпается ...
...
Рейтинг: 0 / 0
13.07.2012, 11:00
    #37877761
Coldboy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
щас валится на ошибки, не хватает системных ресурсов эт как? Всего в достатке.
...
Рейтинг: 0 / 0
13.07.2012, 12:23
    #37877930
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
Не знаю, о каких "системных ресурсах" идёт речь - но подозреваю, что это не DB2 жалуется.

Temporary tablespace используется для сортировок и группировок, если результат не влезает в ОЗУ. Если в запросе ничего изменить нельзя (скажем, сделать так, чтобы количество обрабатываемых данных было меньше), надо хотя бы попытаться изменить план выполнения этого запроса. Скажем, возможна такая ситуация, когда есть подходящий индекс, который и решил бы проблему, но статистика несвежая и потому выбирается неправильный план. Отсюда надо было бы выяснить, собирается ли на базе статистика, и как. Возможно, инсталлятор 1С как-нибудь настраивает автосбор. То есть, надо почитать документацию 1С по этой теме.

Положим худший случай - этот вопрос игнорируется и 1с, и DBA. Тогда я попробовал бы запустить скрипт типа такого, чтобы сгенерировать другой скрипт, чуть подправив, и запустить его тоже:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    CONNECT
      TO имябазы
      USER имяюзера
      USING пароль;
    SELECT           
      'RUNSTATS ON TABLE '
      ||'"'||trim(t.tabschema)||'"'|| '.' ||'"'|| t.tabname||'"'
      ||' WITH DISTRIBUTION AND DETAILED INDEXES ALL;'
    FROM SYSCAT."TABLES" T
    WHERE t.type = 'T' 
    ORDER BY t.tabschema, t.tabname;



Ну, или в Control Center по менюшечкам полазить, не забыв отметить сбор статистики распределения и по индексам...

Второе - возможно, подходящих индексов нет, но их можно было бы попробовать создать. Для начала надо идентифицировать проблемный запрос. Есть разные способы, но в этом случае, поскольку выполнение длится очень долго и пухнет tempspace, это должен быть один запрос, и, наверное, вполне сойдёт программа с http://members.tripod.com/chuzhoi_files/index.html

Потом надо скормить этот запрос, скажем, штатной db2-шной утилитке db2advis. (Предварительно придётся создать explain tables). Есть значительные шансы (хотя и нет гарантии), что он предложит создать полезные индексы для большого-большого ускорения.
...
Рейтинг: 0 / 0
13.07.2012, 13:10
    #37878065
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
Да, когда последний раз собиралась статистика, посмотреть можно тоже в Control Center.
...
Рейтинг: 0 / 0
13.07.2012, 13:34
    #37878125
A.Panskikh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
Coldboy,

Вообще сложно говорить о том, что делать, когда неизвестны причины.

Чтобы выяснить проблему, есть стандартный мониторинг запросов к системе, который позволит найти те самые тяжелые запросы. Дальше они загоняются на explain на предмет отсутствия индексов и/или статистики.

Все это проделывается стандартными средствами db2 - RTFM!


Из юзер-френдли инструментов для этой задачи можно попробовать использовать

1. db2mon (бесплатный)

окно dynamic sql выдаст статистику по запросам в кэше. Нужно предварительно убедится, что сбор счетчиков включен
Buffer pool (DFT_MON_BUFPOOL) = ON
Lock (DFT_MON_LOCK) = ON
Sort (DFT_MON_SORT) = ON
Statement (DFT_MON_STMT) = ON
Table (DFT_MON_TABLE) = ON
Timestamp (DFT_MON_TIMESTAMP) = ON
Unit of work (DFT_MON_UOW) = ON

Плюс можно посмотреть статистику по таблицам/пулам/тейблспейсам.

2. Найдя тяжелые запросы - те, которые жрут tempspace будут с высоким значением rowswrite & systemcpu, засунуть их в эксплейн (ControlCenter) и посмотреть, чего не хватает.

Andy
...
Рейтинг: 0 / 0
13.07.2012, 14:19
    #37878239
Coldboy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
у меня Express версия.
...
Рейтинг: 0 / 0
13.07.2012, 14:30
    #37878270
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
Это неважно.

db2mon - это то, что на http://members.tripod.com/chuzhoi_files/index.html
...
Рейтинг: 0 / 0
13.07.2012, 14:32
    #37878278
Coldboy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
Всмысле фрии на 2 ГБ рама...
...
Рейтинг: 0 / 0
13.07.2012, 14:34
    #37878284
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
Это неважно.
...
Рейтинг: 0 / 0
13.07.2012, 17:07
    #37878676
Coldboy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
Я сделал так, чтобы в файловом закрывалось, данные выходимые с запроса бью небольшими, частями и куском типовой функцией обрабатываю и все было, хорошо. Щас на SQl, первый 3 месяца все на ура, а апрель валится, ибо там поболее данных. Вот не знаю че делать.
...
Рейтинг: 0 / 0
13.07.2012, 17:56
    #37878758
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
Раз по-прежнему не знаете, перенесите базу на больший диск и ждите. (Боюсь даже предлагать перенести только temp да на SSD)
...
Рейтинг: 0 / 0
16.07.2012, 09:56
    #37880210
Coldboy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
Почему боитесь? А если я пул буфера SystempBP сделаю ограниченым без автонастройки, он как будет, когда заполниться себе вести, автоматически старое затирать, новое писать?
...
Рейтинг: 0 / 0
16.07.2012, 10:15
    #37880233
Coldboy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
Что такое explain и как мне отволить, запустить опять процедуру закрытия, и сидеть отлавливать этот запрос, а далее что делать, когда винт опять полностью забьется? Как освободить tempspace пространство?
...
Рейтинг: 0 / 0
16.07.2012, 10:47
    #37880296
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
Вот потому и боюсь.

Буферный пул - область ОЗУ, она так и так довольно сильно ограничена, особенно для Express-C.

Temporary tablespace само должно освободиться, когда будет выполнен запрос. По этому поводу я считаю, что это должен быть один очень долгий запрос, и даже в db2mon увидеть его не должно составить труда.

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


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