工具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 - 鲍新建
相关文章
|
2月前
|
SQL 数据可视化 安全
微软SQL Server可视化工具与技巧
微软SQL Server不仅提供了强大的数据库管理功能,还集成了多种可视化工具,帮助用户更直观地理解和管理数据
|
2月前
|
SQL 数据可视化 关系型数据库
【数据库工具】DBeaver:一款免费的通用数据库工具和 SQL 客户端
【数据库工具】DBeaver:一款免费的通用数据库工具和 SQL 客户端
144 1
|
4月前
|
SQL 数据处理 数据库
|
4月前
|
SQL 存储 监控
|
4月前
|
Java 开发者 前端开发
Struts 2、Spring MVC、Play Framework 上演巅峰之战,Web 开发的未来何去何从?
【8月更文挑战第31天】在Web应用开发中,Struts 2框架因强大功能和灵活配置备受青睐,但开发者常遇配置错误、类型转换失败、标签属性设置不当及异常处理等问题。本文通过实例解析常见难题与解决方案,如配置文件中遗漏`result`元素致页面跳转失败、日期格式不匹配需自定义转换器、`<s:checkbox>`标签缺少`label`属性致显示不全及Action中未捕获异常影响用户体验等,助您有效应对挑战。
94 0
|
4月前
|
SQL 存储 数据处理
SQL中的运算符:数据操作的核心工具
【8月更文挑战第31天】
180 0
|
SQL Oracle 关系型数据库
|
SQL Oracle 关系型数据库
使用SQL_TRACE进行数据库诊断
SQL_TRACE是Oracle提供的用于进行SQL跟踪的手段,是强有力的辅助诊断工具.在日常的数据库问题诊断和解决中,SQL_TRACE是非常常用的方法。
801 0
|
3月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")