利用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.DATABASE_TRACE_ENABLE(true, true);

EXEC DBMS_MONITOR.DATABASE_TRACE_DISABLE();

(开启数据库级的trace,目的是为了跟踪SQL。)

利用everything搜索.trc找到Trace file。

udump中一般放置sql trace之后session的trace文件,按时间排列找打最近生成

的.trc文件,用notpad++打开,查找对应SQL语句,把值替换到SQL语句中,在

PLSQL Developer执行SQL语句。

Select D.Process_Name "Process Name",

D.Process_Code "Process Code",

count(A.WIP_QTY) QTY

From SAJET.G_SN_STATUS A,

SAJET.G_WO_BASE B,

SAJET.SYS_PDLINE C,

SAJET.SYS_PROCESS D,

SAJET.SYS_PART E,

sajet.sys_stage f,

sajet.sys_terminal g,

SAJET.SYS_FACTORY L

WHERE L.FACTORY_CODE = ‘HE‘

AND C.PDLINE_NAME = ‘FAB1‘

AND B.WORK_ORDER = ‘0001302E0002‘

AND E.PART_NO = ‘10000015‘

AND f.stage_name = ‘C‘

AND D.PROCESS_NAME = ‘激光扫边‘

AND g.TERMINAL_NAME = ‘LAS3-001‘

AND a.OUT_PROCESS_TIME <=

to_date(‘2015-4-1 00:00:00‘, ‘yyyy-mm-dd hh24:mi:ss‘)

AND C.FACTORY_ID = L.FACTORY_ID

and A.WORK_ORDER = B.WORK_ORDER

and A.WIP_PROCESS <> 0

and A.PART_ID = E.PART_ID

and A.PDLINE_ID = C.PDLINE_ID

and A.WIP_PROCESS = D.PROCESS_ID

AND a.STAGE_ID = f.STAGE_ID

AND a.TERMINAL_ID = g.TERMINAL_ID

and A.WORK_FLAG = ‘0‘

and B.WO_STATUS < ‘5‘

Group By D.Process_Name, D.Process_Code

Order By D.Process_Code, D.Process_Name

同理可查细项。

Select A.WORK_ORDER "Work Order",

A.SERIAL_NUMBER "Serial Number",

A.CUSTOMER_SN "Customer SN",

Decode(A.CURRENT_STATUS, ‘1‘, ‘NG‘, ‘‘) "Status",

C.PDLINE_NAME "Production Line",

D.PROCESS_NAME "WIP Process",

A.OUT_PROCESS_TIME "Out Process Time",

F.EMP_NAME "Employee"

From SAJET.G_SN_STATUS A,

SAJET.G_WO_BASE B,

SAJET.SYS_PDLINE C,

SAJET.SYS_PROCESS D,

SAJET.SYS_EMP F,

SAJET.SYS_FACTORY L

where L.FACTORY_ID = C.FACTORY_ID

and D.PROCESS_NAME = ‘激光扫边‘

and C.PDLINE_NAME = ‘FAB1‘

and L.FACTORY_CODE = ‘HE‘

and B.WORK_ORDER = ‘0001302E0002‘

and a.OUT_PROCESS_TIME <=

to_date(‘2015-4-1 00:00:00‘, ‘yyyy-mm-dd hh24:mi:ss‘)

and A.WORK_ORDER = B.WORK_ORDER

and A.PDLINE_ID = C.PDLINE_ID

and A.WIP_PROCESS = D.PROCESS_ID

and B.WO_STATUS < ‘5‘

and A.WORK_FLAG = ‘0‘

and A.EMP_ID = F.EMP_ID(+)

Order by "Serial Number"aa

时间: 2024-11-13 09:48:46

利用Trace file查找程序发出的SQL的相关文章

EBS获取并发程序Trace File

http://blog.itpub.net/16832682/viewspace-1249765/ 最近因为项目上出现了PL/SQL性能的问题,因此需要对已经开发好的并发程序进行调优的工作.调优有个很重要的步骤就是获取并发程序的trace file,从而才能知道是哪一段SQL出现了问题.下面就针对如何获取并发程序的trace file做个归纳:1.在并发程序注册页面启动跟踪功能:2.提交并发,待并发跑完之后获取trace ID,可以用如下代码来完成: SELECT 'Request id: '

如何在mysql查找效率慢的SQL语句

如何在mysql查找效率慢的SQL语句呢?这可能是困然很多人的一个问题,MySQL通过慢查询日志定位那些执行效率较低的SQL 语句,用--log-slow-queries[=file_name]选项启动时,mysqld 会写一个包含所有执行时间超过long_query_time 秒的SQL语句的日志文件,通过查看这个日志文件定位效率较低的SQL .下面介绍MySQL中如何查询慢的SQL语句 一.MySQL数据库有几个配置选项可以帮助我们及时捕获低效SQL语句 1,slow_query_log 这

利用反射api查找一个类的详细信息

说到这个实例,首先介绍下本人,我是一个php程序员,从事drupal开发2年多,可以说从实习开始就接触这个,至今没有换过,drupal给我的感觉是俩字"强大",今天写一个views的字段,然后需要继承views的views_handler_field类,还要自己实现里面的一些方法,走一些自己的配置设置,查看这个类的时候,发现实在是太多信息了,并且做了好些继承,于是我就想要是能实现一个功能,传入一个类名,然后就能返回类的所有信息(包括,属性,方法,继承,接口,并且这些类所放置的文件位置,

无core文件根据系统日志查找 程序core信息

由于系统没有设置core文件大小 [828][@zw_52_72 iproxy]# ulimit -a core file size          (blocks, -c) 0 data seg size           (kbytes, -d) unlimited scheduling priority             (-e) 0 file size               (blocks, -f) unlimited pending signals          

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文

Oracle的跟踪文件(trace file)

跟踪文件通常都是因为通过DBMS_MONITOR(在Oracle Database 9i Relese 2)及更早版本中则是ALTER SESSION SET SQL_TRACE=TRUE启用了跟踪的结果,或者是通过10046事件使用扩展的跟踪工具生成的,如下 这些跟踪文件包含与诊断和性能有关的信息.它们对于了解数据库应用的内部工作有着非凡的意义.在一个正常运行的数据库中,你会经常看到这些跟踪文件,而且远比看到其他类型的跟踪文件多得多. 1 文件位置 不论是使用DBMS_MONITOR.SQL_

VS2005(vs2008,vs2010)使用map文件查找程序崩溃原因

VS 2005使用map文件查找程序崩溃原因 一般程序崩溃可以通过debug,找到程序在那一行代码崩溃了,最近编一个多线程的程序,都不知道在那发生错误,多线程并发,又不好单行调试,终于找到一个比较好的方法来找原因,通过生成map文件,由于2005取消map文件生成行号信息(vc6.0下是可以生成行号信息的,不知道microsoft怎么想的,在2005上取消了),只能定位在那个函数发生崩溃.这里可以通过生成cod文件,即机器码这一文件,具体定位在那一行崩溃. 首先配置vc2005生成map文件和c

单词查找程序

在一个文件中查找指定单词所在的行,简单实现了,没有进行异常处理: #include<stdio.h> #include<string.h> int main() { int maxword=1024; int i=0; char word[50]; char line[maxword]; FILE *fp=fopen("a.txt","r"); printf("请输入要查找的单词\n"); scanf("%s&q

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中,否则就会抱错,然后程序意外停