DeepEdit!

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

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Выполняем STATSPACK (для Oracle 8.1.6 и более ПОЗДНИХ версий)


В Oracle8i (8.1.6) появился еще один брэнд - пакет STATSPACK, который обе­щает стать новой и усовершенствованной версией utlbstat.sql/utlestat.sql. При­менение пакета STATSPACK можно рассматривать как замену отжившего свое метода BSTAT/ESTAT.
STATSPACK собирает больше релевантных данных о производительности, чем BSTAT/ESTAT, предвычисляет некоторые из коэффициентов производите­льности, сохраняет их в схеме для использования в будущем и обеспечивает воз­можность сравнивать свежие данные с предыдущими (для этого ведется соответствующий архив).
Замечание
Хотя STATSPACK и начал поставляться только с версиями 8.1.6 и более поздними, он может выполняться с базами данных Oracle 8.O.

В приводимой ниже таблице перечисляются основные различия между
BSTAT/ESTAT и STATSPACK:

Основные характеристики/ возможности
BSTAT/ESTAT
STATSPACK
Конфигурируемый сбор данных
Нет
Да
Страница итогов для отчета
Нет
Да
Определение      потребляющего много ресурсов
Нет
Да
Возможность хранить моментальные снимки
Нет
Да
производительности в базе данных



Для инсталляции пакета STATSPACK запускается скрипт statscre.sql (spcrea-te.sql для Oracle 8.1.7), который находится в каталоге $ORACLE_HOME/ rdbrns/adrnm. Запуск можно выполнить в рамках сеанса SQJL?Plus, зарегистри­ровавшись как Connect / as SYSDBA Этот скрипт создает пользователя с име­нем Perfstat, набор таблиц и пакет. Все приведенные ниже команды и процедуры следует выполнять от имени этого пользователя.
Замечание Данный скрипт необходимо выполнять с помощью SQL*Plus, а не в среде Server Manager. Кроме того, отметим, что отчет STATSPACK следует запускать с той же частотой, которая рекомендована для BSTAT/ESTAT —15 мин. И, наконец, не рекомендуется создавать таблицы для пользователя Perfstat в табличном пространстве SYSTEM, так как их размеры зависят от количества создаваемых моментальных снимков.
Для сбора данных о производительности применяется команда execute stat-spack.snap. Процедуру следует выполнять, когда система находится на пике ак­тивности и для разных рабочих нагрузок (OLTP, пакетные задания и т.п.). Можно посоветовать при планировании выполнения пакета использовать DBMSJOB или планировщик операционной системы (типа сгоп для UNIX). Для справок воспользуйтесь файлом примера statsauto.sql (spauto.sql для Oracle 8.1.7)
Параметры пакета:
•        i_snap_level принимает значение 0 для статистики экземпляра,
5 — для информации об операторах SQL (значение по умолчанию) и 10 — для определения информации о дочерних блокировках и некоторых низкоуровневых исследовательских целей (включается
только в случае, если этого затребовала служба Oracle Support).
i_executions_th, i_buffer_gets_th, i_disk_reads_th, i_version_count_th, i_parse_calls_th и i_sharable_mem_th — это параметры, относящиеся к процессу установки порогов для идентификации высокозатратных операторов SQL.
i._uconniicni позволяет присвоить имя конкретному моментальному снимку.
Lsessionjd обеспечивает сбор информации сеансового уровня (по умолчанию это не
Все значения по умолчанию вышеупомянутых параметров хранятся в табли­це. Изменить их можно с помощью процедуры statspack.modiiy_statspack_para-meter.
Отчет по моментальным снимкам производительности генерируется при ис­полнении statsrep.sql (spreport.sql в Oracle 8.1.7). Данные для отчета хранятся в базе данных, и здесь полезно отметить, что эти отчеты не могут быть переданы в удаленную базу данных или распределены между различными запусками экзем­пляра/базы данных. Скрипт принимает аргументы исполнительного периода для определения начального и конечного snap_id. При каждом прогоне момен­тального снимка производительности генерируется значение snap_id, которое
получается при помощи генератора последовательностей Oracle.
Отчет аналогичен выходным данным, генерируемым в методе
BSTAT/ESTAT. В итоговую страницу включена информация о пяти главных со-
бытиях ожидания (это именно то, что нам предстоит        об исполь-
зовании коллективного пула,  профиле нагрузки на систему, уровне
эффективности экземпляра и общие сведения о среде.
Далее представлен образец отчета, сгенерированного по материалам отчета пакета STATSPACK для реальной системы, находящейся в промышленной эксп­луатации. Отчет форматирован таким образом, что мы можем видеть только
его итоговую часть, представляющую информацию о положении дел для всего союза. Повторяем, что нашей основной целью должно быть исследование пяти первых событий ожидания для настраиваемой базы данных. После того как это будет сделано, можно переходить к следующим пяти событиям из списка, зака­зав еще один прогон пакета STATSPACK. Чтобы не нарушить конфиденциаль­ность заказчиков, имена базы данных и экземпляра изменены.

STATSPACK report for
DB Name    DB Id        Instance   Inst Num

Release

OPS

Host

ACME        708513117   acme
4
Start Id    End Id       Start
3
Cache Sizes
8.0.5.0.0   NO End Time
30-Oct-OO 13:27:39

hp6
Snap Length (Minutes)

15.24

db_block_buffers:        40000
d!j.Mock..„size:        16384
lonjuiffei ■.        13107200
shared_pool_size:        100000000
Load Profile

Logical reads: Block changes: Physical   reads: Physical writes: User calls: Parses: Hard Parses: Sorts: Transactions: Rows per Pet Blocks changed / Read: Recursive Call Pet: Rollback /transaction Pet: Instance Efficiency Percentages
Per Second

Redo size: 5739,29 2901,46 51,98 313,53 4,71 88,15 8,76 0,08 3,46 2,25
691,26 1,79
11,13 8,54
(Target 100%)
Per Transaction

12924,49
1288,43 23,08 139,23 2,09 39,14 3,89 0,04 1,54

Buffer Nowait Ratio:       100,00 Buffer Hit Ratio:        89,19

Library Hit Ratio: Redo NoWait Ratio: In-memory Sort Ratio: Soft Parse Ratio:
Latch Hit Ratio:
Top 5 Wait Events
99,70 100,00 100,00
99,05 100,00

55,3 27,8
9,35 3,98

Event
slave wait
library cache pin
Parallel Query Idle Wait - Slaves
Srlaps:
db file scattered read db file sequential read Wait Events for DB:       Instance: ->cs - centisecond - 100th of a second ->ms - millisecond - 1000th of a second
(unit often used for disk     timings)

Дополнительную информацию о пакете STATSPACK и документацию, кото­рая поставляется вместе с выпуском Oracle (statspack.doc для 8.1.6 и spdoc.txt для 8.1.7), можно найти, посетив сеть технологий Oracle (Oracle Technology Net) по адресу http://technet.oracle.com/deploy/performance/. Этот файл так­же размещается в каталоге $ORACLE_HOME/rdbms/admin.
Замечание
Мы рекомендуем вместо BSTAT/ESTAT использовать пакет STATSPACK, если версия настраиваемой базы данных 8.0 и выше. STATSPACK предоставляет ту же самую информацию, что и BSTAT/ESTAT, но в более удобочитаемой и осмысленной форме с хорошо организованными разделами профиля нагрузки и эффективности. Кроме того, заметьте, что в Oracle версии 8.1.7 изменены имена многих скриптов. Полный список изменений находится в файле spdoc.txt.

Идентифицируйте узкие места производительности Oracle на текущий момент
В дополнение к тому, что можно найти в report.txt и STATSPACK, в представ­лениях V$SYSTEM_EVENT, V$SESSION_EVENT и V$SESSION_WAIT имеется очень много информации о текущем состоянии Oracle. В некоторых кругах эти три динамических представления производительности называются "интерфей­сом ожидания". Именно здесь следует сделать первую остановку для того, чтобы понять, где находится узкое место. Подробно об этом написал Крейг Шаллахам-мер в статье "Прямая вдентификация конкуренции с использованием таблиц ожидания сеанса Oracle", размещенной на http://www.orapub.com/. Еще одно представление о методе, базирующемся на событиях ожидания, дано в презен­тации, озаглавленной "Диагноз проблемы производительности Oracle", авто­ром которой является Кэри Миллсоп. Найти ее можно по адресу http://www. hotsos.com/ по ссылке на OAUG 2000 Database SIG Meeting. Оба вышеназван­ных сайта знакомят с большим количеством инструментов, которые помогут при обнаружении и анализе узких мест.
 


Видео-рулетка карточные игры онлайн без регистрации Ежедневные розыгрыши . легальные порошки







jAntivirus