четверг, 30 июля 2015 г.

ORACLE. Трассировка в Oracle (dbms_system.set_ev)



Трассировка сессий в Oracle.
Процедурой dbms_system.set_ev:
------------------
sys.dbms_system.set_ev (si binary_integer,
    se binary_integer,
    ev binary_integer,
    le  binary_integer,
    nm varchar2);

SI   - идентификатор сессии sid из представления v$session;
SE  - идентификатор сессии serial# из представления v$session;
EV  - номер (event) события (10046 для включения трассировки);
LE   - уровень  трассировки;
Level:
0 - отключить трэйс;
1 - обычный трэйс;
4 - трэйс с переменными (bind);
8 - с ожиданиями (waits)
12 - с переменными и waits
NM  - имя события;
------------------


Задача: Получить трейс выполнения запроса.
Шаги:

Сессия1 (S1). Открываем SQLPLUS или Developer, где будем выполнять запрос.
sqlplus tester/tester@usbs

Сессия2 (S2). Открываем SQLPLUS или Developer, где будем включать трассировку.
В S1 находим S2 :
------------------
select s.SID, s.SERIAL#, s.USERNAME from v$session s where s.USERNAME = 'TESTER';
------------------


*SPID необходим для поиска получившегося трейс-файла
     4. Включаем трассировку, указываем в качестве SID и SERIAL# ранее найденные значения:
------------------
begin
sys.dbms_system.set_ev(40, 28445, 10046, 12, '');
end;
------------------
5. Выполняем запрос\действия в S2.
6. Выключаем трассировку:
--------------
begin
sys.dbms_system.set_ev(40, 28445, 10046, 0, '');
end;
--------------
7. Забрать файл трассировки можно в каталоге «user_dump_dest»:
--------------
select value "Trace path"
from V$PARAMETER p
where p.name = 'user_dump_dest';
--------------
8. По умолчанию имя файла трассировки формируется так:
INSTANCE_ora_PID.trc
где
INSTANCE имя экземпляра (instance) Oracle;
PID ID  процесса операционной системы (V$PROCESS.SPID);
Например - usbs_ora_6014.trс
В самом трейс-файле указано какой сессии он принадлежит:
--------------
*** 2014-09-15 08:34:43.756
*** SESSION ID:(40.28445) 2014-09-15 08:34:43.756
*** CLIENT ID:() 2014-09-15 08:34:43.756
*** SERVICE NAME:(usbs) 2014-09-15 08:34:43.756
*** MODULE NAME:(Developer) 2014-09-15 08:34:43.756
*** ACTION NAME:() 2014-09-15 08:34:43.756
--------------



Комментариев нет:

Отправить комментарий