Сбор статистики производительности в базе данных Oracle для определения узких мест

Сбор статистики производительности в базе данных OracleВ повседневном управлении и мониторинге работающей базы данных Oracle Вам сильно помогут несколько основных средств, а именно:

  • Генерируемые сервером сигналы автоматически инициируются базой данных, сообщая о возникших проблемах.
  • Автоматический репозиторий рабочей нагрузки (Automatic Workload Repository — AWR) — новая инфраструктура, которая автоматически накапливает и поддерживает многочисленные статистические показатели, необходимые для автоматической настройки экземпляра. Автоматический монитор диагностики базы данных (Automatic Database Diagnostic Monitor — ADDM), использует данные AWR для выполнения своего анализа.
  • Хронология активного сеанса (Active Session History — ASH) имеет дело с текущей активностью сеанса, и база данных использует ее для настройки его производительности.
  • Каркас советников (advisory framework) предоставляет набор различных инструментов-советников, которые поставляют информацию об использовании ресурсов и производительности. Вы уже ознакомились с некоторыми из них в других главах, а именно: ADDM, SQL Access Advisor и SQL Tuning Advisor. В этой главе рассматривается общая инфраструктура каркаса советников.
  • Пакет DBMS_FILE_TRANSFER позволяет передавать файлы операционной системы непосредственно в базу данных.
  • Планировщик Oracle Scheduler предоставляет в ваше распоряжение очень мощный инструмент планирования сложных заданий базы данных.
  • Задачи автоматического обслуживания берут на себя бремя рутинных работ администратора баз данных, таких как сбор статистики оптимизатора.
  • Новый диагностический каркас включает несколько инструментов, вроде автоматического репозитория диагностики (Automatic Diagnostic Repository — ADR), автоматизированного рабочего места поддержки (Support Workbench), службы пакетирования инцидентов (incident packaging service — IPS), а также советника по исправлению SQL (SQL Repair Advisor), которые помогают диагностировать и восстанавливать базу данных после сбоев.

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

 

Типы статистики производительности Oracle

Администратор баз данных Oracle регулярно собирает несколько типов статистики производительности с целью анализа узких мест базы данных и прочих проблем с производительностью. Теперь в Oracle Database 11g и 12c администратор базы имеет доступ к нескольким новым типам статистики производительности. Помимо статистики базы уровня системы и уровня сеанса (такой как статистика ожидания, статистика использования сегментов и т.д.) есть еще статистика операционной системы (вроде статистики ЦП, статистики использования диска, а также статистики использования памяти) и статистика сети. На основе того, как собираются и накапливаются различные статистические показатели производительности, эту статистику можно разделить на две группы: кумулятивную статистику и метрики базы данных. В то время как кумулятивная статистика показывает накопленные значения ключевых показателей базы данных, метрики замеряют рейтинг изменений в кумулятивной статистике производительности.

 

Кумулятивная статистика

Кумулятивная статистика накапливает суммарное значение определенных показателей с момента запуска экземпляра Oracle. Общая статистика входов (logon), к примеру, является кумулятивной статистикой. Oracle собирает кумулятивную статистику нескольких типов, включая статистику сегментов и операторов SQL, а также статистику уровня сеанса и статистику уровня системы. Сравнивая дельта-значения, т.е. изменения в значениях кумулятивной статистики между начальным и конечным периодом, Oracle анализирует производительность базы данных за определенный период времени.

Automatic Workload Repository хранит важнейшую кумулятивную статистику. Средство Active Session History автоматически собирает пробные данные сеанса (session sample data), которые представляют собой выборку текущего состояния всех активных сеансов. ASH накапливает данные в памяти, где их можно увидеть с помощью представлений V$. Репозиторий AWR помогает сохранять данные ASH на постоянной основе, собирая их как часть регулярно выполняемых снимков.

Для выявления узких мест в базе данных Oracle нужно собирать статистику производительности

 

Данные базовой линии

Хороший способ оценки производительности базы данных заключается в сравнении статистики производительности базы данных за два периода, первый из которых демонстрирует “хорошую” производительность. Статистика за период, когда база данных работала хорошо, называется данными базовой линии (baseline data). Сравнивая текущую производительность с производительностью базового периода, вы можете узнать, улучшается или ухудшается поведение базы данных.


Лицензирование дополнительной функциональности Oracle


Несколько важнейших инструментов производительности Oracle требуют отдельного лицензирования со стороны Oracle Corporation, в дополнение к лицензиям, приобретенным вами для использования программного обеспечения сервера Oracle Database. Oracle разделяет большую часть функциональности производительности на наборы продуктов, именуемых пакетами управления (Oracle Management Pack), каждый из которых охватывает несколько ключевых инструментов диагностики и управления. Поэтому имейте в виду, что хотя инструменты и включены в инсталляцию сервера базы данных Oracle, их рабочее применение требует дополнительного лицензирования.

Пакеты управления можно приобрести только с версией Enterprise Edition; доступ к этим средствам получается через OEM Database Control, Grid Control и API-интерфейс, предлагаемый Oracle. Лицензию можно приобрести как только для одного, так и для всех пакетов управления. Ниже приведен перечень функциональности пакетов управления.

Oracle Diagnostic Pack

Пакет Oracle Diagnostic Pack позволяет установить набор автоматических процессов для мониторинга производительности и системной функциональности. Он включает ряд средств:

  • автоматический репозиторий рабочей нагрузки (Automatic Workload Repository);
  • автоматический монитор диагностики базы данных (Automatic Database Diagnostic Monitor);
  • система уведомления о событиях;
  • хронология событий и показателей базы данных и хоста;
  • мониторинг производительности базы данных и хоста.

Oracle Tuning Pack

Пакет Oracle Tuning Pack доступен, только если имеется пакет Oracle Diagnostic Pack, и помогает настраивать производительность базы данных. Он включает следующие средства:

  • SQL Access Advisor (Советник по доступу SQL);
  • SQL Tuning Advisor (Советник по настройке SQL);
  • наборы настройки SQL;
  • справка по реорганизации объектов базы данных.

Oracle Configuration Management Pack

Пакет Oracle Configuration Management Pack автоматизирует конфигурирование программного обеспечения, инвентаризацию программного и аппаратного обеспечения, установку исправлений и управление политикой. Oracle Configuration Management Pack облегчает следующие действия:

  • конфигурирование баз данных и хостов;
  • управление развертыванием;
  • установка и просмотр исправлений базы данных;
  • клонирование баз данных и клонирование домашнего каталога Oracle;
  • поиск и сравнение конфигураций;
  • управление безопасностью и прочими политиками предприятия.

Oracle Change Management Pack

Пакет Oracle Change Management Pack позволяет оценить и реализовать изменения схемы базы данных. Вы можете отслеживать изменения и синхронизировать объекты и схемы, модифицировать объекты схемы и оценивать изменения, и даже отменять изменения. Oracle Change Management Pack позволяет выполнять следующие операции:

  • восстановление схемы базы данных;
  • сравнение баз данных и схем или базовых линий;
  • копирование объектов базы данных;
  • обновление определений объектов базы данных;
  • синхронизация объектов и схем;
  • оценка влияния изменений;
  • клонирование прикладных схем.

 

Метрики базы данных

Метрики базы данных — это статистические показатели, измеряющие степень изменения кумулятивной статистики производительности; они также являются важнейшими показателями производительности Oracle. В предыдущих версиях Oracle нужно было собирать данные за разные периоды и на их основе вычислять степень изменения различных показателей. Теперь Oracle предоставляет в ваше распоряжение заранее подготовленную систему метрик. Например, вас могут заинтересовать такие метрики, как количество транзакций в секунду в периоды пиковых нагрузок. Динамические представления производительности содержат эти метрики, а AWR также позволяет сохранять их в репозитории.

Статистические показатели, подобные количеству пользовательских транзакций и физических чтений в системе, можно рассматривать как базовую статистику, от которой наследуются метрики базы данных. Фоновый процесс монитора управляемости (manageability monitor — MMON) обновляет данные метрик ежеминутно после сбора необходимой базовой статистики.

Все советники по управлению Oracle используют метрики базы данных для диагностики проблем с производительностью и выработки рекомендаций по настройке. Метрики базы данных могут применяться для проверки состояния работоспособности различных ресурсов, таких как центральный процессор, память и ввод-вывод. Страница All Metrics (Все метрики) в OEM Database Control, показанная на рис. 18.1, предоставляет замечательную возможность увидеть метрики. Чтобы обратиться к этой странице, откройте домашнюю страницу Database Control и щелкните на ссылке All Metrics (Все метрики) под заголовком Related Links (Связанные ссылки). Чтобы увидеть детальную информацию о метриках, щелкните на ссылке Expand All (Развернуть все) в левом углу страницы. Теперь можно углубляться в детали каждой метрики, просто щелкая на ней.

В Oracle Database 11g и 12c используется несколько групп метрик, причем каждая из них представляет такие единицы, как событие, службу или сеанс. В таблице 1. ниже перечислены базовые группы метрик в Oracle Database 11g.

Просматривать метрики Oracle можно двумя способами: используя динамические представления V$, можно видеть метрики в памяти; с помощью представлений DBA_HIST* можно видеть метрики, сохраненные AWR. В следующих разделах рассматриваются оба типа представлений.

Метрика Описание
Метрики классов событий Метрики, собранные на уровне класса событий ожидания, таких как DB_TIME_WAITING
Метрики событий Метрики, собранные на различных событиях ожидания
Долговременные метрики файлов Метрики, собранные на уровне файлов, такие как AVERAGE_FILE_WRITE_TIME
Метрики служб Метрики, собранные на уровне службы, такие как CPU_TIME_PER_CALL
Кратковременные метрики сеансов Метрики, собранные на уровне сеанса, такие как BLOCKED_USERS
Долговременные метрики системы Метрики, собранные на уровне системы
Долговременные метрики табличных пространств Метрики, собранные на уровне табличного пространства, такие как TABLESPACE_PCT_FULL

 

Метрики в памяти

Фоновый процесс MMON собирает метрики базы данных и по умолчанию сохраняет их в SGA для каждого часа. Это время можно изменить, подкорректировав настройки снимков AWR. Метрики, относящиеся к системе, просматриваются с использованием представлений вроде V$SYSMETRIC_HISTORY и V$SYSMETRIC.

Ниже перечислены некоторые системные метрики, поддерживаемые представлением V$SYSMETRIC.

  • Процент попаданий в буферный кэш.
  • Использование процессора в секунду.
  • Процент использования времени процессора базой данных.
  • Процент времени ожидания базы данных.
  • Сортировки на диске в секунду.
  • Счетчик полных разборов в секунду.
  • Процент использования процессора хоста.
  • Процент попаданий в библиотечный кэш.
  • Время ответа обслуживания SQL.
  • Процент свободного места в разделяемом пуле.

Представления V$SERVICEMETRIC и V$SERVICEMETRIC_HISTORY дают детальную информацию о метриках уровня службы. V$SERVICEMETRIC показывает значения метрик, измеренные в самый последний интервал времени для служб базы данных, в пятисекундных и одноминутных интервалах, а V$SERVICEMETRIC_HISTORY предоставляет актуальную хронологию значений метрик, измеренных в пятисекундные и одноминутные интервалы для служб, выполняющихся внутри базы данных.

 

Сохраненные метрики

Используя снимки AWR, Oracle сохраняет информацию метрик, которые непрерывно помещаются в SGA процессом MMON. После сохранения метрик производительности в памяти в течение часа процесс MMON выталкивает данные метрик из SGA на диск, где они сохраняются постоянно в представлениях DBA_HIST*, таких как DBA_HIST_SUMMARY_HISTORY, DBA_HIST_SYSMETRIC_HISTORY и DBA_HIST_METRICNAME. Каждое из этих представлений в действительности хранит снимки соответствующих представлений V$. Так, например, представление DBA_HIST_SYSMETRIC_HISTORY содержит снимки представления V$SYSMETRIC_HISTORY.

Метрики Oracle служат фундаментом для средства генерируемых сервером сигналов тревоги, которые будут темой следующей моей статьи.

 

Вас заинтересует / Intresting for you:

Видеокурс по администрированию...
Видеокурс по администрированию... 10547 просмотров Илья Дергунов Mon, 14 May 2018, 05:08:47
Обновление до Oracle Database ...
Обновление до Oracle Database ... 5519 просмотров Илья Дергунов Tue, 21 Nov 2017, 13:18:05
Поддерживаемые Oracle типы дан...
Поддерживаемые Oracle типы дан... 5694 просмотров Валерий Павлюков Wed, 24 Oct 2018, 08:00:37
Пароли Oracle: аутентификация ...
Пароли Oracle: аутентификация ... 14851 просмотров Дэн Tue, 21 Nov 2017, 13:18:05
Войдите чтобы комментировать

apv аватар
apv ответил в теме #8792 26 окт 2017 08:04
сбор статистики первый и самый важный этап в области гастройки произаводительности базы данных базы данных Oracle. Очень хорошо, что этот процесс автоматизирован в новых версиях СУБД.