Oracle执行语句跟踪(2)——使用10046事件实现语句追踪
接上篇博文Oracle执行语句跟踪(1)——使用sql trace实现语句追踪,一旦我们通过会话追踪获取到超时事物的执行语句,就可以使用10046事件对语句进行追踪。
启用10046事件追踪的方式
SQL> alter session set events '10046 trace name context forever ,level 12' ;
SQL> alter session set events '10046 trace name context off' ;
从上面语句可以看出追踪的是当前正在使用的会话,在两个语句之间可以放入我们需要分析的语句。
获取trace文件
在当前sqlplus会话下,可以通过以下语句获得trace文件的数字编号。其中SPID即为trace文件的数字编号,一般的组成方式为实例名_ora_SPID.ora
select b.sid,b.SADDR,c.ADDR,c.PID,c.SPID from v$session b,v$process c
where b.SID=(select distinct sid from v$mystat)
and b.PADDR=c.ADDR;
trace文件的解析一样可以使用tkprof。
tkprof INST_ora_3370.trc INST_ora_3370.trc explain=test/test
用于监控的脚本
为了同时更好的分析查实事件,我写了一个脚本用于同时获取外部时间计时同时生成trace文件。
prompt written by camash
prompt Importing table ...
set trimspool on;
set linesize 120;
set pagesize 2000;
set newpage 1;
set heading off;
set term off;
spool test_formal_4.txt;
set feedback off
set define off
var t1 varchar2(20)
var t2 varchar2(20)
set timing on
alter session set events '10046 trace name context forever ,level 12' ;
exec :t1:=to_char(SYSTIMESTAMP,'hh24:mi:ss.ff3');
prompt written by camash
prompt Importing table ...
set trimspool on;
set linesize 120;
set pagesize 2000;
set newpage 1;
set heading off;
set term off;
spool test_formal_4.txt;
set feedback off
set define off
var t1 varchar2(20)
var t2 varchar2(20)
set timing on
alter session set events '10046 trace name context forever ,level 12' ;
exec :t1:=to_char(SYSTIMESTAMP,'hh24:mi:ss.ff3');your sql script
alter session set events '10046 trace name context off' ;prompt Done.
exec :t2:=to_char(SYSTIMESTAMP,'hh24:mi:ss.ff3')
set serverout on
exec dbms_output.put_line('start time: '|| :t1);
exec dbms_output.put_line('end time: '|| :t2);
spool off;
这样每条SQL语句的实际时间就会存放在执行目录的“test_formal_4.txt”文件中,而trace文件将在trace文件目录中生成。
版权说明:camash原创,转载请注明出处 http://www.cnblogs.com/shenfeng/
--EOF--
Oracle执行语句跟踪(2)——使用10046事件实现语句追踪的更多相关文章
- Oracle执行语句跟踪(1)——使用sql trace实现语句追踪
系统上的某个接口提交数据经常超时(超过3秒),而我单独在后台数据库(Oracle)执行insert,只需要17ms.提交数据的客户端没有任何的调试日志,只能通过跟踪后台语句记录实际调用过程中的数据库执 ...
- Oracle警告、跟踪文件(10046、死锁等跟踪)
跟踪文件由各个后台进程生成,警报日志中记录关键操作包括: ·所有启动和关闭命令,包括中间命令,如alter database mount ·实例的所有内部错误(ORA-600错误,只能 ...
- SQL Tuning 基础概述03 - 使用sql_trace和10046事件跟踪执行计划
1.使用sql_trace跟踪执行计划 1.1 当前session跟踪: alter session set sql_trace = true; //开始sql_trace alter session ...
- Oracle 课程八之性能优化之10046事件
Oracle 的事件很多. 具体参考blog: Oracle 跟踪事件 set event 转摘:http://blog.csdn.net/tianlesoftware/archive/2009/12 ...
- Oracle SQL Trace 和 10046 事件
http://blog.csdn.net/tianlesoftware/article/details/5857023 一. SQL_TRACE 当SQL语句出现性能问题时,我们可以用SQL_TRAC ...
- 10046事件sql_trace跟踪
查看 sql 执行计划的方法有许多种, 10046 事件就是其中的一种. 与其他查看 sql 执行计划不同, 当我们遇到比较复杂的 sql 语句, 我们可以通过 10046 跟踪 sql 得到执行计划 ...
- 深入理解Oracle调试事件:10046事件详解
10046事件是SQL_TRACE的扩展,被戏称为"吃了兴奋剂的SQL_TRACE" 有效的追踪级别: ① 0级:SQL_TRACE=FASL ...
- 10046事件跟踪会话sql
背景知识: 10046 事件按照收集信息内容,可以分成4个级别: Level 1: 等同于SQL_TRACE 的功能 Level 4: 在Level 1的基础上增加收集绑定变量的信息 Level 8: ...
- oracle 执行跟踪
一.sql_trace的介绍 --打开trace文件设置,把sql trace设置为true,就会在udump目录中增加一个trc文件.alter session set sql_trace=true ...
随机推荐
- BroadcastReceiver的实例----基于Service的音乐播放器之二
该程序的后台Service会在播放状态发生改变时对外发送广播(广播将会激发前台Activity的BroadcastReceiver):它也会采用BroadcastReceiver监听来自前台Activ ...
- LinearLayout练习
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- 二分搜索法(转载自vanezkw)
二分查找算法java实现 今天看了一下JDK里面的二分法是实现,觉得有点小问题.二分法的实现有多种今天就给大家分享两种.一种是递归方式的,一种是非递归方式的.先来看看一些基础的东西. 1.算法概念. ...
- QQ2013登录报文简单分析(不可用于非法用途)
[NO.1 2013-05-08 00:31:16 046 SEND 115字节]02 31 03 08 25 27 B5 88 6F 91 D2 03 00 00 00 0101 01 00 00 ...
- $modal
$scope.open = function (size,data) {var modalInstance = $modal.open({ templateUrl: 'myModalContent.h ...
- 获取Android系统的版本号
int currentVersion = android.os.Build.VERSION.SDK_INT;
- matlab 画框(二) 去白边
在matlab图像处理中,为了标识出图像的目标区域来,需要利用plot函数或者rectangle函数,这样标识目标后,就保存图像. 一般saves保存的图像存在白边,可以采用imwrite对图像进行保 ...
- C语言中输入输出函数
1.1.1 格式化输入输出函数Turbo C2.0 标准库提供了两个控制台格式化输入. 输出函数printf() 和scanf(), 这两个函数可以在标准输入输出设备上以各种不同的格式读写数据.pri ...
- SharePoint 2016 的新特性概览(二)(What's New for IT Professionals in SharePoint Server 2016)
博客地址:http://blog.csdn.net/FoxDave SharePoint 2016 的新特性 三. 监测和数据(Insights and Data) 实时数据监测,包括对使用情况.存储 ...
- IntelliJ IDEA 12.0
User name:JavaDeveloper Serial number:92547-KY2BB-QZ0S1-PEZCV-HUT8Q-6RYY4