ADDM (Automatic Database Diagnostic Monitor): различия между версиями

Материал из sysadm
Перейти к навигации Перейти к поиску
Строка 10: Строка 10:
 
</pre>
 
</pre>
  
'''Пример bash скрипта, для генерации отчета в не интерактивном режиме (НЕ ПРОВЕРЕНО)'''
+
'''Пример bash скрипта, для генерации отчета в не интерактивном режиме'''
 
<pre>
 
<pre>
  
 
REPORT_DIR="/tmp/addm_reports"
 
REPORT_DIR="/tmp/addm_reports"
REPORT_NAME="addm_report_$(date +'%Y%m%d').html"
+
REPORT_NAME="addm_report_$(date +'%Y%m%d').txt"
 
FULL_REPORT_PATH="${REPORT_DIR}/${REPORT_NAME}"
 
FULL_REPORT_PATH="${REPORT_DIR}/${REPORT_NAME}"
  
Строка 34: Строка 34:
 
/
 
/
  
DEFINE report_type = 'HTML'
 
 
DEFINE report_name = '${FULL_REPORT_PATH}'
 
DEFINE report_name = '${FULL_REPORT_PATH}'
 
DEFINE begin_snap = :start_snap
 
DEFINE begin_snap = :start_snap
Строка 40: Строка 39:
 
DEFINE inst_num = ''
 
DEFINE inst_num = ''
  
--@?/rdbms/admin/addmrpt.sql
+
@?/rdbms/admin/addmrpt.sql
@?/rdbms/admin/awrrpt.sql
 
  
 
EXIT;
 
EXIT;
 
EOF
 
EOF
 
</pre>
 
</pre>

Версия 15:37, 11 декабря 2025

Отчеты 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