Как включить трассировку?

3 ноября 2014 г. Просмотров: 1197
Операция трассировки записывает в файл операционной системы определенные SQL-утверждения, а также соответствующую им информацию (планы запросов и ожидания событий), которая выполняется во время работы скрипта. Оттрасировать можно любую произвольную сессию в базе Oracle.

Инструкция

  • Перед тем, как запустить трассировку, нужно включить сбор статистики, иначе будут возникать файлы с нулевыми временами. Для этого нужно выполнить запрос:alter system set timed_statistics=trueЕсли необходимо запустить трассировку в текущей сессии, то параметр system следует заменить на session.
  • Убедитесь, что атрибут максимального размера файла дампа имеет достаточное значение. Для этого выполните соответствующий SQL-запрос:SELECT value FROM v$param p WHERE name=’max_dump_file_size’Значение $param можно выставлять как на уровне БД (alter system), так и на уровне сессии (alter session).
  • Затем идентифицируйте сессию, которая нуждается в трассировке. Для этого узнайте первичные значения столбцов:SELECT sid,serial# from v$system WHERE критерии_отбора_для_трассировки
  • Для запуска трассировки необходимо установить событие 1046 в соответствующей сессии. Запустите процедуру sys.dbms_system.set_ev, а затем передайте полученные значения sid и serial как целочисленные параметры:BEGIN sys.dbms_system.set_ev(sid, serial#, 10046, 8, ‘’); END
  • Для выключения трассировки измените значение уровня события 10046 с 8 до 0.
  • Трассировочный файл появляется в директории дампов базы Oracle (Oracle/admin/databaseSID/udump). Имя этого файла содержит идентификатор процесса ОС, в котором была проведена операция, а расширение - .trc. Для того чтобы обработать информацию в читабельный вид обработайте трассировочный файл в утилите tkprof:cd C:ORACLEadmindatabaseSIDudump
  • tkprof файл.trc output=мой_файл.prfВ обработанном файле будет приведен список всех команд, которые были выполнены во время сессии.

    Оцените статью!