DeepEdit!

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

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

События ожидания, влияющие на область коллективного пула


Безотносительно к тому, каковы коэффициенты попадания в библиотечный
и словарный кэши, необходимо определить события ожидания, влияющие на
область коллективного пула. Это можно сделать, задав запрос к представлению V$SESSION_WAIT и найдя там события типа свободной защелки (latch free), если она является защелкой загрузки коллективного пула, библиотечного кэша, сло­варного кэша и т. д.
О  Select SW.Sid,  S.Username,  subslr(SW. Event.   1,  35),   SW.Wait.,.t.irne from V$SESSI0N S,  V$SESSION_WAIT SW where SW. Event not like 'SQL*Net%'
and SW.Sid = S.Sid order by SW.Wait_time, SW.Event;
Запрос производит список событий, которые в настоящий момент находят­ся в состоянии ожидания. Если события ожидания имеют место для ресурсов коллективного пула, используйте эту информацию для прямого разрешения
проблемы, либо увеличивая (до известного предела) его размеры, либо, что бо­лее важно, организуя лучшее использование различных пулов (большого пула,
резервной области, пула Java). Однако следует отметить, что уменьшение по­требности в этих ресурсах за счет повторного использования SQL и сведения числа разборок к минимуму - это только начало длинного пути по направлению к находящемуся вне конкуренции кэшу. Ниже приводятся несколько типичных
событий, относящихся к области коллективного пула. Полный список событий
ожидания можно найти в справочном руководстве Oracle.
latch free        Конкуренция защелок за защелку latch*, освобождения которой        Если
проблема остается, необходимо определить, что вызывает конкуренцию за защелку. Нашей целью должно быть лечение болезни, а не симптомов. Событие latch free является симптомом более крупой проблемы. Например, если выведенный отсюда latch* является защелкой библиотечного кэша (в предположении, что коллективный пул настроен должным образом), это может подразумевать значительное количество жестких разборок. Обычно это означает проблему с приложениями, которые содержат операторы SQL с жестко закодированными значениями. Их следуе1 или переписать, используя переменные связи, или сделать модернизацию до 0racle8i и использовать CURSOR_SHARING=FORCE, либо просто искать другой путь.
library cache load lock   Требуется для загрузки объектов в библиотечный кэш. Событие ожидания может произойти, если имеет место значительное количество загрузок/перезагрузок (которые обычно вызываются либо недостаточным повторным использованием операторов SQL, либо неверно заданным размером области коллективного пула).
Настройка экземпляра — область коллективного пула
library cache lock        Связаны с одновременным выполнением нескольких процессов, обращающихся
к библиотечному кэшу. Могут означать неправильный выбор размера области . коллективного пула, так как эта блокировка должна быть захвачена для размещения объектов в библиотечном кэше.
library cache        Связано с параллелизмом библиотечного кэша и может происходить, если
объект необходимо модифицировать или проверить его в библиотечном кэше.
 









jAntivirus