Небольшой ликбез, для тех, кто в танке (ну и для себя в первую очередь):
Quest for Oracle http://www.quest.com/oracle Большое количество продуктов для различных СУБД, с красивыми названиями – но с непонятным предназначением. Здесь я попробую немножко разобраться во всем этом многообразии.
Для установки качаем Quest Installer, далее все выбранные компоненты он желает скачать сам (до 600Mb).
Подход, хм, странный.
Я качал весь пакет одним куском, а потом в настройках указал путь поиска пакетов на диск.
Некоторые Quest продукты могут не работать с Oracle Client 8.0 (ставим 8i). Если ругается на библиотеки, пробуем ставить Oracle Client последних версий.
Quest Central – большой единый продукт, объединяющий в себе множество других:
Я пользую версию 5.5.0 - штука довольно глючная. Чаще всего зависает напрочь Database Analysis. - Database Analysis Анализ БД непосредственно и через планировщик. Собирает статистику, находит узкие места и выносит рекомендации – для более быстрой работы СУБД перепишите ваше приложение, например.
В целом, интересно, но комментарии очень мудреные и по английски.
- Performance Diagnostics Подразумевается Spotlight, если Spotlight находит какую-либо проблему, то из него можно вызвать консоль Quest Central, и там проанализировать её.
- Performance Monitoring Опять Spotlight?
- Database Administration Cпециальный модуль для TOAD?
- Space Management Интересная штука. Графически показывает карту табличного пространства, как лежат таблицы, где свободное место, позволяет проводить дефрагментацию - визуально выбираешь таблицу (смотришь, как она раскидана по пространству), визард генерирует скрипт - дефрагметация идет через пересоздание всех объектов, привязанных к этой таблице (вроде работает). Позволяет Chained Row Repair ?
- SQL Tuning (Есть SQL Tuning и есть Quest SQL Optimizer – вещи разные.
SQL Tuning вызывается прямо из TOAD, для тюнинга SQL он удобней.
Quest SQL Optimizer может мониторить БД на предмет поиска плохих запросов/индексов и опять же тюнинговать запросы, тоже самое, в принципе, может Spotlight)
- Load Testing / Data Generation Генератор наборов случайных данных, довольно интеллектуальный.
- Performance Analysis / SQL History Работает через StealthCollect, агент прямо на сервере собирает статистику, чем отличается от Database Analysis – не совсем понятно. Видимо, тем и отличается, что работает не через SQL, а через StealthCollect.
Как выяснилось, в поставку Quest Central не входит, надо качать отдельно.
TOAD – (в простонародье “Жаба”) – все, что необходимо для разработчика на SQL.
Тут и SQL Editor и Schema Browser, множество всяких визардов, репортов, встроенных утилит, ИМХО, как правило, не нужных.
Есть возможность добавить модуль для администрирования.
SQL Navigator – разработка PL/SQL кода.
Мне лично больше нравится PL/SQL Developer.
Knowledge Xpert – база знаний по Oracle, поиск ответов на любые вопросы, решение любых проблем. Зачем он нужен, мне не понятно – “Яндекс – найдется все”.
(Ну и sql.ru рулит)
Spotlight – монитор СУБД в реальном времени.
Процессы чтения, записи, пользователи, запросы, дисковые операции. Можно подключиться к нескольким СУБД, Spotlight будет висеть в трее, и загораться красным, если на какой-либо из БД проблемы (место свободное кончилось, или юзеры запросами завалили).
Может работать через StealthCollect.
Может мониторить работу ОС - загрузка процессора, количество свободной памяти.
Benchmark Factory – тестирование СУБД на предмет скоростных показателей (количество транзакций в секунду например). Свой сервер интересно протестировать в различных режимах – одна неприятность – сравнить не с чем.
(Предлагаю сравнивать Железо/Оракл/Результат теста). Существует альтернатива – HammerOra.
Для его коректного запуска Benchmark Factory может потребоваться следующий тригер
Код: --Взято с
www.sql.ru CREATE OR REPLACE TRIGGER bench
AFTER LOGON
ON bench.SCHEMA
DECLARE
user_sid NUMBER;
user_serial# NUMBER;
user_program VARCHAR2(48);
BEGIN
-- Уточним детали пользовательской сессии: sid, serial#, program
SELECT sid, serial#, UPPER(program)
INTO user_sid, user_serial#, user_program
FROM v$session
WHERE audsid = USERENV('SESSIONID');
-- Стартуем только если от юзера запущена нужная прога.
IF (USER = 'BENCH')
-- AND (USERENV('TERMINAL') = 'USR_TERM_XXX') AND (user_program = 'BFACTORY.EXE')
THEN
-- Задача_1: Трассировка на 12 уровне.
-- Чтобы уникально выделить имя нужного нам трасс. файла для сессии, установим tracefile_identifier
-- Потом с сервера его просто забирать по move.
-- EXECUTE IMMEDIATE 'ALTER SESSION SET sql_trace=true';
-- EXECUTE IMMEDIATE 'ALTER SESSION SET TRACEFILE_IDENTIFIER=''bench_V_''';
-- Вкл. трассировку. Уровень 12 - включаются привязные переменные и статистика ожиданий.
-- SYS.dbms_system.set_ev(user_sid, user_serial#, 10046, 12, '');
-- Задача_2: Решение проблемм разделителей(для Quest Benchmark)
EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_NUMERIC_CHARACTERS = ".,"';
EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_DATE_LANGUAGE = "AMERICAN"';
EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_DATE_FORMAT = "DD-MON-YY"';
END IF;
END;