Трассировка в Oracle

Для себя, чтобы не забыть как это делается.

Трассировка SQL:

1) Включаем трассировку ALTER SESSION SET SQL_TRACE = TRUE;
2) Выполняем запрос
3) Выключаем трассировку
4) Профилируем трассировочный файл (каталог в параметре user_dump_dest) командой
tkprof <in_file> <out_file> explain=plsql/oracle sort=<exeela/plsela/fchela>

Трассировка PL/SQL

0) Создаем под SYS’ом трассировочные представления (файл <home>rdbmsadmintracetab)
1)
ALTER SESSION SET PLSQL_DEBUG = TRUE;
2)
ALTER [PROCEDURE | FUNCTION | PACKAGE] <name> COMPILE DEBUG [BODY];
3) DBMS_TRACE.SET_PLSQL_TRACE(DBMS_TRACE.<level>
) где level: trace_<all/enabled>_calls, trace_<all/enabled>_exceptions, trace_<all/enabled>_sql, trace_<all/enabled>_lines
4) Выполняем код, который хотим трассировать
5) Выключаем трассировку процедурой DBMS_TRACE.CLEAR_PLSQL_TRACE
6) Смотрим представления SYS.PLSQL_TRACE_RUNS и SYS.PLSQL_TRACE_EVENTS

Реклама
Запись опубликована в рубрике Oracle. Добавьте в закладки постоянную ссылку.

2 комментария на «Трассировка в Oracle»

  1. Владимир:

    Хорошо, что написал. Теперь буду знать где искать.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

w

Connecting to %s