跟踪(Trace)并发请求

Posted on May 28, 2008

Oracle EBS中跟踪form执行非常简单,可以直接在菜单:帮助->诊断->跟踪 中启用跟踪功能。对于并发请求,稍见麻烦。

如果要对某个并发程序进行跟踪,则先进系统管理员职责,在并发程序定义界面找到该并发程序,勾选“启用跟踪”。在运行该请求的时候,会自动启用跟踪功能。如果需要跟踪绑定变量,要先执行bde_system_event_10046.sql (参考metalink:179848.1)。

用以下SQL找到相应的trc文件:

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;

一个请求产生的trace文件可能达到几十至数百兆,最后可别忘了关闭跟踪功能。

Related Posts

  1. 关闭功能顾问的那些诊断模式
  2. MPS Relief Worker
  3. 使用EBS日志功能
  4. 跟踪(Trace) SSA (Self Service Applications)
  5. 监控EBS用户执行

» Filed Under E-Business Suite Print This Post Print This Post

Comments

2 Responses to “跟踪(Trace)并发请求”

  1. Sean on January 4th, 2010 13:10

    有用!
    收!

  2. lifandong on March 22nd, 2010 15:56

    学习了,这网站可真清爽,资料也很多

Leave a Reply