2012年9月19日星期三

EBS: trace concurrent program

EBS可以通过Diagnostics功能对用户的操作进行跟踪, 但是该功能产生的trace文件并不包含concurrent program的运行记录. 如果需要追踪并发程序, 则需要采用另外的方法. 本文以Item Cost Detail Report (XML)这个并发请求为例.

首先切换到Application Developer职责, Concurrent -> Program, 打开并行程序的录入界面, 设置对该程序进行trace:


切换到OPM FINANCIALS职责, View -> Requests提交一个新的请求并记下该请求id:


使用以下sql查看trace文件的编号:
select oracle_process_id from fnd_concurrent_requests where request_id = 39870453
-- 返回 4265
进入EBS oracle server的user_dump_dest目录:
--user_dump_dest, where?
select value from v$parameter where name = 'user_dump_dest'
--在该目录下执行
ls | grep 4265*trc
返回的结果就是该并发程序的trace文件了.

[update@2012/10/08]
使用上述方法生成的trace文件是没有绑定变量(binds)信息的, 可以通过以下方法得到.
首先从Note 179848.1下载bde_system_event_10046.sql, 在运行concurrent request之前
执行该脚本, 按照提示打开对所有new sessions的trace, 如下图:


另外, 记住在并行程序执行完成之后按下enter键关闭trace.

--TODO--

没有评论:

发表评论