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

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

У вас после закрытия месяца база снова в размерах уменьшается или нет?
...
Рейтинг: 0 / 0
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
    #37877730
Coldboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Закрытие не происходит, все место на диске черпается ...
...
Рейтинг: 0 / 0
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
    #37877761
Coldboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
щас валится на ошибки, не хватает системных ресурсов эт как? Всего в достатке.
...
Рейтинг: 0 / 0
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
    #37877930
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю, о каких "системных ресурсах" идёт речь - но подозреваю, что это не 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
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
    #37878065
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, когда последний раз собиралась статистика, посмотреть можно тоже в Control Center.
...
Рейтинг: 0 / 0
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
    #37878125
A.Panskikh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
    #37878239
Coldboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня Express версия.
...
Рейтинг: 0 / 0
Клиент-сервер 1С и DB-2, таблица пухнет и месяц не закрывается.
    #37878270
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это неважно.

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

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

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

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


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