EBS开发技术之trace

trace的目的

trace主要是用于程序调优,优化,程序bug调试,程序运行系统情况跟踪

 

trace步骤

1.并发定义中,勾上“启用跟踪”

2.提交一个请求,得到请求编号

注意:用完之后,将启用追踪去掉,以免生成大量无用的 log 文件,占用服务器资源

3.获取并发程序日志目录:SELECT * FROM v$parameter t WHERE t.NAME = 'user_dump_dest'

4.用数据库用户登陆linux切换到上面查找出的目录:tkprof *XX.trc $HOME/XX.fchela.txt sort=fchela将trc转化为txt。sort=fchela。按执行时间倒序排列

5.用数据库用户登陆服务器:对应目录,找到文件

当然也可以用下面的 sql 语句查找 trace 文件


 

  1. "font-size:18px;">select fcr.request_id "Request ID",  
  2. p1.value "Trace Directory",  
  3. '*' || fcr.oracle_process_id || '*.trc' "Trace File format",  
  4. fcp.user_concurrent_program_name "Program"  
  5. from fnd_concurrent_requests    fcr,  
  6. v$parameter                p1,  
  7. fnd_concurrent_programs_tl fcp  
  8. where p1.name = 'user_dump_dest'  
  9. and fcp.language = 'US'  
  10. and fcr.concurrent_program_id = fcp.concurrent_program_id  
  11. and fcr.program_application_id = fcp.application_id  
  12. and fcr.request_id = &request_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 fnd_concurrent_requests    req,  
  14. v$session                  ses,  
  15. v$process                  proc,  
  16. v$parameter                dest,  
  17. v$parameter                dbnm,  
  18. fnd_concurrent_programs_vl prog,  
  19. 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;  


 

 FORM的trace

在任意想要 trace 的界面上,点菜单栏上的帮助->诊断->跟踪>选择一个跟踪的选择即可。
点完之后,界面提示 trace 文件存放位置及文件名

Report trace

需要在 report 开发时修改下面内容
1.Add "SRW.USER_EXIT('FND SRWINIT');" in before report trigger
2. Add "SRW.USER_EXIT('FND SRWEXIT');" in after report trigger
3. Add a parameter P_CONC_REQUEST_ID in User Parameters
这样就可以拥有启用跟踪的功能

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

转载于:http://blog.itpub.net/22816976/viewspace-1442580/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值