ключение расширенной трассировки SQL
Первый секрет синтаксиса расширенной трассировки SQL в Oracle находится в файле $ORACLE_HOME/rdbms/mesg/oraus.msg. Это файл сообщений об ошибках для ядра Oracle. Поиск первого вхождения подстроки «10000», расположенной в начале строки (например, коандой /"1000 в редакторе vi), приведет вас в следующий фрагмент этого файла:
Разработчики ядра Oracle отвели диапазон кодов от 10000 до 10999 для отладочных событий, используемых ими для тестирования и отладки
ядра.
Корпорация Oracle не поставляет файл oraus.msg в дистрибутивах для Microsoft Windows. Найти его можно только в не-Win-dows дистрибутивах.
Однострочные описания кодов этих событий достаточно информативны. Из них можно узнать, что существуют отладочные события, позволяющие разработчикам ядра имитировать такие события, как сбои памяти или разнообразные виды повреждений файлов, изменять поведение компонентов, в частности, оптимизатора запросов, трассировать внутренние операции ядра (например, установку защелок). Отладочные события, интересные аналитику по производительности, включают в себя:
Среди более чем 400 отладочных событий имеется и то, которое включает расширенную трассировку SQL:
10046, 00000, "enable SQL statement timing"
Эта скромная неприметная возможность, погребенная в толще 16 000 строк недокументированного файла, и является одним из главных персонажей нашего повествования. Именно она дает возможность получить полный отчет о том, на что расходует время прикладная программа Oracle, когда пользователи ожидают от нее ответа.
До 10 версии Oracle все псевдоошибочные отладочные события официально не поддерживались, если только вы не действовали по прямым указаниям службы технической поддержки Oracle. Ниже в этой главе описана процедура DBMS_SUPPORT.START_TRACE_ IN_SESSION, предоставляющая полностью поддерживаемый способ использования события 10046.
< Предыдущая | Следующая > |
---|