Измерение производительности экземпляра Oracle - События ожидания и классы событий ожидания - измерение производительности Oracle

Как измерить производительность базы данных Oracle?
Антон Меринов

Антон Меринов

Автор статьи. Интересы, навыки: Профессиональное администрирование СУБД Oracle Database, веб-разработка, IT-World. Подробнее.

 
 
 
« Prev
Next »

События ожидания и классы событий ожидания

Всякий раз, когда процесс сервера ожидает завершения какого-нибудь события, это классифицируется как событие ожидания (wait event). В Oracle Database 11g существует свыше 950 событий ожидания. Наиболее распространенными из них являются те, которые возникают из-за состязания за ресурсы, например, состязания за защелки, состязания за буфер и состязания за ввод-вывод.

Группа взаимосвязанных событий ожидания называется классом событий ожидания (wait class), и каждое событие обязательно относится к какому-нибудь из таких классов. Наиболее важные классы событий ожидания — это Administrative, Application, Concurrency, Configuration, Idle, Network, System I/O и User I/O. Например, к классу Administrative относятся события ожидания, вызываемые блокировкой на уровне строк, а к классу User I/O — события ожидания, вызываемые чтением блоков с диска. Использование классов событий ожидания помогает быстро переходить к исходной причине проблемы в базе данных за счет ограничения фокуса дальнейшего анализа. Ниже приведено краткое описание основных классов ожидания в Oracle Database 11g.

  • Класс Administrative (Административные события ожидания) включает в себя события ожидания, вызываемые административными командами, подобными, например, перестройке индекса.
  • Класс Application (События ожидания приложения) включает в себя события ожидания, возникающие из-за кода приложения.
  • Класс Cluster (События ожидания кластера) включает в себя события ожидания, связанные с управлением кластером RAC (Real Cluster Application).
  • Класс Commit (События ожидания фиксации) включает в себя одно единственное событие ожидания log file sync (событие ожидания синхронизации файлов журналов), которое вызывают выполняемые в базе данных операции фиксации.
  • Класс Idle (События простоя) включает в себя события ожидания, которые происходят тогда, когда сеанс является не активным, как, например, событие SQL*Net message from client (событие ожидания сообщения SQL*Net от клиента).
  • Класс Network (Сетевые события ожидания) включает в себя события, возникающие во время обмена сообщениями по сети.
  • Класс Other (Другие события ожидания) включает в себя разнородные события ожидания.
  • Класс Scheduler (События ожидания планировщика) включает в себя события ожидания, связанные с работой приложения Resource Manager (Диспетчер ресурсов).
  • Класс System I/O (События ожидания системного ввода-вывода) включает в себя события ожидания, связанные с фоновыми процессами ввода-вывода, в том числе событие db file parallel write (событие ожидания выполнения параллельной записи в файлы базы данных), которого ожидает фоновый процесс записи в базу данных, и события, связанные с чтением и записью в архивные журналы и журналы повторного выполнения.
  • Класс User I/O (События ожидания пользовательского ввода-вывода) включает в себя события ожидания, связанные с пользовательскими процессами ввода-вывода, в том числе db file sequential read (событие ожидания выполнения последовательного чтения из файлов базы данных) и db file scattered read (событие ожидания выполнения чтения из файлов базы данных “вразброс”).

 

« Prev
Next »
Войдите чтобы комментировать

dbstalker аватар
dbstalker ответил в теме #10398 2 года 3 мес. назад
Мега Мануал. Большая благодарность!)
apv аватар
apv ответил в теме #10024 2 года 10 мес. назад
Просто гениальная статья, Антон! Огромное спасибо за усилия!
Oracle_Admin аватар
Oracle_Admin ответил в теме #9852 3 года 2 мес. назад

well пишет: Часто обращаюсь к данной стать при настройке производительности экземпляра БД Оракл. Спасибо, что сделали форматирование кода визуально более удобочитаемым!


Рад, что материал востребован. Стараюсь поддерживать в актуальном состоянии!
well аватар
well ответил в теме #9848 3 года 2 мес. назад
Часто обращаюсь к данной стать при настройке производительности экземпляра БД Оракл. Спасибо, что сделали форматирование кода визуально более удобочитаемым!