powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / db2 reorgchk current statistics on table
17 сообщений из 17, страница 1 из 1
db2 reorgchk current statistics on table
    #40034880
Vladimir Mahrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите люди кто знает
хочу запускать реорг исходя из данных команды db2 reorgchk current statistics on table
там получаю вот такое
Код: log
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
db2inst1 $ db2 reorgchk current statistics on table имятаблицы

Table statistics:

F1: 100 * OVERFLOW / CARD  70
F3: 100 * (Required Pages / Total Pages) > 80

SCHEMA.NAME                     CARD     OV     NP     FP ACTBLK    TSIZE  F1  F2  F3 REORG
----------------------------------------------------------------------------------------
Table: имятаблицы
                             3.2e+08      0  1e+06  1e+06      - 9.58e+09   0  23 100 -*-
----------------------------------------------------------------------------------------

 

делаю реорг
и повторяю команду и тот же результат
т.е. по этим результатам реорг требуется всегда

Либо может кто подскажет как выявлять когда требуется реорганизация для базейки.
...
Рейтинг: 0 / 0
db2 reorgchk current statistics on table
    #40034948
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vladimir Mahrov,

Ну а сбор статистики-то вы после реорга запускали?
Если нет, то сама статистика после реорга не собирается, и, запуская "reorgchk current statistics", вы явно указываете, что перед проверкой необходимости реорганизации сбор статистики запускать не надо.
...
Рейтинг: 0 / 0
db2 reorgchk current statistics on table
    #40035012
Vladimir Mahrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,

запускаю, и ничего не меняется.
может статистуку как то не правильно запускаем?
у нас вот такой командой выполняется
RUNSTATS ON TABLE имятаблицы WITH DISTRIBUTION AND DETAILED INDEXES ALL
...
Рейтинг: 0 / 0
db2 reorgchk current statistics on table
    #40035027
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vladimir Mahrov,

Какой размер страницы табличного пространства с данными и тип этого пространства (REGULAR или LARGE)?
Чему равно значение в SYSCAT.TABLES.AVGROWSIZE для таблицы?
Используется ли ADAPTIVE COMRESSION для таблицы?
Используется ли MDC организация для таблицы?
...
Рейтинг: 0 / 0
db2 reorgchk current statistics on table
    #40035037
Vladimir Mahrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,

Type = System managed space
Contents = All permanent data. Regular table space.
Page size (bytes) = 32768
Extent size (pages) = 32
Prefetch size (pages) = 32


SYSCAT.TABLES.AVGROWSIZE = 30

ADAPTIVE COMRESSION и MDC не используется
...
Рейтинг: 0 / 0
db2 reorgchk current statistics on table
    #40035052
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vladimir Mahrov,

Регулярное (SMS другим и не может быть) пространство может содержать не более 255 строк на странице.
Остальное пространство на ней не может быть использовано.

У вас:
100*255*30/(32*1024) ~ 23
Т.е. в среднем как раз и используется по 23% места на странице.

Либо используйте DMS пространство (SMS для данных довольно давно уже deprecated), либо уменьшайте размер страницы REGULAR пространства, если есть желание бороться с неиспользуемым местом. Оба варианта предполагают перезагрузку таблицы.
...
Рейтинг: 0 / 0
db2 reorgchk current statistics on table
    #40035127
Vladimir Mahrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,

Спасибо, будем думать нужно ли нам это.

А подскажи пожалуйста информация по таблицам с LOB сюда не попадает, у них нужно как то по другому определять нужность реорганизации?
...
Рейтинг: 0 / 0
db2 reorgchk current statistics on table
    #40035153
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vladimir Mahrov
А подскажи пожалуйста информация по таблицам с LOB сюда не попадает, у них нужно как то по другому определять нужность реорганизации?
Не попадает.

К сожалению, вы не можете просто посмотреть, сколько реально занимают LOB'ы таблицы, кроме как запустить на таблицу запрос с суммированием длин всех ее LOB полей.
Сравнив полученнное значение (в байтах) со значением поля LOB_OBJECT_P_SIZE (в KB) функции ADMIN_GET_TAB_INFO, вызванной для этой таблицы, вы можете определить, можно ли освободить место, которое занято под LOB'ы этой таблицы, но не используется.
...
Рейтинг: 0 / 0
db2 reorgchk current statistics on table
    #40035582
Vladimir Mahrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein
но не используется.

Что это значит?
...
Рейтинг: 0 / 0
db2 reorgchk current statistics on table
    #40035734
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vladimir Mahrov
Mark Barinstein
но не используется.

Что это значит?
Когда данные удаляются из таблицы, то место, занимавшееся этими данными, автоматически не освобождается в табличное пространство (DMS) или файловую систему OS (SMS). Т.е. освобожденное место остается "зарезервированным" за этой таблицей и фактически не используется для хранения данных.
В случае SMS файлы с данными, индексами, LOB'ами этой таблицы не уменьшатся, пока вы не сделаете REORG (для уменьшения LOB файлов надо использовать опцию LONGLOBDATA).
...
Рейтинг: 0 / 0
db2 reorgchk current statistics on table
    #40035925
Vladimir Mahrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,

Спасибо.

И последнее что также никак не могу реализовать это использовать времееное табличное пространство для реорганизации

reorg Table имятаблицы allow no access longlobdata use tmp32

игнорируется use tmp32 и все.
в чем причина не могу понять.
в мануалах пишут что мол надо временное системное и тотже размер страницы, все вроде ставлю но все ровно реорг проходит там же где и таблица.
...
Рейтинг: 0 / 0
db2 reorgchk current statistics on table
    #40035960
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vladimir Mahrov
И последнее что также никак не могу реализовать это использовать времееное табличное пространство для реорганизации

reorg Table имятаблицы allow no access longlobdata use tmp32

игнорируется use tmp32 и все.
в чем причина не могу понять.
в мануалах пишут что мол надо временное системное и тотже размер страницы, все вроде ставлю но все ровно реорг проходит там же где и таблица.

Из описания REORG TABLE command :

Код: plaintext
1.
2.
3.
USE longtbspace-name
...
    If USE longtbspace-name is specified, USE tbspace-name must also be specified. If it is not, the longtbspace-name argument is ignored.

Если вы не указали "USE tbspace-name" (временное для данных), то ваше "USE longtbspace-name" игнорируется. А это всё и значит, что реорганизация происходит в том же пространстве, как вы и говорите.
Соответственно, надо использовать команду ниже. У вас SMS пространство и все данные лежат в одном пространстве, т.е. размер страницы одинаковый, и оно в таком случае не будет пытаться использовать другое временное.
Код: sql
1.
reorg MYTABLE allow no access use tmp32 longlobdata


Вы можете, конечно, опционально добавить в конце, скажем, "use another_tmp32k", если в tmp32нет места для всех данных, а "another_tmp32k" расположено на более вместительных дисках. Но это по желанию, а вот "use tmp32" как в команде выше - обязательно.
...
Рейтинг: 0 / 0
db2 reorgchk current statistics on table
    #40036012
Vladimir Mahrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,

Спасибо все получилось.
...
Рейтинг: 0 / 0
db2 reorgchk current statistics on table
    #40036293
Vladimir Mahrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein
Vladimir Mahrov,

Регулярное (SMS другим и не может быть) пространство может содержать не более 255 строк на странице.
Остальное пространство на ней не может быть использовано.

У вас:
100*255*30/(32*1024) ~ 23
Т.е. в среднем как раз и используется по 23% места на странице.

Либо используйте DMS пространство (SMS для данных довольно давно уже deprecated), либо уменьшайте размер страницы REGULAR пространства, если есть желание бороться с неиспользуемым местом. Оба варианта предполагают перезагрузку таблицы.


А на основной вопрос мне сможете дать ответ?
Как же мне тогда оценивать необходимость реорганизации табилиц и индексов?
...
Рейтинг: 0 / 0
db2 reorgchk current statistics on table
    #40036387
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vladimir Mahrov
А на основной вопрос мне сможете дать ответ?
Как же мне тогда оценивать необходимость реорганизации табилиц и индексов?

Ответ, вроде бы, должен быть очевидным: учитывать поправку для "узких" таблиц, находящихся в REGULAR пространствах с большим размером страницы.

Можно сделать генерацию запросов на реорганизацию.
Процедура REORGCHK_TB_STATS заполняет временную таблицу, результаты которой можно объединять с SYSCAT.TABLES, SYSCAT.DATAPARTITIONS, SYSCAT.TABLESPACES для того, чтоб не просто смотреть на F2, а с учетом средней длины записи и размера страницы пространства.
...
Рейтинг: 0 / 0
db2 reorgchk current statistics on table
    #40037055
Vladimir Mahrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein
Vladimir Mahrov
А на основной вопрос мне сможете дать ответ?
Как же мне тогда оценивать необходимость реорганизации табилиц и индексов?

Ответ, вроде бы, должен быть очевидным: учитывать поправку для "узких" таблиц, находящихся в REGULAR пространствах с большим размером страницы.

Можно сделать генерацию запросов на реорганизацию.
Процедура REORGCHK_TB_STATS заполняет временную таблицу, результаты которой можно объединять с SYSCAT.TABLES, SYSCAT.DATAPARTITIONS, SYSCAT.TABLESPACES для того, чтоб не просто смотреть на F2, а с учетом средней длины записи и размера страницы пространства.


Подскажите пожалуйста пример такого запроса?
...
Рейтинг: 0 / 0
db2 reorgchk current statistics on table
    #40037213
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vladimir Mahrov
Подскажите пожалуйста пример такого запроса?


Поравка в вычислении TSIZE - ожидаемого размера таблицы в байтах.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CALL REORGCHK_TB_STATS('S', 'SYSIBM');

SELECT 
CASE 
  WHEN S.DATATYPE = 'A' AND T.AVGROWSIZE * 255 < (S.PAGESIZE - 68) THEN (ST.CARD / 255 + 1) * (S.PAGESIZE - 68)
  ELSE ST.TSIZE
END AS TSIZE
, ST.TABLE_SCHEMA, ST.TABLE_NAME
FROM SESSION.TB_STATS ST
JOIN SYSCAT.DATAPARTITIONS P ON P.TABSCHEMA = ST.TABLE_SCHEMA AND P.TABNAME = ST.TABLE_NAME AND P.SEQNO = 0
JOIN SYSCAT.TABLESPACES S ON S.TBSPACEID = P.TBSPACEID
JOIN SYSCAT.TABLES T ON T.TABSCHEMA = ST.TABLE_SCHEMA AND T.TABNAME = ST.TABLE_NAME
WHERE ST.DATAPARTITIONNAME = '' 
;


Если в регулярном пространстве средний размер записи * 255 меньше размера страницы, то ожидаемый размер таблицы - это кол-во таких "пачек" по 255 записей * размер страницы. Иначе - орининальное ST.CARD * T.AVGROWSIZE == TSIZE.

Полученное значение TSIZE можете использовать вместо оригинального для вычисления F2 (см. формулу в документации).
Не знаю уж, насколько такие вычисления процента для F2 могут быть правильными, т.е. стоит ли по-прежнему сравнивать полученное значение с 70%, как рекомендуется. Но, по крайней мере, какое бы вы не взяли значение за основу, сразу после реорганизации оно не будет показывать, что таблицу опять надо реорганизовывать.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / db2 reorgchk current statistics on table
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (14): Анонимы (11), Bing Bot, Yandex Bot, Google Bot 2 мин.
x
x
Закрыть


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