alter session set sql_trace=true;
或者
alter database set sql_trace=true;
确定当前的trace文件
默认路径:
10g -- $ORACLE_BASE/admin/SID/udump
11g -- $ORACLE_BASE/diag/rdbms/orcl/orcl/trace
/* Formatted on 2010/9/1 23:56:24 (QP5 v5.115.810.9015) */ SELECT d.VALUE || '/' || LOWER(RTRIM(i.INSTANCE,CHR(0))) || '_ora_' || p.spid || '.trc' AS"trace_file_name" FROM (SELECT p.spid FROM v$mystat m, v$session s, v$process p WHERE m.statistic# =1AND s.SID=m.SIDANDp.addr = s.paddr)p, (SELECT t.INSTANCE FROM v$thread t, v$parameter v WHERE v.NAME='thread' AND(v.VALUE=0ORt.thread# =TO_NUMBER(v.VALUE))) i, (SELECT VALUE FROM v$parameter WHERE NAME='user_dump_dest') d; |
---设置文件标识然后find查找
alter session set tracefile_identifier='xxxxx';
trc中说明:
PARSING IN CURSOR 部分:
Len: 被解析SQL的长度
Dep: 产生递归SQL的深度
Uid:user id
Otc: Oracle command type 命令的类型
Lid: 私有用户id
Tim:时间戳
Hv: hash value
Ad:SQL address
PARSE,EXEC,FETCH 部分
C: 消耗的CPU time
E:elapsed time 操作的用时
P: physical reads 物理读的次数
Cr: consistent reads 一致性方式读取的数据块
Cu:current 方式读取的数据块
Mis:cursor misss in cache 硬分析次数
R: -rows 处理的行数
Dep: depth 递归SQL的深度
Og: optimizer goal 优化器模式
Tim:timestamp时间戳
STATS 部分:
Id: 执行计划的行源号
Cnt:当前行源返回的行数
Pid:当前行源号的父号
Pos:执行计划中的位置
Obj:当前操作的对象id(如果当前行原始一个对象的话)
Op:当前行源的数据访问操作
------------------========================================
10046事件按照收集信息内容,可以分成4个级别:
Level 1:等同于SQL_TRACE 的功能
Level 4:在Level 1的基础上增加收集绑定变量的信息
Level 8:在Level 1 的基础上增加等待事件的信息
Level 12:等同于Level 4+Level 8, 即同时收集绑定变量信息和等待事件信息。
对当前session 使用10046事件
SQL>alter session set events ‘10046 trace name context forever, level 12’; --启动10046事件
执行相关事务
SQL>alter session set events ‘10046 trace name context off’; -- 关闭10046事件
该事件收集的信息也是放在trace文件中,查看trace文件的方法,参考第二节:TKPROF 工具。
用SQL_TRACE跟踪
SQL> select sid,serial# from v$session where SID=xx;
SQL> execute dbms_system.set_sql_trace_in_session(sid, serial#,true); -- 启动SQL_TRACE
SQL> execute dbms_system.set_sql_trace_in_session(sid, serial#,false); -- 关闭SQL_TRACE
使用10046 事件跟踪
SQL> exec dbms_monitor.session_trace_enable(sid, serial#,waits=>true,binds=>true); -- 启动trace
SQL> exec dbms_monitor.session_trace_disable(sid, serial#); -- 关闭trace
相关推荐
【10046事件与SQL_TRACE】是Oracle数据库中用于诊断和优化SQL语句执行性能的重要工具。当面临SQL语句执行效率低下时,我们可以启用SQL_TRACE来追踪其执行流程,获取详细的执行信息,从而找出性能瓶颈。 一、启用SQL...
### SQL执行计划之sql_trace详解 #### 一、SQL Trace简介 SQL Trace 是 Oracle 提供的一种强大工具,用于记录 SQL 语句的执行过程。它能够帮助数据库管理员和开发人员详细了解 SQL 语句是如何被 Oracle 数据库处理...
### SQL Trace 和 TKPROF 相关知识点 #### 一、SQL Trace 概述 **SQL Trace** 是 Oracle 数据库提供的一种性能分析工具,它能够收集执行 SQL 语句时的相关统计信息,如 CPU 时间、等待时间等。通过这些信息,DBA ...
SQL 跟踪分析器 使用 SQL(和外部表)分析 SQL 跟踪文件
总结,SQL TRACE是Oracle数据库诊断和性能优化的重要工具,通过10046和10053事件,我们可以深入理解SQL的执行过程,从而针对性地优化数据库性能。掌握SQL TRACE的使用,对于提升数据库系统的效率具有重要意义。
db, err := sql.Open('mysql:trace', dsn) } 描述 go-sql-tracer在软件包init中从加载的驱动程序中注册名称后缀为':trace'的sql驱动程序。 因此,您应该在导入go-sql-tracer之前放置加载sql驱动程序库。 也可以看...
### 如何收集10046 Trace (SQL_TRACE) 以诊断性能问题 #### 概述 10046 Trace是一种高级的SQL追踪技术,主要用于深入分析Oracle数据库中的SQL语句执行情况,包括但不限于SQL语句的执行计划、绑定变量、等待事件等。...
mysqld.trace
**默认跟踪(Default Trace)** - 默认跟踪是一种轻量级的跟踪工具,用于记录特定的系统事件,如执行存储过程、执行查询等。 - 它可以帮助分析数据库的操作行为,尤其是在追踪异常操作方面。 **交易日志...
如何使用oracle提供的SQL_TRACE来跟踪sql的执行情况?Sql性能非常差的时候,oracle提供了SQL_TRACE来跟踪sql的执行情况。注:分析sql的方式比较多,还有根据优化器、sql执行计划来分析。SQL_TRACE能够将sql执行的过程...
SQLTracker是一款专为数据库管理人员和开发人员设计的工具,用于监控和分析SQL查询性能。它可以帮助用户深入了解数据库的运行情况,找出慢查询,优化数据库性能,从而提高整体系统效率。以下将详细介绍SQLTracker的...
27. **SQL调优工具**:使用如SQL Trace、TKPROF等工具,帮助分析和优化SQL性能。 28. **优化连接顺序**:在JOIN操作中,优化连接顺序可能显著影响性能,应优先连接小表。 29. **考虑使用 Materialized View Logs**...
数据库跟踪相关的一些学习 1.查询数据库对象修改操作的信息 2.根据DefaultTrace查询数据库ErrorsandWarnings事件记录信息 3.根据DefaultTrace查询数据库对象Server操作记录...7.SQL Server中关于跟踪(Trace) 等等
在本文中提到的方法是通过SQL Server Profiler导出T-SQL脚本来创建Trace,然后基于这个Trace定义Alert。SQL Server Profiler允许用户选择感兴趣的事件、数据列和过滤条件,然后将其导出为可执行的脚本。例如,以下...
它是 Performance Trace 的一部分,能够提供详细的数据库性能信息。然而,在标准的 ABAP 课程中,关于如何使用 ABAP SQL 跟踪和解释其结果的信息却鲜为人知。这篇博客旨在为您提供 ABAP SQL 跟踪的快速介绍,展示...
13.1.5 使用10046trace 跟踪PL/SQL 368 13.2 PL/SQL优化其他相关扩展 369 13.2.1 编译无法成功 369 13.2.2 通用脚本分享 370 13.3 本章习题、总结与延伸 380 第14章 动手,高级写法应用让SQL飞 381 14.1 具体...
本文将详细介绍如何启用和使用SQL_TRACE以及10046事件跟踪。 **SQL_TRACE的使用** SQL_TRACE是Oracle提供的一个功能,它可以在全局或会话级别启用,用于记录SQL语句的详细执行信息。启用SQL_TRACE有以下三种方法:...
其中,SQL_TRACE与10046事件是最常用的追踪方式。除了这些标准方法外,Oracle还提供了ORADEBUG等其他高级追踪技术。本文将详细介绍Oracle中的追踪机制,包括追踪文件的位置、不同版本之间的差异,以及如何使用追踪...
2)QT5(WF_TRACE3)MES现场数据追溯 3)QT5(PRV)工业自动扫码追溯 4)QT5(LZLN_HE_PLUS)工业气体标定 5)C#2019(WF8063)工业自动压装机 6)C#2019(WF_PRESS_OFSET)工业自动化 7)C#2019(FKSZ)多工位工业自动化 8)C#...