|
Аналитика и исторические сведения по изменению таблиц
|
|||
---|---|---|---|
#18+
Здравствуйте. Необходимо предоставить данные, которые отображают тенденцию роста таблиц и схем в целом для того, чтобы можно было прогнозировать, каких размеров они будут через промежуток времени. Требуется Ваша помощь в разработке данного отчета. Поскольку опыта работы с DB2 нет от слова "совсем" (хоть и есть знания в SQL), буду рад даже подсказке, в каком направлении двигаться. Возможно ли собрать необходимые данные для дальнейшего анализа и расчета? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2018, 10:42 |
|
Аналитика и исторические сведения по изменению таблиц
|
|||
---|---|---|---|
#18+
Есть предположение, как это сделать. На примере одной таблицы. 1) получить размер таблицы 2) получить активность таблицы (количество вносимых записей за интервал). но тут есть нюансы и недопонимание. Во-первых, возможно ли это сделать, и, если да, то этот показатель средний за всю историю жизни таблицы, или что-то иное? 3) перемножить п1. и п.2. Верно ли я думаю? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2018, 10:54 |
|
Аналитика и исторические сведения по изменению таблиц
|
|||
---|---|---|---|
#18+
AVRomanenko, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Создаете таблицу командой выше. Измените набор нужных таблиц вручную. В примере показаны пара системных. Если надо по всем таблицам схемы, то в табличную функцию ADMIN_GET_TAB_INFO можно передавать только имя схемы и NULL в качестве второго параметра. Если надо по всем таблицам, можно пользоваться представлением SYSIBMADM.ADMINTABINFO, основанным на этой функции. Далее время от времени запускаете запрос выше, закомменировав 2-ю и предпоследнюю строки, и раскомментировав 1-ю. Запрос будет вставлять записи в таблицу TABLE_SIZE с текущим временем. Для получения показателей роста за период вы запросом получаете разницу в показателях между мин. и макс. временами интервала. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2018, 15:42 |
|
Аналитика и исторические сведения по изменению таблиц
|
|||
---|---|---|---|
#18+
Mark Barinstein, здравствуйте, мне не понятно, что куда менять...) (извините за тупость) мне нужен последний вариант - по всем таблицам всех схем. пробовал заменять представлением в разных местах, и только ошибку выдает, что я не туда пихаю. Подскажите, пожалуйста ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2018, 10:06 |
|
Аналитика и исторические сведения по изменению таблиц
|
|||
---|---|---|---|
#18+
AVRomanenko, Добрый день. Для всех таблиц. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2018, 10:42 |
|
Аналитика и исторические сведения по изменению таблиц
|
|||
---|---|---|---|
#18+
Mark Barinstein, спасибо большое Вам за помощь! Запустил скрипт, посмотрим, что получится. Можете, пожалуйста, уточнить, если у меня есть партицированные таблицы, размер их тоже однозначно определяется из перечисленных размеров в запросе? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2018, 11:19 |
|
Аналитика и исторические сведения по изменению таблиц
|
|||
---|---|---|---|
#18+
AVRomanenkoесли у меня есть партицированные таблицы, размер их тоже однозначно определяется из перечисленных размеров в запросе?В случае партицированных таблиц есть особенность - SYSIBMADM.ADMINTABINFO.INDEX_OBJECT_*_SIZE не включают информацию о непартиционированных (not partitioned) индексах, если такие есть в базе. Поэтому, в общем случае запрос должен выглядеть так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2018, 13:09 |
|
Аналитика и исторические сведения по изменению таблиц
|
|||
---|---|---|---|
#18+
Mark Barinstein, ругается на все строки с выводом размера таблиц и выдает ошибку типа "COL_OBJECT_P_SIZE" is not valid in the context where it is used. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2018, 14:12 |
|
Аналитика и исторические сведения по изменению таблиц
|
|||
---|---|---|---|
#18+
AVRomanenkoругается на все строки с выводом размера таблиц и выдает ошибку типа "COL_OBJECT_P_SIZE" is not valid in the context where it is used.Значит, в вашей версии базы такое поле не выдается этими функциями / представлением, т.к. в ней нет возможности хранения данных по колонкам. Исключите это поле из всех команд. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2018, 14:49 |
|
Аналитика и исторические сведения по изменению таблиц
|
|||
---|---|---|---|
#18+
Mark Barinstein, Здравствуйте. С наступившим! ) Вы можете подсказать, это нормально, что на большом объеме таблиц выполнение запроса затягивается на такое долгое время? -примерно 23 000 таблиц и почти полтора часа выполнения. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2019, 08:44 |
|
Аналитика и исторические сведения по изменению таблиц
|
|||
---|---|---|---|
#18+
разобрался, что SYSIBMADM.ADMINTABINFO очень медленно выводит информацию, в сравнении с теми же syscat.indexes, syscat.tables , syscat.tablespaces, которые выводят инфу за секунду, но показывают другие данные по размерам. здесь ничего не поделать, верно? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2019, 14:32 |
|
Аналитика и исторические сведения по изменению таблиц
|
|||
---|---|---|---|
#18+
AVRomanenkoразобрался, что SYSIBMADM.ADMINTABINFO очень медленно выводит информацию, в сравнении с теми же syscat.indexes, syscat.tables , syscat.tablespaces, которые выводят инфу за секунду, но показывают другие данные по размерам. здесь ничего не поделать, верно? Да, по всем таблицам при больших объемах это может занимать довольно много времени. В syscat.tables и syscat.indexes информация попадает после сбора статистики на таблицы и их индексы, и она может быть не совсем точная - на некоторые таблицы статистика вообще может быть не собрана, на некоторые - собрана c аппроксимацией (sampled). ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2019, 13:45 |
|
Аналитика и исторические сведения по изменению таблиц
|
|||
---|---|---|---|
#18+
Mark Barinstein, подскажите, пожалуйста, чтобы Ваш последний запрос рассчитал размер только в рамках одной таблицы, мне нужно в конце последней строкой поставить условие? Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2019, 17:21 |
|
Аналитика и исторические сведения по изменению таблиц
|
|||
---|---|---|---|
#18+
и еще я пробовал убирать строку Код: sql 1.
и ничего не изменилось. пробовал вместо метки N ставить P, тот же самый результат. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2019, 17:31 |
|
Аналитика и исторические сведения по изменению таблиц
|
|||
---|---|---|---|
#18+
AVRomanenkoчтобы Ваш последний запрос рассчитал размер только в рамках одной таблицы, мне нужно ... Когда таблиц много, а надо вытащить данные по небольшому кол-ву таблиц, то эффективнее должно быть использование табличных функций, а не представлений. Иначе сначала будет сделан расчет по всем таблицам, а только потом выбраны нужные данные. В примере можно добавлять строки по другим таблицам, если их более одной. По нескольким таблицам Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2019, 18:00 |
|
|
start [/forum/topic.php?fid=43&msg=39759452&tid=1600282]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
61ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 165ms |
0 / 0 |