工具04_SQL Trace/DBMS_SYSTEM-阿里云开发者社区

开发者社区> 东方瀚海鲍> 正文

工具04_SQL Trace/DBMS_SYSTEM

简介: 2014-06-25 Created By BaoXinjian 一、摘要 SQL TRACE是Oracle提供的用于进行SQL跟踪的手段,是强有力的辅助诊断工具。在日常的数据库问题诊断和解决中,SQL TRACE是非常常用的方法。
+关注继续查看

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





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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
理解和使用Oracle分析工具LogMiner
用LogMiner             理解和使用Oracle   8i分析工具LogMiner                 Oracle   LogMiner   是Oracle公司从产品8i以后提供的一个实际非常有用的分析工具,使用该工具可以轻松获得Oracle   重作日志文件(归档日志文件)中的具体内容,特别是,该工具可以分析出所有对于数据库操作的DML(insert、update、delete等)语句,另外还可分析得到一些必要的回滚SQL语句。
1177 0
【原】oracle高级工具之tkporf
作者:david_zhang@sh 【转载时请以超链接形式标明文章】 链接:http://www.cnblogs.com/david-zhang-index/archive/2012/08/16/2642261.
846 0
微软轻量级系统监控工具sysmon原理与实现完全分析(下篇)
上文讲解了sysmon的ring3部分实现原理,本文则开始讲解ring0部分。Sysmon的ring0是一个minifilter类型的驱动,内部实现了进程信息、文件访问信息以及注册表访问信息的记录,下面开始具体讲解它的实现流程。 驱动DriverEntry的初始化 从DriverEntry(PDRIVER_OBJECT DriverObject, UNICODE_STRING *pRe
1182 0
rac中的cluvfy检查工具使用
1、验证的系统的需求在安装ORACLE RAC的时候cluvfy comp sys -n all -p {database,crs} -verbose2、检查是否有共享存储cluvfy comp ssa -n all -verbose3、检查节点间的连同性clu...
674 0
Linux性能测试 KSysguard工具
KDE System Guard (KSysguard)是KDE的任务管理和性能监控工具。它采用client/server架构,可以监控本机也可以监控远端主机。 KDE System Guard默认的窗口 前端图形界面使用传感器(sensors)获得要显示的信息。
832 0
TraceView性能分析工具介绍
一、TraceView简介       TraceView是AndroidSDK里面自带的工具,用于对Android的应用程序以及Framework层的代码进行性能分析。       TraceView是图形化的工具,最终它会产生一个图表,用于对性能分析进行说明。       TraceView可以跟踪到具体的Method     二、TraceView的原理       T
1261 0
518
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载