ITPub博客

首页 > 数字化转型 > ERP > EBS获取并发程序Trace File

EBS获取并发程序Trace File

原创 ERP 作者:yudi117 时间:2014-08-12 12:04:33 0 删除 编辑
最近因为项目上出现了PL/SQL性能的问题,因此需要对已经开发好的并发程序进行调优的工作。调优有个很重要的步骤就是获取并发程序的trace file,从而才能知道是哪一段SQL出现了问题。
下面就针对如何获取并发程序的trace file做个归纳:
1.在并发程序注册页面启动跟踪功能;

2.提交并发,待并发跑完之后获取trace ID,可以用如下代码来完成:

点击(此处)折叠或打开

  1. SELECT \'Request id: \' || request_id,
  2.        \'Trace id: \' || oracle_process_id,
  3.        \'Trace Flag: \' || req.enable_trace,
  4.        \'Trace Name: \' || dest.value || \'/\' || lower(dbnm.value) || \'_ora_\' ||
  5.        oracle_process_id || \'.trc\',
  6.        --\'Prog. Name: \'||prog.user_concurrent_program_name,
  7.        \'File Name: \' || execname.execution_file_name ||
  8.        execname.subroutine_name,
  9.        \'Status : \' || decode (phase_code, \'R\', \'Running\') || \'-\' ||
  10.        decode(status_code, \'R\' , \'Normal\'),
  11.        \'SID Serial: \' || ses.sid || \',\' || ses.serial#,
  12.        \'Module : \' || ses.module
  13.   FROM apps.fnd_concurrent_requests req,
  14.        v$session ses,
  15.        v$process proc,
  16.        v$parameter dest,
  17.        v$parameter dbnm,
  18.        apps.fnd_concurrent_programs_vl prog,
  19.        apps.fnd_executables execname
  20.  WHERE req.request_id = &request
  21.    AND req.oracle_process_id = proc.spid(+)
  22.    AND proc.addr = ses.paddr(+)
  23.    AND dest.name = \'user_dump_dest\'
  24.    AND dbnm.name = \'db_name\'
  25.    AND req.concurrent_program_id = prog.concurrent_program_id
  26.    AND req.program_application_id = prog.application_id
  27.    AND prog.application_id = execname.application_id
  28.    AND prog.executable_id = execname.executable_id;
在sql执行完获取Trace Name列的值,进入对应目录下:

3.利用tkprof文件解析trc文件:


4.用Filezilla等FTP工具登陆到对应的目录下,并将生成的tkp文件down到本地

5.用记事本或者Notepad++等文档编辑工具打开下载下来的tkp文件:

最后的事情,那就是一句句的查看sql,看具体哪一段sql消耗比较大。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16832682/viewspace-1249765/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-06-25

  • 博文量
    3
  • 访问量
    22827