2014-06-25 Created By BaoXinjian

一、摘要


SQL TRACE是Oracle提供的用于进行SQL跟踪的手段,是强有力的辅助诊断工具。在日常的数据库问题诊断和解决中,SQL TRACE是非常常用的方法。

一般,一次跟踪可以分为以下几步:

1. 界定需要跟踪的目标范围,并使用适当的命令启用所需跟踪。

2. 经过一段时间后,停止跟踪。此时应该产生了一个跟踪结果文件。

3. 找到跟踪文件,并对其进行格式化,然后阅读或分析。

另文已介绍了其他的跟踪工具DBMS_PROFILER, Form Trace, Request Trace等

二、明细分析


案例: 跟踪自己的Session中的SQL操作

Step1. 查询自己Session的SID和Serial#

Step2. 启动 SQL Trace节点

begin
  dbms_system.set_SQL_TRACE_in_session(497,13413,true);
end;

Step3. 在启动SQL Trace节点中后,进行SQL操作,系统会自动记录该Session中所有的SQL操作记录,直至关闭

Step4. 关闭 SQL Trace节点

begin
  dbms_system.set_sql_trace_in_session(497,13413,false);
end;

Step5. 查看所产生的Trace文件目录

  1. SELECT d.VALUE || '' || LOWER(RTRIM(i.instance, CHR(0))) || '_ora_' ||
  2. p.spid || '.trc' trace_file_name
  3. FROM (SELECT p.spid
  4. FROM v$sesstat m, v$session s, v$process p
  5. WHERE m.statistic# = 1
  6. AND s.sid = m.sid
  7. AND p.addr = s.paddr
  8. AND s.sid = 581) p,
  9. (SELECT t.instance
  10. FROM v$thread t, v$parameter v
  11. WHERE v.name = 'thread'
  12. AND (v.VALUE = 0 OR t.thread# = TO_NUMBER(v.VALUE))) i,
  13. (SELECT VALUE FROM v$parameter WHERE NAME = 'user_dump_dest') d;

Step6. Download该trace

Step7. 在该Trace文件中,可以找到SQL Trace启动和关闭节点之间的SQL,如下图

Step8. 之后也可通过格式化工具tkprof将Trace文件进行格式转化,变成易读文件

tkprof VIS_ora_18295.trc VIS_ora_18295.prf EXPLAIN=jvi2/jvi2_dev SYS=NO SORT=EXECPU,FCHCPU

此步另文已介绍,略过

Thanks and Regards

来自为知笔记(Wiz)

ERP技术讨论群: 288307890
技术交流,技术讨论,欢迎加入
Technology Blog Created By Oracle ERP - 鲍新建

工具04_SQL Trace/DBMS_SYSTEM相关推荐

  1. oracle trace跟踪,浅析Oracle追踪工具SQL Trace的启用方式

    SQL Trace是Oracle提供的用于举行SQL追寻的手段,是强有力的帮助诊断工具.在平时的数据库问题诊断和处理中,SQL TRACE是极其常用的措施. SQL TRACE的顺次追寻能够分为以下几 ...

  2. 前端性能分析工具Dyna Trace使用心得(转)

    什么是dynatrace ajax "dynatrace ajax 是一个详细的底层追踪工具,它不仅可以显示所有请求和文件在网络中传输的时间,还会记录浏览器render,CPU消耗.JS解析 ...

  3. android的dmtracedump工具生成trace文件图片 'dot' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    http://jingyan.baidu.com/article/c910274bfa6c1fcd361d2df7.html http://www.cnblogs.com/albert1017/p/3 ...

  4. MySQL - 使用trace工具来窥探MySQL是如何选择执行计划的

    文章目录 生猛干货 Pre 演示Demo trace工具使用 Trace分析 Trace解读 搞定MySQL 生猛干货 带你搞定MySQL实战,轻松对应海量业务处理及高并发需求,从容应对大场面试 Pr ...

  5. btrace 开源!基于 Systrace 高性能 Trace 工具

    介绍 btrace(又名 RheaTrace) 是抖音基础技术团队自研的一款高性能 Android Trace 工具,它基于 Systrace 实现,并针对 Systrace 不足之处加以改进,核心改 ...

  6. php trace 函数,PHP Trace 实现原理

    phptrace 实现原理 总体介绍 PHPTrace致力于打造一款实时跟踪PHP函数调用,获取PHP函数调用栈信息以及PHP解释器状态的工具,这个PHP工具应该像系统工具strace/pstack一 ...

  7. Linux 内核调试必备工具

    必备工具集 trace perf 对linux系统的优化非常有帮助,有时间可以仔细研究下,首先开个头记录下 关键是可以使用python3 脚本 对系统的数据采样之后进行数据分析,虽然目前还不会对系统的 ...

  8. Java虚拟机详解(七)------虚拟机监控和分析工具(1)——命令行

    通过前面的几篇博客,我们介绍了Java虚拟机的内存分配以及内存回收等理论知识,了解这些知识对于我们在实际生产环境中提高系统的运行效率是有很大的帮助的.但是话又说回来,在实际生产环境中,线上项目正在运行 ...

  9. java dump分析工具_Java虚拟机详解(八)------虚拟机监控和分析工具(2)——可视化...

    大家好,我是可乐,一个专注原创,乐于分享的程序猿. 本系列教程持续更新,可以微信搜索「 IT可乐 」第一时间阅读.回复<电子书>有我为大家特别筛选的海量免费书籍资料 通过前面的几篇博客,我 ...

最新文章

  1. 2018python好找工作吗-2018年IT行业薪资大揭秘:你拖后腿了吗?
  2. 关于word和excel相关的问题---亲测有用
  3. Facebook 最新可佩戴 AR 设备、AR 设备未来五年市场扩张、语音社交新创Swell等|Decode the Week...
  4. 三位数除以两位数竖式计算没有余数_苏教四上期末复习——两、三位数除以两位数...
  5. 华为手机怎么隐藏按键图标_mac桌面图标怎么快速隐藏?
  6. ​面试官口述:我是这样面试web前端开发求职者(有干货)
  7. activity任意节点跳转
  8. 使用LDA模型对新的文档进行分类
  9. oracle 左连接 权限,Oracle 左连接、右连接、全外连接、(+)号作用
  10. 学python可以从事什么工作-学完Python能从事哪些工作?
  11. python控制苹果手机触摸屏失灵怎么办_iPhone6触屏失灵,用一会就失灵,很恼火?...
  12. [python][pandas]pandas数据处理+直方图绘制
  13. 扫雷可以用计算机,接龙扫雷Windows经典游戏原来还有这些用处啊
  14. dropout层加在哪里_神经网络Dropout层中为什么dropout后还需要进行rescale?
  15. 怎样利用闲鱼赚差价?教你在闲鱼卖货赚钱!
  16. python定时发微信消息给心爱的她
  17. vue tab页面缓存处理
  18. 中国三大互联网巨头陷入移动战争
  19. 网页设计与网站规划 作业05 电影宣传效果
  20. CentOS 8安装 GVM20.08

热门文章

  1. 未来农业科技:物联网如何阻止全球粮荒
  2. JAVA实现QQ聊天气泡
  3. codevs 1105 过河
  4. hibernate逆向工程生成的实体映射需要修改
  5. Git常用命令和Github协同流程
  6. [2778]小明的花费预算 (二分查找)SDUT
  7. linux 使cpu使用率升高_linux命令总结(二)
  8. 几种常见自动化测试框架
  9. AWS — AWS Wavelength
  10. 5GS 协议栈 — N2 接口的协议栈(NGAP/N2-SM)