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消耗比较大。
EBS获取并发程序Trace File的更多相关文章
- oracle ebs中并发程序定义查询sql
---concurrent program define SELECT FCPV.CONCURRENT_PROGRAM_ID, FCPV.CONCURRENT_PROGRAM_NAME, FCPV.U ...
- EBS开发技术之trace
trace的目的 trace主要是用于程序调优,优化,程序bug调试,程序运行系统情况跟踪 trace步骤 1.并发定义中,勾上"启用跟踪" 2.提交一个请求,得到请求编号 注意: ...
- [AIR] 利用File获取应用程序根目录
import flash.filesystem.File; var file1:File = new File(File.applicationDirectory.resolvePath(" ...
- EBS 并发程序运行信息
--并发程序运行信息SELECT REQUEST_ID, PROGRAM, actual_start_date 开始日期, ACTUAL_COMPLETION_DA ...
- 获取应用程序信息.h
//// 获取应用程序信息.h// IOS笔记// 一般会用来判断是否有新版本.是否需要强制更新 iOS的版本号,一个叫做Version,一个叫做Build,这两个值都可以在Xcode 中选中ta ...
- android学习——error opening trace file: No such file or directory (2)
1.疑惑: 程序运行起来的时候日志总是显示下面这个错误,但是不影响程序的正常进行,我是用真机来测试的,android4.4.4(API17). 02-11 14:55:03.629 15525-155 ...
- 【Android】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 ...
- 转://oracle deadlock死锁trace file分析之一
---oracle versionSQL> select * from v$version where rownum=1;BANNER------------------------------ ...
- android——error opening trace file: No such file or directory (2)
1.疑惑: 程序运行起来的时候日志总是显示下面这个错误,但是不影响程序的正常进行,我是用真机来测试的,android4.4.4(API17). 02-11 14:55:03.629 15525-155 ...
随机推荐
- 利用gulp搭建less编译环境
什么是less? 一种 动态 样式 语言. LESS 将 CSS 赋予了动态语言的特性,如 变量, 继承, 运算, 函数. LESS 既可以在 客户端 上运行 (支持IE 6+, Webkit, ...
- magento中根据用户的id获取用户的所有订单以及每个订单中的物品 以及物品的相关属性
本篇文章是对于已经有了magento基础的人而言,在某个模块的额controller中写任意一个函数. public function goodbyeAction() { for ($customer ...
- python SQLAlchemy对象映射和json.dumps无法序列化问题解决
from flask import Flask from flask_sqlalchemy import SQLAlchemy import Config2 import pymysql import ...
- 堆和索引堆的实现(python)
''' 索引堆 ''' ''' 实现使用2个辅助数组来做.有点像dat.用哈希表来做修改不行,只是能找到这个索引,而需要change操作 还是需要自己手动写.所以只能用双数组实现. #引入索引堆的核心 ...
- centos6.5虚拟机每次都要ifup eth0的解决办法
修改文件/etc/sysconfig/network-scripts/ifcfg-eth0把ONBOOT=no改ONBOOT=yes
- App上架流程[利用Archive进行上传]
作者 M_Lee2016.01.22 10:47 写了14852字,被32人关注,获得了49个喜欢 [iOS]App上架流程[利用Archive进行上传] 字数2186 阅读507 评论3 喜欢9 今 ...
- Ajax复习
1.标准请求响应时浏览器的动作(同步操作) 1.1 浏览器请求什么资源,跟随显示什么资源 2.ajax:异步请求: 2.1 局部刷新,通过异步请求,请求到服务器资源数据后,通过脚本修改页面中部分内容 ...
- nginx反向代理缓存服务器的构建
一:代理服务可简单的分为正向代理和反向代理: 正向代理:用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请求先发送 ...
- 阿里云oss视频上传不能在线播放,js,javascript,在线播放器,插件
网页视频播放插件 发现阿里云oss储存,上传了视频不能在线播放. 解决方法:使用插件播放即可解决. <html> <head> <meta charset="u ...
- thinkphp3.2.3 数据库增删改查
版本3.23 1. 多表查找一条数据 M('a表')->join("b表 on b表.id=a表.id")->where('条件')->find(); 2.查找一 ...