Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Info

Более полный мануал здесь — Как трассировать SQL и PL/SQL.

Как понять логику планировщика и оптимизатора Трассировка с 10053 event.

 


Info
titleВажные замечания

Трассировка по своей сути является периодическим прерыванием работы процесса и сбрасыванием на диск текущего состояния (его мы видим в сырой трассировке). Как можно повысить качество трассировки:

  • Трассировать дольше. Если речь идет о медленном задании, то имеет смысл потрассировать ее минут 10. За это время накопится больше статистики и тормозящие запросы будут видны более явно.
  • Запускать трассировку до начала работы медленного процесса. Такая возможность есть не всегда, но если есть, то надо пользоваться. Такой запуск покажет какие планы выполнения выбрал оракл (план он строит при первой встрече запроса, потом просто использует и в трассировку он уже не попадает).
  • Трассировать в максимально изолированных условиях. Если процессу что-то мешает блокировками (например другая джоба), то в трассировке будет много мусорных ожиданий захвата блокировки.
  • Не надо трассировать дедлоки и "ловить" их. Это бессмысленная затея. Оракл раньше вас обнаружит дедлок, сбросит текущее состояние двух процессов на диск и выкинет ошибку.

1. Включение режима трассировки и выполнение произвольной процедуры:

...