oracle 10046跟踪详细步骤

跟踪会话的级别

Level 1:跟踪SQL语句,等于sql_trace=true
Level 4:包括变量的详细信息
Level 8:包括等待事件
Level 12:包括绑定变量与等待事件
16 在11g中为每一次执行生成STAT信息,仅在11.1之后可用
32 比level 1少执行计划
64 和level 1 相比 在第一次执行后还可能生成执行计划信息 ; 条件是某个游标在前一次执行的前提下 运行耗时变长了一分钟。仅在 11.2.0.2中可用
Level 28 (4 + 8 + 16) 代表 同时启用 level 4 、level 8、level 16
level 68 ( 64 + 4 ) 代表 同时启用 level 64、level 4

当前会话

1.开启10046跟踪
alter session set events ‘10046 trace name context forever,level 12’;

2.设置trace的标识
alter session set tracefile_identifier=‘feng’

3.执行sql
xxxxxxx

4.关闭10046跟踪
alter session set events ‘10046 trace name context off’;

5.定位此次的trace文件位置
select distinct(m.sid),p.pid,p.tracefile from v m y s t a t m , v mystat m,v mystatm,vsession s,v$process p where m.sid=s.sid and s.paddr=p.addr;

6.输出
tkprof orcl_ora_3576_feng.trc orcl_ora_3576_feng.txt

其他会话

查出spid和pid
select spid,pid from v$process where addr in (select paddr from v$session where sid=(要查的sid));

SPID PID
—— ——
57994 63

选定spid
Oradebug setospid 57994

取消对trace文件大小的限制
Oradebug unlimit;

开启10046
oradebug event 10046 trace name context forever,level 12;

查看trace地址
oradebug tracefile_name;

转化trace文件
tkprof orcl_ora_3576_feng.trc orcl_ora_3576_feng.txt

关闭10046(一定要关闭)
Oradebug event 10046 trace name context off;

参数介绍

count = OCI过程执行的次数
CPU = CPU时间,以秒为单位执行
Elapsed =以秒为单位的执行时间
Disk =从磁盘读取缓冲区的物理次数
Query =为一致性读取而获得的缓冲区数量
Current =在当前模式下获得的缓冲区数量(通常用于更新)
Rows =由取回或执行调用处理的行数

例子:

部分内容
在这里插入图片描述

递归深度2。(如果为0就是非递归sql。来自外部(普通SQL)还来自数据库本身(递归SQL)。jdbc也算非递归。
在这里插入图片描述

总体所有递归语句汇总和 非递归语句汇总
在这里插入图片描述

  • 24
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汪灵骅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值