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

23.11.2008 г.

  1. Находим интересующую нас сессию, например, так:
    select sid, serial#, username, machine, program from v$session;

    можно уточнить запрос с помощью where, например, так:

    select sid, serial#, username, machine, program from v$session where username = 'scott';
  2. Находим идентификатор процесса в операционной системе (он нам понадобится для нахождения файла трассировки):
    select p.spid,  s.username, s.machine, s.program from v$session s, v$process p where s.paddr=p.addr;

    нас интересует p.spid

  3. Включаем сбор временной статистики (иначе трассировочные файлы будут появляться с нулевыми временами):
    alter system set timed_statistics=true;
  4. Включаем трассировку сессии:
    begin
    sys.dbms_system.set_ev(131, 1388, 10046, 12, '');
    end;
    /

    Где:

    • 131 - sid из запроса, описанного в п.1;
    • 1388 - serial# оттуда же;
    • 12 - уровень трассировки:
      • 0 - трассировка выключена.
      • 1 - минимальный уровень. результат не отличается от установки параметра sql_trace=true
      • 4 - в трассировочный файл добавляются значения связанных переменных.
      • 8 - в трассировочный файл добавляются значения ожидании событий на уровне запросов.
      • 12 - добавляются, как значения связанных переменных, так и информация об ожиданиях событий.

  5. Выполняем запрос или просто ожидаем какое-то время для сбора статистики и останавливаем трассировку:
    begin
    sys.dbms_system.set_ev(131, 1388, 10046, 0, '');
    end;
    /
  6. Уточняем месторасположение файлов трассировки:
    select value from v$parameter p where name='user_dump_dest';
  7. Переходим в каталог с трассировочными файлами (см. п.6) и обрабатываем трассировочный файл утилитой tkprof для получения "читабельной" информации:
    tkprof db01_ora_1756.trc d:\out.txt

    Файл должен иметь имя следующего вида <ORACLE_SID>_ora_<p.spid>.trc
    Где:

    • <ORACLE_SID> - ORACLE_SID интересующей нас базы;
    • <p.spid> - поле p.spid из запроса, описанного в п.2.
 
Rambler's Top100 бесплатная музыка mp3
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki Donate