Анализ отчетов AWR

Категория: Блог Опубликовано 24.05.2017

1.Что такое AWR отчеты 
2. Для чего используются AWR отчеты 
3. Построение AWR отчетов 
4. Системные представления AWR репозитория отчетов 
5. AWR отчет в формате HTML 
6. Основные параметры отчетов AWR 
7. На что еще следует обратить внимание! 

1. Что такое AWR отчеты 

Automatic Workload Repository представляет из себя набор внутренних таблиц словаря данных БД Oracle и специальный фоновый процесс MMON, который появился в версии Oracle10g. 
Периодически AWR создает статистическую копию (снимок) и сохраняет информацию в таблицах расположенных в табличном пространстве SYSAUX. По умолчанию регулярный период сбора установлен на 60 минут. Это значение может быть уменьшено до 10 минут при желании. Механизм сбора статистической копии (awr snapshot) установлен в базе данных 10G по умолчанию и в отличии от пакета statspack установки на автоматический сбор информации не требуется. 


Скрипт формирования AWR заполняет специальный AWR репозиторий набор таблиц и представлений словаря данных Oracle помощью специального системного процесса NMON. 


2.Для чего используются AWR отчеты 

Automatic Workload Repository (AWR) используется для сбора статистики производительности, включая: 

Время ожидания ресурсов базы данных (foreground и background wait events). Эту статистическую информацию можно использовать для первоначального определения 'узких' мест в производительности базы данных 


Метрики, характеризующие скорость доступа к различным ресурсам базы данных. Например, процессорное время на вызов пользователя (CPU Tome Per User Call) или число логических чтений в секунду (Consistent Read Gets Per Sec). 
Этот вид статистики появился в Oracle10g и представляет собой набор автоматически вычисляемых процессом MMON статистик, которые раньше надо было вычислять вручную 

Временные статистики, описывающие распределение использования процессорного времени (Time model). Этот вид статистик также является новшеством 10 версии и характеризует использование процессорного времени для выполнения определенных задач. Например, метрика sql execute elapsed time характеризует фактическое время выполнения запросов SQL. 

Наибольший интерес представляет собой метрика DB time, которая описывает общее процессорное время, затраченное Oracle для обслуживания всех пользовательских операций. Эту метрику можно использовать для мониторинга общей загрузки БД 

Системные статистики, описывающие производительность экземпляра Oracle и операции ввода/вывода в табличные пространства/файлы данных базы Статистика работы операционной системы. В 10 версии появилась возможность отслеживать основные параметры производительности операционной системы Статистическая информация по SQL-запросам. Данный вид статистики позволяет DBA отслеживать ресурсоемкие SQL-запросы, используя различные критерии. Например, выбирать SQL-запросы, сделавшие наибольшее число операций ввода/вывода в файлы данных 

Статистика по истории доступа к сегментам данных. Данный вид статистики позволяет выявить "горячие" сегменты данных, используя различные критерии, например, число логических или физических чтений данных сегмента 
Применительно к практике чаще всего возникают следующие случаи: 

На систему ставиться большой патч, который затрагивает многие ее компоненты , в этом случае анализируются отчеты AWR до установки обновления и после , с целью выявления реальных проблем с производительностью 

Требуется выяснить моменты пиковой нагрузки на базу данных , то есть переводы времени когда сильнее всего использовалась процессорные мощности, было максимальное количество чтений с дисков, макс использование разделяемого пула , макс периоды ожидания и тд, так же полезно анализировать топ запросов по кол операций ввода вывода в такие моменты пиковых нагрузок. 

С помощью AWR отчетов ,так же можно проанализировать, поведение заданного экземпляра БД Oracle в моменты наибольших нагрузок , при подаче трафика с помощью внешних систем При введении новых компонентов приложения , которые потенциально могут повлиять на влияют на работу экземпляров БД Oracle 


3.Построение AWR отчетов. 

Для построения AWR отчетов в Oracle используется специальный пакет DBMS_WORKLOAD_REPOSITORY , так же сформировать отчет можно с помощью специальных команд Enterprice Manager console. 
процедуры пакета DBMS_WORKLOAD_REPOSITORY 

СREATE_SNAPSHOT - процедура позволяет вручную сохранить в репозитории AWR новый статистический снимок. Единственный параметр этой процедуры задает детализацию статистической информации, сохраняемой в БД. Значение по умолчанию для этого параметра задается параметром инициализации экземпляра Oracle STATISTICS_LEVEL. Допустимые значения этого параметра - TYPICAL и ALL. Обычно рекомендуется использовать уровень статистики TYPICAL, который достаточен для мониторинга производительности базы данных. 

DROP_SNAPSHOT_RANGE - процедура позволяет вручную удалять статистические данные для заданного набора снимков. 

CREATE_BASELINE - процедура позволяет создавать именованные наборы снимков для последующего сравнения производительности базы данных для различных временных интервалов. 

AWR_REPORT_TEXT и AWR_REPORT_HTML - функции позволяют вручную строить отчеты для заданных временных интервалов. 

Константы пакета DBMS_WORKLOAD_REPOSITORY MIN_INTEVAL и MAX_INTERVAL задают допустимые минимальные и максимальные значения для интервала сбора статистики в минутах соответственно, а MIN_RETENTION и MAX_RETENTION задают минимальное и максимальное время хранения статистики в базе данных соответственно. 
для того, чтобы собрать отчет в формате HTML можно воспользоваться уже готовым скриптом входящим в поставку Oracle СУБД - awrrpt.sql 

4.Системные представления, AWR репозитория отчетов 
В репозитарии отчетов используются следующие системные представления 

• WRH$_ACTIVE_SESSION_HISTORY_BL - история активных сессий 
• WRH$_BG_EVENT_SUMMARY - суммарная статистика по событиям 
• WRH$_BUFFER_POOL_STATISTICS - статистика разделяемого пула 
• WRH$_CLASS_CACHE_TRANSFER_BL - 
• WRH$_CR_BLOCK_SERVER - блокировки серверных курсоров 
• WRH$_CURRENT_BLOCK_SERVER - секущие серверные блокировки 
• WRH$_DATAFILE - статистика по файлам данным 
• WRH$_DB_CACHE_ADVICE_BL - 
• WRH$_DLM_MISC_BL 
• WRH$_ENQUEUE_STAT 
• WRI$_OPTSTAT_HISTGRM_HISTORY - 
• WRI$_OPTSTAT_HISTHEAD_HISTORY 
• WRI$_OPTSTAT_IND_HISTORY 
• WRI$_OPTSTAT_OPR 
• WRI$_OPTSTAT_TAB_HISTORY - статистика по таблицам 
• WRI$_SCH_CONTROL 
• WRI$_SCH_VOTES - 
• WRI$_SQLSET_BINDS - статистика по связанным параметрам и переменным 
• WRI$_SQLSET_DEFINITIONS - статистика по определениям sql курсоров 
• WRM$_BASELINE - статистка по закрепленным планам запросов в реальности же обращение чаще всего происходит к специальным представлениям • DBA_HIST_WR_CONTROL - настройки AWR 
• DBA_HIST_SNAPSHOT - собственно собранная статистика 
• DBA_HIST_DATABASE_INSTANCE - экземпляры БД по которой собирается статистика 

Вот несколько запросов на основе данных представлений , наиболее часто использующихся в работе 

Запрос, возвращающий текущие настройки AWR: 

 SELECT  EXTRACT( DAY FROM SNAP_INTERVAL) * 24 * 60 + EXTRACT( HOUR FROM SNAP_INTERVAL) * 60 
 + EXTRACT( MINUTE FROM SNAP_INTERVAL ) "Интервал снимков(мин)" , EXTRACT( DAY FROM RETENTION) * 24 * 60  + EXTRACT( HOUR FROM RETENTION) * 60 
 + EXTRACT( MINUTE FROM RETENTION ) "Интервал хранения снимка(мин)"   FROM DBA_HIST_WR_CONTROL;  



Запрос, возвращающий информацию о всех снимках; 

 SELECT TO_CHAR(S.STARTUP_TIME,' DD MON "at" HH24:MI:SS') INSTART_FMT , DI.INSTANCE_NAME INST_NAME, DI.DB_NAME DB_NAME, S.SNAP_ID SNAP_ID, TO_CHAR(S.END_INTERVAL_TIME,'DD MON YYYY HH24:MI') SNAPDAT, S.SNAP_LEVEL LVL FROM DBA_HIST_SNAPSHOT S, 
DBA_HIST_DATABASE_INSTANCE DI HERE DI.DBID = S.DBID AND DI.INSTANCE_NUMBER = S.INSTANCE_NUMBER  AND DI.STARTUP_TIME = S.STARTUP_TIME ORDER BY SNAP_ID;  



Запрос, который позволяет узнать средний обьем физических чтений данные группируются по часу , аналогично , можно дополнительно сгруппировать данные по дням: 

 SELECT TO_CHAR(BEGIN_INTERVAL_TIME,'hh24') SNAP_TIME , AVG(VALUE) AVG_VALUE FROM DBA_HIST_SYSSTAT  NATURAL JOIN DBA_HIST_SNAPSHOT  WHERE STAT_NAME = 'physical reads'  GROUP BY TO_CHAR(BEGIN_INTERVAL_TIME,'hh24')  ORDER BY TO_CHAR(BEGIN_INTERVAL_TIME,'hh24');  



5.AWR отчеты в формате HTML 

Формирование AWR отчета осуществляется на сервере , удобнее всего, для этого воспользоваться утилитой sqlplus 

Необходимо зайти в утилиту sqlplus под учетной записью sys 
пример 
sqlplus sys/пароль1 as sysdba где пароль1 это ваш пароль далее вызвать скрипт awrrpt.sql с помощью следующей команды 
@$ORACLE_HOME/rdbms/admin/awrrpt.sql 

В консоли вам будет предложено выбрать тип отчета 
Would you like an HTML report, or a plain text report? 
Enter 'html' for an HTML report, or 'text' for plain text Defaults to 'html' 
Enter value for report_type: 

по умолчанию выбирается тип HTML , если вам необходим отчет в текстовом формате вы набираете слово text и нажимаете Ввод (Enter) 

На экран будет выведен список экземпляров БД для которых вы хотели сформировать отчеты: 

Instances in this Workload Repository schema srw1inst, srw2inst, 

далее следует вопрос - статистка за какой день вам нужна, вы вводите день который отчаивается от текущей даты или просто нажмете ввод , тогда будут построены все доступные отчеты, либо последний сформированный снимок статистики 

Enter value for num_days: 

Далее на экран выводится список доступных снимков , где более всего интересно поле SnapId требуется задать начальный идентификатор снимка и конечный идентификатор снимка базы 

Enter value for begin_snap: Enter value for end_snap: 
то есть например нам необходимы снимки 101 , 102, 103 мы вводим 

begin_snap - 101, end_snap 103 (время и дату формирования данных снимков есть в списке) 

Дальше вводится имя отчета Enter value for report_name, если же просто нажать Ввод , то имя отчету присваивается автоматически 
Через некоторое время в текущей папке формируется awr или txt отчет c соответствующим расширением 

например : AWRRPT_2_1111_1112.HTML MYAWR_23213.txt 

Теперь можно скопировать отчет к себе и изучить его. Заголовок отчета содержит следующие данные: 
Картинка с другого сайта.


Новые шаблоны для Joomla 3 на joomlan.ru.
шаблоны Wordpress
Просмотров: 2047