EBS获取并发程序Trace File

http://blog.itpub.net/16832682/viewspace-1249765/

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

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

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 || ‘_ANONYMOUS.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_ID
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

在sql执行完获取Trace Name列的值,进入对应目录下:

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

tkprof erpprd_ora_10481_2510.trc /tmp/2510.trc


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

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

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

时间: 2024-10-26 20:52:23

EBS获取并发程序Trace File的相关文章

oracle ebs中并发程序定义查询sql

SELECT DISTINCT fa.APPLICATION_SHORT_NAME, fa.BASEPATH, fat.APPLICATION_NAME, fe.EXECUTABLE_NAME, fe.EXECUTION_FILE_NAME, fcp.CONCURRENT_PROGRAM_NAME, fcp.OUTPUT_FILE_TYPE, fcp.OUTPUT_PRINT_STYLE, fcpT.USER_CONCURRENT_PROGRAM_NAME, fcpT.LANGUAGE, fcp

EBS 并发程序运行信息

--并发程序运行信息SELECT REQUEST_ID,       PROGRAM,       actual_start_date 开始日期,       ACTUAL_COMPLETION_DATE 完成日期,       ROUND((TO_NUMBER(ACTUAL_COMPLETION_DATE - actual_start_date) * 24 * 60) / 60,             2) RUN_TIME,       '小时' 单位,       LAST_UPDATE

利用Trace file查找程序发出的SQL

Trace file(追踪文件)是以trc为后续的文本文件,它记录了各种sql操作及所消耗的时 间等,根据trace文件我们就可以了解哪些sql导致了系统的性能瓶颈,进而采取恰当的 方式调优. 查询生产报表—所有制程的WIP: show parameter sql_trace; (如果value是false表示系统当前不会产生trace文件.采取如下操作让系统产生trace 文件.) alter session set sql_trace=true; EXEC DBMS_MONITOR.DATA

error opening trace file: No such file or directory (2)

1.问题描述: 运行报错: 12-25 13:35:32.286: E/Trace(1202): error opening trace file: No such file or directory (2) 注:虽然报错,但程序仍然能运行..... 2.问题分析: (1)网上的一些说法: 很多人在编写Android代码的时候都会遇到这个错误,按照字面翻译是“没有这类文件或者是目录”很多人不解为什么系统会提示这样的错误呢?明明就有啊.其实系统是找不到文件或者是目录! 很多人在写了很多class文

获取当前程序路径

1. 本来想用java中的方式的,网上查到一些信息,我的测试代码如下: 1 String str = System.getProperty("java.class.path"); 2 String strUsrDir = System.getProperty("usr.dir"); 3 URL url = this.getClass().getResource(""); // **Test1.class 即 Class.forName("

error opening trace file: No such file or directory (2)错误解决方法

在练习项目的时候报错    error opening trace file: No such file or directory (2)字面意思是找不到文件,实际上也就是找不到文件,查了其他人的解决方法后还是没解决.突然想到新版本的创建布局文件的时候都有两个一个是文件名命名的xml布局文件另一个是,如上图示,当不与java代码交互的时候布局文件写入fragment_main.xml显示没问题,当涉及到与java代码交互时必须放到activity_main.xml中,否则就会抱错,然后程序意外停

android 错误 error opening trace file:

============问题描述============ E/Trace(28187): error opening trace file: No such file or directory (2) 今天Eclipse中出现了这个错误, 我只知道在Linux系统中有个trace命令,跟踪出现的执行. 不知道怎么解决,请高手指点? ============解决方案1============ 如果是在运行程序时出现的,发详细出错信息以及代码发上来看看. ============解决方案2=====

获取应用程序信息.h

////  获取应用程序信息.h//  IOS笔记// 一般会用来判断是否有新版本.是否需要强制更新 iOS的版本号,一个叫做Version,一个叫做Build,这两个值都可以在Xcode 中选中target,点击“Summary”后看到. Version在plist文件中的key是“CFBundleShortVersionString”,和AppStore上的版本号保持一致,Build在plist中的key是“CFBundleVersion”,代表build的版本号,该值每次build之后都应

oracle中如何使用TKPROF命令查看Trace file

Trace file(追踪文件)是以trc为后续的文本文件,它记录了各种sql操作及所消耗的时间等,根据trace文件我们就可以了解哪些sql导致了系统的性能瓶颈,进而采取恰当的方式调优. 当我们操作oracle数据库,每次都会产生一个会话(session),session中记录了所有操作,这些操作都会记录在trace文件中. 如何使用TKPROF命令查看Trace file: SQL>alter session set sql_trace=true; SQL>select count(*)