sábado, 20 de março de 2010

Como localizar arquivos gerados pelo Trace

Opa!

Quando queremos analisar o desempenho de um programa, utilizamos um processo chamado TRACE. O TRACE analisa a execução de um programa, fornecendo alguns dados para que possamos entender como o otimizador do banco de dados executou determinados comandos SQL que por ventura existam dentro do programa que esta sendo monitorado. Estes dados são guardados dentro de um arquivo com a extensão “.trc”, que fica gravado em um diretório do servidor. A QUERY abaixo pode ser utilizada para mostrar onde estes arquivos foram gerados e salvos. Basta informarmos o id da solicitação (id do concorrente), representado na QUERY por “&request”.

select 'Request id: '||request_id ,
       'Trace   id: '||oracle_Process_id,
       'Trace Flag: '||req.enable_trace,
       'Trace Name: '||dest.value||'/'||lower(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             = &request
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.application_id        = execname.application_id
and    prog.executable_id         = execname.executable_id


Embora, nosso exemplo esteja sendo focado para o Oracle Application, o comando TRACE pode ser utilizado para outros programas e comandos SQL que não fazem parte desta suíte de aplicativos.
 

Forte abraço!

Nenhum comentário:

Postar um comentário