Как стать автором
Обновить

Комментарии 11

Вопросы:
1. Насколько велика дополнительная нагрузка на СУБД?
2. Периодическое обновление означает что будут сниматься мгновенные данные на момент подключения или Oracle может дать также историю с момента предыдущего снятия данных?
3. Можно ли подключить вашу библиотеку (без GUI) к серверному Java-приложению, чтобы она сохраняла данные в портабельном виде, а затем периодически переносить сохраненные отчеты и просматривать на своем компьютере?
1. Для Enterprise режима, все данные на сервере БД уже собраны специальным оракловым процессом. ASH Viewer только подгружает данные на клиентскую сторону. Как уже писал раз в 30 секунд делается запрос из v$active_session_history. Для Standard — раз в секунду происходит запрос из v$session — собственно с такой же периодичностью (по умолчанию в Oracle, можно делать реже, настраивается спец. параметром) сервер Oracle опрашивает свои внутренние структуры, в которых хранится информация об сессиях (Кстати, в первой итерации ASH процесс делал обычный sql-запрос из v$session, который можно было отловить в v$active_session_history). Т.е. в общем, нагрузка есть — но она минимальна.
2. В случае Enterprise — данные выбираются из представления v$active_session_history (который на сервере БД), выборка в ASH Viewer идет с учетом того что в локальной БД какая-то часть данных с предыдущего запуска уже есть, для Standard — да, данные на момент запроса из v$session, т.е. данных между запусками может и не быть, но это нормально — если запрос отрабатывает быстро и его нет в v$session на момент выборки — значит с ним и процессом его запустившим все в порядке и они не влияют на функционирование СУБД Oracle.
3. Скорее нет. Нужно писать отдельное приложение (или что-то типа шаблонизатора, как универсальное решение). В случае Oracle ASH данные по ожиданиям и CPU used не абсолютные, а рассчитываются по метрике Average Active Session. Т.е. что в вашем случае, нужно понимать что будет означать Active по каждой групповой метрике (наличие записи или определенный threshold) — это первое, второе — какие групповые метрики будут на основном графике, и третье — какие вложенные группы будут по каждой группе из п.2. Это если кратко.
Дал своему шефу ссылка на гитхаб, он к сожалению там подробного описания не нашел. Эту статью он прочитать не сможет ибо по русски не знает ни слова. У вас есть английский вариант этой статьи?
в той статье к сожалению только скрины и нет вообще никакого описания. Вы можете коротко назвать пункты, почему и чем ваша прога лучше аналогов? Я мог бы тогда сам перевести.
Основные преимущества вот:

— Подходит, когда нет лицензий на Diagnostic Pack для EE редакции Oracle или для редакции Oracle Standard (где опция ASH отключена вообще);
— Хранит данные об истории активных сессий Oracle локально. Удобно диагностировать проблемы, что предшествовало началу проблем в БД когда база в down;
— Быстрый доступ к текущим данным по истории активных сессии и истории ASH, например, для сопоставления нагрузки — анализ производительности СУБД, проактивный мониторинг.
— Простой интерфейс, вид аналогичный Top Activity из OEM.
Ура! ASHViewer и на хабре! :)
Александр, молодец!
Отличный инструмент!
Для меня было бы бесценно иметь отдельный режим работы приложения только по историческим view (dba_hist...) по dbid, отличающегося от dbid базы, к которой присоединяемся.
По работе приходится диагностировать проблемы без доступа к БД, только AWR/ASH отчеты и возможность запросить дамп скриптом awrextr, загрузить у себя awrload-ом во временную БД.

подскажите, как можно ли "закольцевать" БД ASH? чтобы размер ее можно было контролировать. Какие есть способы

эта настройка НЕ работает. править руками?

Не получится, только в 3-ей версии есть работающий функционал очистки старых данных. В 4-ой версии он пока отключен так как есть некоторые сложности реализации.

Как вариант - скриптовать запуск и останов программы, старые данные удалять, вполне реализуемо и в Win и в Unix.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий