Знайомство з Automatic Workload Repository, Інші СУБД, Бази даних, статті

Oracle надає безліч інструментів для збирання інформації про базу даних і надання звітів на її підставі. Спочатку були скрипти UTLBSTAT / UTLESTAT, які використовувалися для моніторингу метрик продуктивності. В Oracle 8i був представлений STATPACK, його функціональність була розширена в Oracle 9i. У версії Oracle Database 10g statpack еволюціонував в Automatic Workload Repository (AWR). AWR ліцензується як частина пакета діагностики. Перш ніж його використовувати переконайтеся, ліцензована чи у вас ця опція. Але, у версії 10G залишилася можливість використовувати statpack, його функціонал так ж було розширено.








Рекомендовано для:

  • Oracle Database 10g R1
  • Oracle Database 10g R2
  • Oracle Database 11g R1
  • Oracle Database 11g R2
 

Oracle надає безліч інструментів для збирання інформації про базу даних і надання звітів на її підставі. Спочатку були скрипти UTLBSTAT / UTLESTAT, які використовувалися для моніторингу метрик продуктивності. В Oracle 8i був представлений STATPACK, його функціональність була розширена в Oracle 9i. У версії Oracle Database 10g statpack еволюціонував в Automatic Workload Repository (AWR). AWR ліцензується як частина пакета діагностики. Перш ніж його використовувати переконайтеся, ліцензована чи у вас ця опція. Але, у версії 10G залишилася можливість використовувати statpack, його функціонал так же був розширений.


AWR (Автоматичний репозиторій робочого навантаження) грунтується на схожих принципах збору статистичної інформації в копії, як statspack і estat / bstat. Різниця полягає в прийомах і методології збору інформації, а також у кількості додаткової інформації.


Схема роботи AWR

Automatic Workload Repository представляє з себе набір внутрішніх таблиць словника даних БД Oracle і спеціальний фоновий процес MMON, який з’явився в Oracle10g.


Періодично AWR створює статистичну копію (знімок) і зберігає інформацію в таблицях розташованих в табличному просторі SYSAUX. За замовчуванням регулярний період збору встановлено на 60 хвилин. Це значення може бути зменшено до 10 хвилин при бажанні. Механізм збору статистичної копії (awr snapshot) встановлений в базі даних 10G за замовчуванням і на відміну від пакета statspack установки на автоматичний збір інформації не потрібно.


Як говорилося вище, для виконання збору статистики був введений новий фоновий процес (MMON). За збір інформації для статистичної копії відповідає підлеглий процес (slave process) M001. З причини того, що MMON є фоновим процесом, вплив на продуктивність системи під час збору інформації зведено до мінімуму шляхом доступу до структур пам’яті (SGA) на пряму, минаючи рівень SQL запитів.


Нижче, на малюнку, схематично показана архітектура AWR і його взаємодію з іншими компонентами Oracle:


 


Як видно зі схеми, фоновий процес MMON періодично опитує динамічні уявлення V $ і таблиці X $ і переносить статистичну інформацію в свої внутрішні таблиці словника даних з префіксом WRH $. За замовчуванням, збір статистики процесом MMON виконується щогодини. Процес MMON також відповідальний за видалення застарілої інформації з репозитарія AWR. На відміну від утиліти STATSPACK, AWR може зберігати статистичні дані у вигляді “ковзного вікна”. Наприклад, AWR зберігає за замовчуванням статистику тільки за останні сім днів, хоча його можна налаштувати так, що статистика буде віддалятися тільки вручну, як це передбачено в STATSPACK. MMON також збирає статистику очікувань для нової компоненти Active Session History (ASH), яка дозволяє переглядати історію роботи кожного активного сеансу бази даних.


Репозиторій AWR

Репозиторій являє набір таблиць і уявлень словника даних Oracle. Власником репозиторію є користувач SYS, об’єкти репозиторію розміщені в табличному просторі SYSAUX. Всі дані розміщуються в наборі таблиць з префіксом WR.


Статистична інформація, яка зберігається у сховищі даних AWR активно використовується, як внутрішніми, так і зовнішніми компонентами Oracle, в той час як в STATPACK інформація не використовувалася, і чекала дій DBA. До внутрішніх компонентів, що використовують статистику AWR, можна віднести такі нові компоненти, як Automatic Database Diagnostic Monitor (ADDM), SQL Tuning Advisor, SQL Access Advisor, Automatic Segment Advisor, Undo Advisor, Segment Advisorі т.д. Всі ці компоненти вперше представлені в Oracle10g і служать для автоматизації і вироблення рекомендацій з налаштування продуктивності різних підсистем бази даних Oracle. Наприклад, компонента ADDM автоматично виконує аналіз поточних даних в AWR після кожного нового знімка і показує можливі вузькі місця в базі даних, а також пропонує свої рекомендації по можливих шляхах їх вирішення. Зовнішніми компонентами, які використовують статистику AWR, є Oracle Enterprise Manager, Statspack Viewer і т.д.


Сховище даних механізму AWR містить таблиці наступних типів:




  • Таблиці з префіксом WRM $ зберігають метадані AWR. Наприклад, таблиця WRM $ _SNAPSHOT зберігає інформацію про всі знімках, які зберігаються в репозиторії

  • Таблиці з префіксом WRH $ зберігають власне статистичну історію. Напрмер, таблиця WRH $ _SYSSTAT містить знімки динамічного подання V $ SYSSTAT

  • Таблиці з префіксом WRI $ містять службову інформацію різних компонент Oracle типу SQL Tuning Advisor, які використовують інформацію AWR. Наприклад, таблиця WRI $ _ADV_TASKS містить історію про всі запусках advisory компонент, що використовують дані AWR

Нижче представлений запит для отримання списку цих таблиць:


SELECT TABLE_NAME
FROM DBA_TABLES
WHERE TABLESPACE_NAME = “SYSAUX”
AND SUBSTR(TABLE_NAME, 1,2) = “WR”
AND ROWNUM <= 20
ORDER BY 1;

Результати запиту:


TABLE_NAME
——————————
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
WRM$_BASELINE


Як видно, за іменами таблиць легко здогадатися про дані, які в них розміщені.


Можливості AWR

Можна розділити статистичні дані збираються AWR на два великі класи:




  • Події очікування (wait event) – ситуація при якій сеанс очікує завершення певної події, наприклад завершення запиту до диска (I / O request)

  • Розподіл робочого часу (time model statistics) – в той час, як статистки класу очікування описують, де відбувалися головні простої системи, статистки класу розподілу робочого часу описують на що було витрачено час під час роботи, наприклад скільки часу пішло на синтаксичний аналіз

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 можна використовувати стандартний пакет PL / SQL DBMS_WORKLOAD_REPOSITORY і графічний інтерфейс Oracle Enterprise Manager. Пакет DBMS_WORKLOAD_REPOSITORY містить наступні виклики:


MODIFY_SNAPSHOT_SETTINGS – Процедура дозволяє настроювати частоту, з якою процес MMON буде зберігати в сховищі AWR новий знімок статистик, а також часовий інтервал зберігання цього знімка в базі даних. Поточні значення цих налаштувань можна подивитися, виконавши SQL-запит:


SELECT
EXTRACT( DAY FROM SNAP_INTERVAL) * 24 * 60 +
EXTRACT( HOUR FROM SNAP_INTERVAL) * 60 +
EXTRACT( MINUTE FROM SNAP_INTERVAL ) “SNAPSHOT INTERVAL (MIN)”,
EXTRACT( DAY FROM RETENTION) * 24 * 60 +
EXTRACT( HOUR FROM RETENTION) * 60 +
EXTRACT( MINUTE FROM RETENTION ) “RETENTION INTERVAL (MIN)”
FROM DBA_HIST_WR_CONTROL;

CREATE_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 задають мінімальне і максимальне час зберігання статистики в базі даних відповідно.


Моментальні знімки (Snapshots)

За замовчуванням, знімки робляться кожну годину і зберігаються протягом 7 днів. Для визначення встановлених значень виконується запит:


SELECT SNAP_INTERVAL,
RETENTION
FROM DBA_HIST_WR_CONTROL;

SNAP_INTERVAL      RETENTION
—————–  —————–
+00000 01:00:00.0  +00007 00:00:00:0


Результати запиту показують, що інтервал створення знімків дорівнює 1 годині і зберігаються знімки 7 днів, тобто виставлені значення, використовувані за умовчанням.


Автоматична збірка статистики можлива при значенні параметра STATISTICS_LEVEL рівним ALL чи TYPICAL. Якщо значення дорівнює BASIC, виконується ручне управління знімками. Дізнатися поточне значення параметра можна виконавши запит:


SELECT NAME,
VALUE
FROM GV$PARAMETER
WHERE NAME LIKE “stat%”;

statistics_level    TYPICAL


Змінити значення параметра STATISTICS_LEVEL можна конструкцією ALTER SYSTEM або ALTER SESSION.


Створення моментальних знімків

За замовчуванням, знімки створюються автоматично, але бувають ситуації, коли потрібно ручне створення знімка. Для цього виконується команда:


BEGIN
DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
END;

Як видно, функція CREATE_SNAPSHOT не має параметрів. Всі необхідні параметри беруться із системи.


Зміна налаштувань моментальних знімків

Значення, пропоновані Oracle за замовчуванням, можуть бути змінені. Для цього виконується такий запит:


BEGIN
DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS( – Тривалість зберігання. Значення в хвилинах (встановлено 30 днів).
retention => 43200, – Як часто робити знімок. Значення в хвилинах.
interval => 30):
END;
/



  • Значення параметра RETENTION встановлюється в хвилинах, і повинно бути в інтервалі від 1440 (один день) до 52596000 (100 років)

  • Значення параметра INTERVAL встановлюється в хвилинах, і повинно бути в інтервалі від 10 до 525 600 (один рік)

Внесені зміни і настройки відображаються в поданні DBA_HIST_WR_CONTROL. При установці значення інтервал (interval) рівне 0, знімки не робляться. Робити це не рекомендується.


Видалення знімків

Для видалення знімків з репозиторію використовується процедура DROP_SNAPSHOT_RANGE:


BEGIN
DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE (
low_snap_id => 42,
high_snap_id => 52);
END;
/

Вся інформація про зроблені знімках може бути запрошена з уявлення DBA_HIST_SNAPSHOT. Далі представлений запит ілюструє це:


COL INSTART_FMT NOPRINT;
COL INST_NAME FORMAT A12 HEADING “Instance”;
COL DB_NAME FORMAT A12 HEADING “DB Name”;
COL SNAP_ID FORMAT 99999990 HEADING “Snap Id”;
COL SNAPDAT FORMAT A18 HEADING “Snap Started” JUST C;
COL LVL FORMAT 99 HEADING “Snap/Level”;
SET HEADING ON;
BREAK ON INST_NAME ON DB_NAME ON HOST ON INSTART_FMT SKIP 1;
TTITLE OFF;
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
WHERE DI.DBID = S.DBID
AND DI.INSTANCE_NUMBER = S.INSTANCE_NUMBER
AND DI.STARTUP_TIME = S.STARTUP_TIME
ORDER BY SNAP_ID;

Базові лінії

Базові лінії (baselines) – це пара знімків, що представляє період використання. Одного разу певні базові лінії можуть використовуватися для порівняння продуктивності в різні моменти часу по порівняно з минулими показниками. Для створення базової лінії використовується конструкція:


BEGIN
DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE (
start_snap_id => 210,
end_snap_id => 220,
baseline_name => “first_baseline”);
END;
/

Пара знімків, асоційовані з базовою лінією зберігається до тих пір, поки базова лінія не буде явно видалена:


BEGIN
DBMS_WORKLOAD_REPOSITORY.DROP_BASELINE (
baseline_name => “first_baseline”, cascade => FALSE); – Якщо значеніеTRUE, то видаляються пов’язані знімки.
END;
/

Для параметра CASCADE значення за замовчуванням береться рівним FALSE.


Якщо ви створили базові лінії для періоду часу, то можна звернутися до подання DBA_HIST_SNAPSHOT для визначення ідентифікаторів знімків – SNAP_ID, які увійшли в цей період:


SELECT SNAP_ID,
BEGIN_INTERVAL_TIME,
END_INTERVAL_TIME
FROM DBA_HIST_SNAPSHOT
ORDER BY 1;

SNAP_ID BEGIN_INTERVAL_TIME       END_INTERVAL_TIME
——- ————————- ———————-
380     14-OCT-09 11.00.37.796 AM 14-OCT-09 12.00.11.515 PM
381     14-OCT-09 12.00.11.515 PM 14-OCT-09 01.00.54.109 PM
382     14-OCT-09 01.00.54.109 PM 14-OCT-09 02.00.34.906 PM
383     14-OCT-09 02.00.34.906 PM 14-OCT-09 03.01.07.062 PM
384     14-OCT-09 03.01.07.062 PM 14-OCT-09 04.00.41.343 PM
385     14-OCT-09 04.00.41.343 PM 14-OCT-09 05.00.19.546 PM
386     14-OCT-09 05.00.19.546 PM 14-OCT-09 06.00.57.187 PM
387     14-OCT-09 06.00.57.187 PM 14-OCT-09 07.00.35.734 PM
388     14-OCT-09 07.00.35.734 PM 14-OCT-09 08.00.13.734 PM
389     14-OCT-09 08.00.13.734 PM 14-OCT-09 09.00.51.812 PM
390     14-OCT-09 09.00.51.812 PM 14-OCT-09 10.00.30.234 PM


Запуск звіту AWR

На відміну від механізму statspack при використанні AWR немає потреби настроювати автоматичний механізм збору копій (snapshots). Ця функція працює за замовчуванням в будь базі 10-ої версії. Користувачеві залишається лише отримати звіт, який грунтується на вибраних копіях.


Для отримання звітів, Oracle надає два скрипта awrrpt.sql і awrrpti.sql. Для генерації звіту виконайте скрипти:


@$ORACLE_HOME/rdbms/admin/awrrpt.sql
@$ORACLE_HOME/rdbms/admin/awrrpti.sql

Запуск з SQLPlus здійснюється як показано нижче:


SQL> @?/rdbms/admin/awrrpt.sql
SQL> @?/rdbms/admin/ awrrpti.sql

Після запуску на виконання, буде запропоновано вибрати формат звіту – текстовий варіант або HTML. Вказати ідентифікатори початкового і кінцевого знімків і місце розташування звіту. Після того, як звіт сформований, його можна переглянути в браузері або будь-якому текстовому редакторі. Приклад виконання звіту:


SQL> @$ORACLE_HOME/rdbms/admin/awrrpti.sql
Specify the Report Type
~~~~~~~~~~~~~~~~~~~~~~~
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”


На цьому кроці запитується формат звіту, для отримання в HTML введіть html, для отримання текстового варіанта вкажіть text. За замовчуванням використовується HTML, в наведеному прикладі вказаний HTML:


Enter value for report_type: html
Type Specified: html
Instances in this Workload Repository schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

DB Id        Inst Num DB Name      Instance     Host
———— ——– ———— ———— ———–
* 268115148         1 ALL_ORACLE   ALL_ORACLE   TEST

Enter value for dbid: 268115148
Using 268115148 for database Id
Enter value for inst_num: 1
Using 1 for instance number
Using the Automatic Workload Repository (AWR) 273
Specify the number of days of snapshots to choose from
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Entering the number of days (n) will result in the most recent (n) days of
snapshots being listed. Pressing without specifying a number
lists all completed snapshots.

Listing the last 3 days of Completed Snapshots
                                                       Snap
Instance     DB Name      Snap Id   Snap Started       Level
———— ———— ——— —————— —-
lnx1         LNX1               290 20 Oct 2009 00:00     1
291                                 20 Oct 2009 01:00     1
292                                 20 Oct 2009 02:00     1
293                                 20 Oct 2009 03:00     1
294                                 20 Oct 2009 04:00     1
295                                 20 Oct 2009 05:00     1

Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


На цьому кроці будуть запитані ідентифікатори початкового і кінцевого знімків


Enter value for begin_snap: 290
Begin Snapshot Id specified: 290
Enter value for end_snap: 295
End Snapshot Id specified: 295
Specify the Report Name
~~~~~~~~~~~~~~~~~~~~~~~
The default report file name is awrrpt_1_290_345.html. To use this name,
press to continue, otherwise enter an alternative.


І на останньому кроці буде запропоновано вказати ім’я звіту або використовувати запропоноване системою:


Enter value for report_name: report.html
Using the report_name report.html


Головна відмінність від statspack полягає в тому, що в простому звіті AWR текст SQL команд представлений повністю, а не частково, як це було раніше. Також можна використовувати $ ORACLE_HOME / rdbms / admin / awrsqrpt.sql для отримання детального звіту за певним SQL.


Приклади використання інформації AWR

Як було сказано вище, сховище даних AWR служить джерелом даних про роботу сервера баз даних для різних компонент сервера. Опис налаштування інших підсистем сервера, які використовують сховище AWR для вироблення своїх рекомендацій, залишається за рамками цієї статті. Нижче наведено кілька прикладів того, як можна використовувати інформацію AWR для аналізу тенденцій в роботі сервера Oracle. Аналіз тенденцій, або трендів, дозволяє побачити картину того, які характеристики продуктивності має база даних по годинах протягом дня або по днях тижня. Зазвичай така усереднена картина досить точно описує поведінку бази даних для конкретного набору додатків і кінцевих користувачів. Це дозволяє більш ефективно визначати вузькі місця в роботі і моменти часу, коли можливий спад продуктивності сервера.


Наприклад, DBA хоче знати, який в середньому обсяг фізичних читань і в які моменти часу протягом дня генерує база даних. Наведений нижче запит до сховища AWR відповідає на це питання:


SET PAGES 999
SET PAGESIZE 1000
BREAK ON SNAP_TIME SKIP 2
COL SNAP_TIME FORMAT A19 HEADING “Day Hour”
COL AVG_VALUE FORMAT 999,999,999 HEADING “Avg Physical Reads”
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″);

Приклад результату роботи цього скрипта може виглядати наступним чином:


Hour         Avg Physical Reads
———— ——————-
00                        76,120
01                        90,200
02                       150,395
03                       170,028
04                       176,677
05                       175,874
06                       172,680
07                       177,164
08                       278,073
09                       281,816
10                       482,518
11                       781,793
12                       986,012
13                       863,357
14                       471,752
15                       367,471
16                       274,219
17                       273,576
18                       269,362
19                       174,765
20                       174,083
21                       169,860
22                       75,2070
23                       74,5340


З наведеного вище звіту видно, що найбільший обсяг операцій фізичного читання доводиться в середньому на період часу з 11 до 13 годин, що може викликати небажані затримки в роботі користувачів. Знання подібного роду інформації дозволяє DBA більш точно локалізувати причини подібного роду проблем. Якщо скопіювати отримані дані в Excel і побудувавши графік, можна отримати графічне представлення ситуації, як показано на наведеному нижче малюнку:



Той же звіт, але по днях тижня виглядає таким чином:


SET PAGES 999
SET PAGESIZE 1000
BREAK ON SNAP_TIME SKIP 2
COL SNAP_TIME FORMAT A19 HEADING “Week Day”
COL AVG_VALUE FORMAT 999,999,999 HEADING “Avg Physical Reads”
SELECT TO_CHAR(BEGIN_INTERVAL_TIME,”day”) 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,”day”)
ORDER BY 2 DESC;

Week Day            Avg Physical Reads   
——————- ——————
wednesday                      569,687
monday                         515,349
tuesday                        493,313
thursday                       305,815
friday                         297,250
sunday                         190,185
saturday                       170,332


Ще один приклад аналітичного звіту, наведений нижче, показує усереднене час очікування по годинах доби, що дозволяє визначити, в які моменти сесії користувачів потенційно можуть мати затримку з відповіддю на свої запити, викликану очікуванням-яких ресурсів бази даних:


SELECT TO_CHAR(H.SAMPLE_TIME,”HH24″) “Hour”,
SUM(H.WAIT_TIME/100) “Total Wait Time (Sec)”
FROM V$ACTIVE_SESSION_HISTORY H,
V$EVENT_NAME N
WHERE H.SESSION_STATE = “ON CPU”
AND H.SESSION_ENGINE= “FOREGROUND”
AND H.EVENT_ID = N.EVENT_ID
AND N.WAIT_CLASS <> “Idle”
GROUP BY
TO_CHAR(H.SAMPLE_TIME,”HH24″);

Hour Total Wait Time (Sec)
—- ———————
11                     219
12                 302,998
13                  60,982
14                 169,716
15                  39,593
16                 299,953
17                 122,933
18                   5,147


Таким чином, механізм AWR поряд зі стандартним набором звітів надає широкі можливості по більш детальному аналізу продуктивності в різних часових зрізах. Використання AWR спільно з такими новими технологіями Oracle, такими як Active Session History, поліпшений Wait Event Interface і набором вбудованих утиліт ADDM, SQL Tuning Advisor та інших значно полегшує завдання адміністрування, моніторингу і підтримки продуктивності великих систем Oracle на необхідному рівні.


На цьому дозвольте завершити цю оглядову статтю присвячену AWR. Удачи.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*