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.docx
介绍:sql_trace命令会将执行的整个过程输出到一个trace文件,我通过阅读这个trace文件来了解这个sql在执行过程中Oracle究竟做了哪些事情
SQL 跟踪分析器 使用 SQL(和外部表)分析 SQL 跟踪文件
db, err := sql.Open('mysql:trace', dsn) } 描述 go-sql-tracer在软件包init中从加载的驱动程序中注册名称后缀为':trace'的sql驱动程序。 因此,您应该在导入go-sql-tracer之前放置加载sql驱动程序库。 也可以看...
mysqld.trace
SQL Trace and TKPROF
SQL TRACE原理、方法、事件查看 总结, 还包括10046,10053事件的讲解
数据库跟踪相关的一些学习 1.查询数据库对象修改操作的信息 2.根据DefaultTrace查询数据库ErrorsandWarnings事件记录信息 3.根据DefaultTrace查询数据库对象Server操作记录...7.SQL Server中关于跟踪(Trace) 等等
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 具体...
如何使用oracle提供的SQL_TRACE来跟踪sql的执行情况?Sql性能非常差的时候,oracle提供了SQL_TRACE来跟踪sql的执行情况。注:分析sql的方式比较多,还有根据优化器、sql执行计划来分析。SQL_TRACE能够将sql执行的过程...
sqlmonitor 1. 找出sid和serial# select sid,serial#,osuser from v$session t where t.USERNAME='USERNAME' 2. 开始sqltrace ... execute dbms_system.set_... 例: tkprof sqltrace文件.trc a.out 8. 打开a.out
he SQL Trace, which is part of the Performance Trace (transaction ST05), is the most important tool to test the performance of the database. Unfortunately, information on how to use the SQL Trace and ...
D, [2019-03-03T19:50:41.062492 #25560] DEBUG -- : Query Trace: app/models/concerns/is_active.rb:11:in `active?' app/models/user.rb:67:in `active?' app/decorators/concerns/status_methods.rb:42:in `...
SQLTracker,非常好用的抓取sql语句的工具,可以再没有源码的情况下抓取出执行的SQL语句。
sql学习 体会绑定变量的trace试验.sql
sql_trace_parser
在企业管理器界面(已连接到相关数据库)依次打开:tool —> SQLServer Profiler —> New Trace(新建跟踪器)—> 链接到相应数据库服务器(connect)—> 运行跟踪(run)—> Clear Trace Window()清除跟踪窗口—>。...
13.1.5 使用10046 trace跟踪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 SERVER 2005的Alert/JOB/TRACE/计数器,监控数据库的运行状态,并抓取数据用来分析。
非常不错的查表查字段文档,有了它,你就可以轻松找到sap程序所用到的字典表