29 апр. 2008 г.

"Поправка на ветер"

Трик с графическим ползунком, который использовался в постах здесь и здесь немного нужно подкорячить для новой версии SQLDeveloper'a (EA3), где он отказался воспринимать дробные числа. А именно нужно округлить или обрезать числа:
'SQLDEV:GAUGE:0:100:0:90:'||to_char(trunc(used))
Ну и немного изменился внешний вид:


Вообще, из обновок в EA3 сразу заметна новая закладка Files в дополнение к старым Connections и Reports. Т.е. навигация по скриптам на дисках стала реально удобней. Плюс ко всему видно, что есть поддержка CVS, и это радует, вот:

К нам едет Серж Танкян!

Забирал сегодня билет на Ника Кейва и увидел вывеску - 5 июня в Остраве выступает Серж Танкян со своим новым альбомом, о котором я уже писал. Эхъ, жаль что пропущу!

25 апр. 2008 г.

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

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


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


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


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


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

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

Ubuntu 8.04

Вышла очередная stable версия убунты! Вот чешу репу - апгрейтиться чтоль...
Подробности здесь.

24 апр. 2008 г.

Митинг

Шел сегодня сутра на работу и встретил вот такое зрелище:








Демонстрировали работники культуры против дотаций на вступенки (входные билеты) для некоторых культурных заведений (театров и т.п.). Как я понял, мэрия выделила финансовые гранты, но не всем. И теперь билеты в одни театры будут дешевле чем в другие за счет этих субсидий. Ну и кому не достались деньги, те и протестовали против нечестной конкуренции :) А может и всё наоборот :) Если я ошибаюсь - поправьте.

Меня порадовал сам факт! Люди почувствовали несправедливость и высказали это публично. А как подумаешь про Родину.... чтоб там хотя бы так люди высказывали своё несогласие - мирным митингом перед рабочим четвергом. Эхъ...

21 апр. 2008 г.

Управление пользователями в SQLDeveloper

Неоднократно замечал, что некоторые считают, что в SQLDeveloper нельзя управлять пользователями и их привилегиям. На самом деле это не так!
Во-первых есть встренная форма для создания и редактирования пользователей, до которой можно добраться вызвав контекстное меню на узле дерева Other Users и выбрав Create user. Или в этой же ветке выбрать пользователя и в контестном меню нажать Edit user.
Хотя прямо скажу - я не любитель расставлять галочки. Но может быть кому-то так удобней. Во всяком случае из этой формы можно почерпнуть DDL скрипт на создание пользователя. Вот как это выглядит:


Во-вторых на закладке Reports среди среди прочего есть несколько отчетов по пользователям, хотя меня они тоже не особо впечатлили:


Ну и последнее, ради чего и затевался пост, это возможноть создавать собственные довольно продвинутые расширения для SQLDeveloper. Причем создавать можно и формы, наподобие той, которая упоминалась в первом пункте, и отчеты с дополнительной функциональностью, как например отчет по текущим сессиям с возможностью включения трассировки и kill session (пункт меню Tools -> Monitor Sessions)

Я для себя создал такой отчет по привилегиям пользователей, который включает в себя основной отчет - список пользователей и их аттрибуты и четыре подчиненных отчета:
1. Роли выбранного пользователя
2. Объектные привилегии
3. Системные привилегии
4. DDL скрипт на создание пользователя
Причем привилегии и роли отображаются как выданные напрямую непосредственно пользователю, так и полученные пользователем через другую роль.

В основном отчете добавлено 2 дополнительных пункта меню:
1. Clone user - для создания нового пользователя с точно таким же набором привилегий, как и выделенный пользователь.
2. Drop user - для удаления пользователя.
Скачать можно с OTN. Вот прямой линк на xml. Установка проста: сохранить xml у себя. На папке с отчетами в SQLDeveloper кликнуть на пункт контекстного меню Import, выбрать сохраненный файл и готово.
Вот сие творение: