06.02.2013

Трассировка concurrent-процесса

Получение трассы с последующим чтением с помощью TKPROF
Прежде всего, включаем режим трассировки в настройках канкарента:


 После запуска канкарента получаем CONCURRENT_ID и вставляем в запрос:

SELECT 'Request id: ' || request_id,
       'Trace id: ' || oracle_Process_id,
       'Trace Flag: ' || req.enable_trace,
       'Trace Name:
' || dest.value || '/' || dbnm.value || '_ora_' || oracle_process_id ||
        '.trc',
       'Prog. Name: ' || prog.user_concurrent_program_name,
       'File Name: ' || execname.execution_file_name ||
       execname.subroutine_name,
       'Status : ' || decode(phase_code, 'R', 'Running') || '-' ||
       decode(status_code, 'R', 'Normal'),
       'SID Serial: ' || ses.sid || ',' || ses.serial#,
       'Module : ' || ses.module
  from fnd_concurrent_requests    req,
       v$session                  ses,
       v$process                  proc,
       v$parameter                dest,
       v$parameter                dbnm,
       fnd_concurrent_programs_vl prog,
       fnd_executables            execname
 where req.request_id = &P_CONCURRENT_ID
   and req.oracle_process_id = proc.spid(+)
   and proc.addr = ses.paddr(+)
   and dest.name = 'user_dump_dest'
   and dbnm.name = 'db_name'
   and req.concurrent_program_id = prog.concurrent_program_id
   and req.program_application_id = prog.application_id
   and prog.executable_application_id = execname.application_id
   and prog.executable_id = execname.executable_id;
Путь к трассе - в Trace Name

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