ADDM (Automatic Database Diagnostic Monitor)

Материал из sysadm
Версия от 13:38, 11 декабря 2025; Admin (обсуждение | вклад) (Новая страница: « '''Отчеты ADDM''' <pre> # отчет ADDM для одного экземпляра базы данных $ORACLE_HOME/rdbms/admin/addmrpt.sql # отчет...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Отчеты ADDM

# отчет ADDM для одного экземпляра базы данных
$ORACLE_HOME/rdbms/admin/addmrpt.sql

# отчет ADDM для конкретного экземпляра в среде Oracle RAC
$ORACLE_HOME/rdbms/admin/addmrpti.sql

Пример bash скрипта, для генерации отчета в не интерактивном режиме (НЕ ПРОВЕРЕНО)

sqlplus -S "$DB_USER/$DB_PASS@$CONNECT_STRING" AS SYSDBA <<EOF
SET HEAD OFF
SET FEEDBACK OFF
SET TERM OFF
SET VERIFY OFF
SET LINESIZE 300
SET PAGESIZE 0

-- Определяем Start ID (24 часа назад) и End ID (текущий)
VAR start_snap NUMBER;
VAR end_snap NUMBER;
DECLARE
    v_start_time TIMESTAMP := SYSTIMESTAMP - INTERVAL '24' HOUR;
    v_end_time TIMESTAMP := SYSTIMESTAMP;
BEGIN
    SELECT MAX(snap_id) INTO :start_snap FROM dba_hist_snapshot WHERE begin_interval_time <= v_start_time;
    SELECT MAX(snap_id) INTO :end_snap FROM dba_hist_snapshot WHERE end_interval_time >= v_end_time;
END;
/

-- Запускаем addmrpt.sql, передавая параметры с помощью подстановок SQL*Plus (&&)
-- Скрипт addmrpt.sql использует ряд внутренних переменных для интерактивного ввода.
-- Мы заранее задаем эти переменные, чтобы он выполнялся неинтерактивно.

-- 1. Тип отчета (html/text)
DEFINE rpt_type = 'HTML'
-- 2. Имя файла отчета
DEFINE rpt_file = '${FULL_REPORT_PATH}'
-- 3. Начальный Snapshot ID
DEFINE begin_snap = :start_snap
-- 4. Конечный Snapshot ID
DEFINE end_snap = :end_snap
-- 5. Имя экземпляра (оставляем пустым для текущего)
DEFINE inst_num = ''

-- Запуск основного скрипта (символ @ указывает на выполнение внешнего файла)
@?/rdbms/admin/addmrpt.sql

EXIT;
EOF