ADDM (Automatic Database Diagnostic Monitor): различия между версиями
Перейти к навигации
Перейти к поиску
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
| (не показана 1 промежуточная версия этого же участника) | |||
| Строка 1: | Строка 1: | ||
| + | |||
| + | * автоматически запускается после создания снимка AWR и включается в него | ||
| + | * выявляет проблемы с производительностью и дает рекомендации по устранению причин | ||
'''Отчеты ADDM''' | '''Отчеты ADDM''' | ||
<pre> | <pre> | ||
| + | # ADDM генерирует отчеты в виде обычного текста, возможности выбрать формат HTML нет | ||
| + | # отчеты ADDM включаются в отчет AWR, который может формироваться в формате HTML, но сам текст отчета ADDM в нем будет все равно простым текстом | ||
| + | |||
# отчет ADDM для одного экземпляра базы данных | # отчет ADDM для одного экземпляра базы данных | ||
| − | |||
$ORACLE_HOME/rdbms/admin/addmrpt.sql | $ORACLE_HOME/rdbms/admin/addmrpt.sql | ||
Текущая версия на 15:43, 11 декабря 2025
- автоматически запускается после создания снимка AWR и включается в него
- выявляет проблемы с производительностью и дает рекомендации по устранению причин
Отчеты ADDM
# ADDM генерирует отчеты в виде обычного текста, возможности выбрать формат HTML нет # отчеты ADDM включаются в отчет AWR, который может формироваться в формате HTML, но сам текст отчета 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').txt"
FULL_REPORT_PATH="${REPORT_DIR}/${REPORT_NAME}"
sqlplus -S / 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;
BEGIN
SELECT MAX(snap_id) INTO :start_snap FROM dba_hist_snapshot WHERE begin_interval_time <= sysdate-1;
SELECT MAX(snap_id) INTO :end_snap FROM dba_hist_snapshot;
END;
/
DEFINE report_name = '${FULL_REPORT_PATH}'
DEFINE begin_snap = :start_snap
DEFINE end_snap = :end_snap
DEFINE inst_num = ''
@?/rdbms/admin/addmrpt.sql
EXIT;
EOF