Счетчики Oracle — различия между версиями

Материал из devopswiki
Перейти к: навигация, поиск
(Новая страница: «Самые важные счетчики Oracle {| class="wikitable" |- ! Счетчик !! Описание |- | Сортировки (дисковая под…»)
 
Строка 6: Строка 6:
 
|-
 
|-
 
| Сортировки (дисковая подсистема) -
 
| Сортировки (дисковая подсистема) -
  sorts (disk)  (V$SYSSTAT 1/sid) (absolute) || Количество операций по сортировке, которым требовалась хоть одна запись на диск.  
+
  sorts (disk)  (V$SYSSTAT 1/sid)  
 +
(absolute) || Количество операций по сортировке, которым требовалась хоть одна запись на диск.  
 
Сортировки, которым требуется работа с дисковой подсистемой, являются достаточно ресурсоемкими. Возможно, стоит увеличить размер параметра SORT_AREA_SIZE.
 
Сортировки, которым требуется работа с дисковой подсистемой, являются достаточно ресурсоемкими. Возможно, стоит увеличить размер параметра SORT_AREA_SIZE.
 
|-
 
|-

Версия 16:15, 11 декабря 2013

Самые важные счетчики Oracle

Счетчик Описание
Сортировки (дисковая подсистема) -
sorts (disk)  (V$SYSSTAT 1/sid) 

(absolute) || Количество операций по сортировке, которым требовалась хоть одна запись на диск. Сортировки, которым требуется работа с дисковой подсистемой, являются достаточно ресурсоемкими. Возможно, стоит увеличить размер параметра SORT_AREA_SIZE.

Сортировки (память) –
sorts (memory) (V$SYSSTAT 1/sid)

(absolute) || Количество операций по сортировке, которые были выполнены полностью в памяти и не требовали записи на диск. Самый оптимальный вариант, быстрее будет только отсутствие сортировки . Сортировки обычно вызваны критериями выбора при выполнении операций соединения таблиц в SQL.

Количество запросов блоков в БД - db block gets, (V$SYSSTAT1/sid)

(absolute) || Количество блоков, к которым обращались в буферном кэше с INSERT, UPDATE, DELETE, SELECT FOR UPDATE. Отображает логические чтения блоков (из кэша). Логические операции чтения ВСЕГДА включают физические. Предпочтительно минимальное количество физического чтения.

Стабильные запросы - (V$SYSSTAT 1/sid) (absolute) Количество блоков, к которым обращались в буферном кэше обычные запросы(–SELECT без использования update). Отображает логические чтения блоков (из кэша). Логические чтения ВСЕГДА включают физические. Предпочтительно минимальное количество физического чтения.
Физическое чтение –

(V$SYSSTAT 1/sid) (absolute) || Общее количество чтений блоков данных с диска. Этот показатель равен сумме непосредственно физических чтений и всех чтений в буферный кэш. Оптимальным является минимальное количество физического чтения. Этот счетчик надо сравнивать с количеством логических чтений для того, чтобы определить коэффициент попадания в кэш. Логическое чтение – это сумма запросов блоков БД и стабильных запросов.

Физическая запись –

physical writes (V$SYSSTAT 1/sid) (absolute) || Общее количество блоков записанных на диск. Этот показатель равняется количеству непосредственно физических записей + всех записей из буферного кэша.

Записи в журнал изменений –

redo writes (V$SYSSTAT 1/sid) (absolute) || Общее количество записей LGWR в файлах журнала изменений. Записанные блоки изменений поделенные на этот показатель = количеству блоков на 1 запись.

События изменений –
redo entries (V$SYSSTAT 1/sid) (absolute) || Этот счетчик содержит информацию, необходимою для воспроизведения или отмены изменений, произведенных в БД с помощью операций INSERT, UPDATE, DELETE, CREATE, ALTER или  DROP. При необходимости используется для восстановления базы данных. Количество событий изменений -> успешные записи в журнал изменений. Коэффициент Redo

buffer allocation retries / Redo entries должен быть меньше 1%

Повторные попытки выделения пространства для буфера изменений –

redo buffer allocation retries (V$SYSSTAT 1/sid) (absolute) || Общее количество повторных попыток, понадобившихся для выделения пространства для буфера изменений. Эти попытки нужны в случае, если не удалось записать изменение или если произошло переключение между журналами. Redo buffer allocation retries -> неудавшиеся записи в журнал изменений Коэффициент Redo buffer allocation retries / Redo entries должен быть меньше 1%.

Запросы на выделение пространства для журнала изменений –

redo log space requests (V$SYSSTAT 1/sid) (absolute) || Количество случаев, когда активные файлы журналов были заполнены, и Oracle нужно было ждать выделения дискового пространства для записи изменений. Такое пространство необходимо для переключения журналов. Файлы журналов, которые малы по сравнению с SGA, а также большая рабочая нагрузка, могут привести к проблемам. Прежде чем произойдет переключение журналов, Oracle необходимо убедиться, что вся «грязные» буферы выполненных операций записаны на диск. Если в SGA много «грязных» буферов и маленьких файлов журналов изменений, при переключении журналов придется ждать, пока DBWR запишет буферы на диск. Рекомендуем заодно проверить события ожидания log file space и log file space switch в V$SESSION_WAIT

Счетчик выполнения структурного анализа –

parse count (hard) (V$SYSSTAT 1/sid) (absolute) || Общее количество выполнений структурного анализа. Hard Parse очень затратная операция с точки зрения использования памяти, поскольку Oracle приходится выделять рабочую кучу и другие структуры памяти, после чего строить дерево структурного анализа. Должен быть сведен к минимуму. Соотношение Hard Parse к Total Parse должно быть меньше 20%.

Счетчик общего структурного анализа - parse count (total)

(V$SYSSTAT 1/sid) (absolute) || Общее количество обращений к структурному анализу (hard и soft). Soft parse это проверка объекта в распределенном пуле с целью убедиться, что разрешения для данного объекта не изменились. Соотношение Hard Parse к Total Parse должно быть меньше 20%.

Время CPU, затраченное на структурный анализ – parse time cpu (V$SYSSTAT 1/sid) (absolute) Общее время процессора потраченное на структурный анализ (hard и soft), в 10х миллисекунд.
Полное время структурного анализа -

parse time elapsed (V$SYSSTAT 1/sid) (absolute) || Все время, потраченное на структурный анализ, в 10х миллисекунд. Чтобы определить общее время ожидания ресурсов для анализа, необходимо отнять parse time cpu от parse time elapsed.

Ресурсы CPU за данную сессию - (V$SYSSTAT 1/sid) (absolute) Количество времени процессора (в 10х миллисекунд) за данную сессию с начала пользовательского вызова и до момента его завершения. Если вызов выполняется в течение 10 миллисекунд, то время начала и завершения обращения с точки зрения данного счетчика одинаковы, поэтому миллисекунды не добавляются.
К-во байт, отправленных через SQL*NET клиенту –
bytes sent via SQL*Net to client (V$SYSSTAT 1/sid) (absolute) || Общее количество байт, отправленных клиенту активными процессами. Дает общее представление о количестве данных переданных по сети.
К-во байт, полученных через SQL*NET от клиента –

bytes received via SQL*Net from client (V$SYSSTAT 1/sid) (absolute) || Общее количество байто, полученных от клиента через Oracle Net Services. Дает общее представление о количестве данных переданных по сети.

Текущее к-во входов в систему - (V$SYSSTAT 1/sid) (absolute) Общее количество текущих входов в систему. Используется лишь в V$SYSSTAT.

В дополнение к перечисленным счетчикам, обычно рекомендуют мониторить использование пространства таблиц. Если в любой из таблиц количество свободного пространства составляет меньше 2%, то размер должен быть увеличен.