`
yufeng0471
  • 浏览: 101083 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

sql_trace

 
阅读更多

1:设置sql_trace

 

SQL>alter session set sql_trace=true;
或者
SQL> alter database set sql_trace=true;

 2:设置trace文件

 

SQL> alter session set tracefile_identifier='赵海军';

    或者查询默认的trace文件

 

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# = 1
           AND S.SID = M.SID
           AND P.ADDR = S.PADDR) P,
       (SELECT T.INSTANCE
          FROM V$THREAD T, V$PARAMETER V
         WHERE V.NAME = 'thread'
           AND (V.VALUE = 0 OR T.THREAD# = TO_NUMBER(V.VALUE))) I,
       (SELECT VALUE FROM V$PARAMETER WHERE NAME = 'user_dump_dest') D;
 

 

3:执行sql语句

 

UPDATE WF_DOC_GW SET DMODIFYDATE=SYSDATE,NMODIFYID=188503,NSTATE=1 WHERE NDOCID=101392903
 

 

4:结束sql_trace

 

SQL> alter session set sql_trace=false;
 

5:格式化trace文件

 

c:>tkprof trace.txt  trace1.txt sys=no;

参数:可以在命令行下输入tkprof,会显示所有的参数说明
aggregate=yes|no
                默认情况下,tkprof工具将所有相同的SQL在输入文件中做合并,如果设置为no,则分别列出每个SQL的信息。一般合并后看起来比较简洁,如果需要查看每一个SQL单独的信息,可以把aggregate设置为no。
 

 

 

6:原始trace文件可读性差,以下是一些参数说明

 

PARSING IN CURSOR 部分:   

                Len: 被解析SQL的长度

                Dep: 产生递归SQL的深度

                Uiduser id

                Otc: Oracle command type 命令的类型

                Lid: 私有用户id

                Tim:时间戳

                Hv hash value

                AdSQL address

 

PARSE,EXEC,FETCH 部分

                C: 消耗的CPU time

                Eelapsed time 操作的用时

                P: physical reads 物理读的次数

                Cr: consistent reads 一致性方式读取的数据块

                Cucurrent 方式读取的数据块

                Miscursor misss in cache 硬分析次数

                R: -rows 处理的行数

                Dep: depth 递归SQL的深度

                Og optimizer goal 优化器模式

                Timtimestamp时间戳

 

STATS 部分:

                Id: 执行计划的行源号

                Cnt:当前行源返回的行数

                Pid:当前行源号的父号

                Pos:执行计划中的位置

                Obj:当前操作的对象id(如果当前行原始一个对象的话)

                Op:当前行源的数据访问操作

 

参考:http://blog.csdn.net/tianlesoftware/article/details/5857023

 

分享到:
评论

相关推荐

    10046事件和sql_trace.docx

    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 = 1 AND s...

    SQL执行计划之sql_trace

    - 若要对特定会话启用 SQL Trace,可以使用 `dbms_system.set_sql_trace_in_session` 函数,这需要知道目标会话的 SID 和 SERIAL#。 ```sql EXECUTE dbms_system.set_sql_trace_in_session(sid, serial#, true); ...

    如何使用oracle提供的SQL_TRACE来跟踪sql的执行情况

    如何使用oracle提供的SQL_TRACE来跟踪sql的执行情况?Sql性能非常差的时候,oracle提供了SQL_TRACE来跟踪sql的执行情况。注:分析sql的方式比较多,还有根据优化器、sql执行计划来分析。SQL_TRACE能够将sql执行的过程...

    sql_trace_parser:sql 跟踪文件解析器 (Haskell)

    《深入解析sql_trace_parser:基于Haskell的SQL跟踪文件解析工具》 在数据库管理系统中,SQL跟踪文件是一种记录数据库操作的详细日志,它包含了执行的SQL语句、执行时间、资源消耗等重要信息,这对于数据库性能分析...

    web系统orcale语句执行追踪

    orcale sqltrace sql语句追踪 session 基于dbms_system.set_sql_trace_in_session 通过sid追踪sql语句,用于web等后台sql语句执行追踪,调试 已经做成工具,操作简单,支持根据uid筛选sql语句

    ct.zip_trace

    《Oracle SQL Trace解析工具——ct.zip_trace》 在Oracle数据库管理中,SQL Trace是一个强大的诊断工具,它能够记录SQL语句及其执行的详细过程,帮助DBA深入理解SQL的执行性能,找出潜在的问题并进行优化。本文将...

    SQL Trace and TKPROF

    EXECUTE dbms_system.set_sql_trace_in_session(session_id, serial_id, TRUE); ``` 3. **运行应用**:启用 SQL Trace 后,运行需要监控的应用程序。 4. **禁用 SQL Trace 并格式化 trace 文件**:在收集完所需...

    sqlmonitor

    execute dbms_system.set_sql_trace_in_session(sid,serial#,ture); 3. 运行程序 4. 停止sqltrace execute dbms_system.set_sql_trace_in_session(sid,serial#,false); 5. 使用cmd 到udump 例: D:\Oracle...

    SQL TRACE原理、方法、事件查看总结

    1. 使用DBMS_SESSION包:通过调用DBMS_SESSION包中的TRACE_ON和TRACE_OFF过程,可以为指定的会话开启或关闭SQL TRACE。 2. 使用ALTER SESSION命令:在SQL提示符下,可以通过ALTER SESSION SET SQL_TRACE = TRUE开启...

    10046事件跟踪详细指南

    3. **跟踪其他用户进程**: 通过DBMS_SYSTEM包的`SET_SQL_TRACE_IN_SESSION`过程,提供SID和序列号来启动其他用户进程的跟踪,例如`EXEC dbms_system.set_sql_trace_in_session(9,437,true)`。同样,用`false`参数可...

    SQLTracker(sql跟踪器).zip

    SQLTracker是一款专为数据库管理人员和开发人员设计的工具,用于监控和分析SQL查询性能。它可以帮助用户深入了解数据库的运行情况,找出慢查询,优化数据库性能,从而提高整体系统效率。以下将详细介绍SQLTracker的...

    Oracletrace

    EXECUTE DBMS_DEBUG.SET_TRACE_TO_FILE(TRUE); ``` #### 五、总结 通过上述介绍,我们可以了解到Oracle中的追踪机制是非常强大且灵活的。无论是基础的SQL_TRACE,还是更高级的10046事件或ORADEBUG,都能帮助DBA...

    sql2008查询事件跟踪器

    或者,你可以使用T-SQL的sp_trace_create存储过程来创建跟踪。 2. **事件类别**:包括但不限于登陆、退出、批处理开始和结束、SQL语句完成、锁定事件等。每种事件类别提供了对特定数据库操作的洞察。 3. **跟踪...

    优化SQl语句的十个重要步骤:

    4. **开启SQL_TRACE**:SQL_TRACE功能可以记录SQL语句的执行详细信息。对于会话级别的优化,需要为特定的会话开启这个功能,以便收集具体操作的性能数据。 5. **运行应用程序**:在SQL_TRACE开启后,运行应用程序以...

    oracle sql 跟踪

    在PL/SQL中,可以使用`DBMS_SESSION.SPECIAL_REGISTERS`过程,设置`SQL_TRACE`参数为TRUE来启动跟踪。对于特定会话,可以使用如下命令: ```sql BEGIN DBMS_SESSION.SPECIAL_REGISTERS( USERENV('SESSIONID') => ...

    Oracle10g数据库优化详解

    - **概述**: SQL_TRACE 是一种重要的数据库调优工具,用于跟踪SQL语句的执行情况,帮助分析性能瓶颈。 - **启用SQL_TRACE的注意事项**: - 参数`TIMED_STATISTICS`应设为true,确保能够收集关键性能指标。 - 设置`...

    Oracle跟踪工具SQlTracker

    Oracle数据库监听工具

    SQL Server 2000 审计功能

    该功能可以通过使用内置的存储过程来实现,例如 sp_trace_create、sp_trace_setevent、sp_trace_setfilter、sp_trace_setstatus 等。这些存储过程可以用来创建、设置和控制审计trace。 下面是使用 SQL Server 2000 ...

Global site tag (gtag.js) - Google Analytics