25 апр. 2008 г.

Карта табличного пространства в SQL Developer

Очень уж мне нравится карта табличного пространства, которую умеет делать Enterprise Manager. Я как-то больше не встречал инструментов с такой функциональностью. А жаль - очень удобно визуально посмотреть на сколько фрагментированы таблицы и сколько они пожирают пространства.
Для себя я реализовал похожую функциональность средствами SQLDeveloper'a в виде псевдографического отчета. К сожалению с лёту не вышло заставить его подгружать графику и показывать всплывающие подсказки на екстентах (хотя идеи как это сделать есть). Есть некоторые недочеты о которых я знаю: не отображаются header'ы и не помечаются свободные блоки. Это дело будущих версий. Возможно, где-то нехватило знаний, и отчет не будет универсальным (например, я исходил из минимального размера экстента в 8 блоков) - тут тоже надо будет поработать с документацией. Однако, начало положено.
Итак, первый отчет предоставляет информацию использованию табличных пространств. Child отчет снизу показывет сегменты выбранного пространства, отсортированные по убыванию выделенного им пространства:


Вторая закладка в этом отчете показывает общую карту экстентов:


При помощи фунуции drill-down можно перейти к более полезному отчету


Второй отчет показывает всё тот же список сегментов. Но теперь выделив интересующий сегмент можно внизу увидеть на карте его экстенты (помечены X):


Вот xml первого отчета, а вот второго.

Прошу не судить строго - дорабатывать пока абсолютно нет времени. Выложил только для того, чтобы добро не пропало.

1 комментарий:

Alp комментирует...

Подправил линки на xml.