ADDM (Automatic Database Diagnostic Monitor)

Материал из sysadm
Перейти к навигации Перейти к поиску

Отчеты ADDM

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

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

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


REPORT_DIR="/tmp/addm_reports"
REPORT_NAME="addm_report_$(date +'%Y%m%d').html"
FULL_REPORT_PATH="${REPORT_DIR}/${REPORT_NAME}"

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/end номеров снимков
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 MIN(snap_id) INTO :end_snap FROM dba_hist_snapshot WHERE end_interval_time >= v_end_time;
END;
/

DEFINE rpt_type = 'HTML'
DEFINE rpt_file = '${FULL_REPORT_PATH}'
DEFINE begin_snap = :start_snap
DEFINE end_snap = :end_snap
DEFINE inst_num = ''

@?/rdbms/admin/addmrpt.sql

EXIT;
EOF