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