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

[转载]ORACLE中SQL TRACE和TKPROF的使用

阅读更多

分类: 甲骨文Oracle

原文地址http://blog.chinaunix.net/u/21174/showart_364608.h

 

SQL TRACE 和 tkprof sql语句分析工具
 
一 SQL TRACE 使用方法:
  1.初始化sql trace
    参数:
      timed_statistics=true  允许sql trace 和其他的一些动态性能视图收集与时间有关的参数、
      SQL>alter session set titimed_statistics=true
      max_dump_file_size=500 指定跟踪文件的大小
      SQL> alter system set max_dump_file_size=500;
      user_dump_dest  指定跟踪文件的路径
      SQL> alter system set user_dump_dest=/oracle/oracle/diag/rdbms/orcl/orcl/trace;
   
  2.为一个session 启动sql trace
    
     2.1命令方式
      alter session set sql_trace=true
     2.2 通过存储过程启动sqltrace
       select sid,serial#,osuser from v$session;
       SID    SERIAL# OSUSER
       168         1  oracle
 
       execute rdbms_system.set_sql_trace_in_session (168 ,1,true);
  3.停止一个sql trace 会话
      3.1 命令方式
       alter session set sql_trace=false
      3.2 储存过程的方式
        execute rdbms_system.set_sql_trace_in_session (168 ,1,false);
  4. 为整个实例启动SQL trace (一般消耗系统性能较高,不会用)
       alter system set sql_trace=true scope=spfile
     从新启动数据库
  5. 停止一个实例的sql trace
       alter system set sql_trace=flase scope=spfile
 
    启动sql trace 之后收集的信息包括
      1.解析、执行、返回数据的次数
      2.cpu和执行命令的时间
      3.物理读和逻辑读的次数
      4.系统处理的记录数
      5.库缓冲区错误
二 TKPROF的使用
     tkprof 的目的是将sql trace 生成的跟踪文件转换成用户可以理解的格式
    1. 格式
      tkprof inputfile outputfile [optional | parameters ]
    参数和选项:
     explain=user/password 执行explain命令将结果放在SQL trace的输出文件中
     table=schema.table 指定tkprof处理sql trace文件时临时表的模式名和表名
     insert=scriptfile 创建一个文件名为scriptfile的文件,包含了tkprof存放的输出sql语句
     sys=[yes/no] 确定系统是否列出由sys用户产生或重调的sql语句
     print=number 将仅生成排序后的第一条sql语句的输出结果
     record=recordfile 这个选项创建一个名为recorderfile的文件,包含了所有重调用的sql语句
     sort=sort_option 按照指定的方法对sql trace的输出文件进行降序排序
             sort_option 选项
                prscnt  按解析次数排序
                prscpu  按解析所花cpu时间排序
                prsela  按解析所经历的时间排序
                prsdsk  按解析时物理的读操作的次数排序
                prsqry  按解析时以一致模式读取数据块的次数排序
                prscu   按解析时以当前读取数据块的次数进行排序
                execnt  按执行次数排序
                execpu  按执行时花的cpu时间排序
                exeela  按执行所经历的时间排序
                exedsk  按执行时物理读操作的次数排序
                exeqry  按执行时以一致模式读取数据块的次数排序
                execu   按执行时以当前模式读取数据块的次数排序
                exerow  按执行时处理的记录的次数进行排序
                exemis  按执行时库缓冲区的错误排序
                fchcnt  按返回数据的次数进行排序
                fchcpu  按返回数据cpu所花时间排序
                fchela  按返回数据所经历的时间排序
                fchdsk  按返回数据时的物理读操作的次数排序
                fchqry  按返回数据时一致模式读取数据块的次数排序
                fchcu   按返回数据时当前模式读取数据块的次数排序
                fchrow  按返回数据时处理的数据数量排序
三 sql trace 的输出结果
         count:提供OCI过程的执行次数
         CPU:  提供执行CPU所花的时间单位是秒
         Elapsed:提供了执行时所花的时间。单位是秒。这个参数值等于用户响应时间
         Disk:提供缓存区从磁盘读取的次数
         Query:以一致性模式从缓存区获得数据的次数
         Current:以当前模式从缓存区获得数据的次数
         ROWs: 返回调用或执行调用时,处理的数据行的数量。
 
四:举例:
         sql>alter session set sql_trace=true               
         SQL>select * from dba_users;
         SQL>show parameter user_dump_dest
         user_dump_dest     string  /oracle/oracle/diag/rdbms/orcl/orcl/trace
         SQL>exit
         cd /oracle/oracle/diag/rdbms/orcl/orcl/trace
         tkprof orcl_ora_11066.trc /oracle/oracle/trace1.out sys=yes
         vi trace.out

分享到:
评论

相关推荐

    SQL Trace and TKPROF

    SQL Trace and TKPROF

    大牛出手Oracle SQL优化实例讲解

    6.sql trace分析工具--TKPROF详细讲解 7.V$SQL视图详解加几个实例 8.autotrace验证压缩表性能 9.autotrace验证消除子查询后的性能 10.基于基本的优化CBO 11.如何统计数据库数据 12.Oracle如何统计操作系统数据 13./*...

    使用TKPROF 工具分析跟踪文件

    TKPROF 工具是oracle 提供的免费工具,有人习惯称之为"Trace Kernel Profile",也有人称之为"Tool Kit Profiler"或"transient kernel profiler. "。不过,这都不重要,重要的是我们应该掌握究竟应该如何 使用该工具对...

    Oracle PL/SQL PRofiler应用指南

    Profiler是ORACLE PL/SQL 的一个调试优化跟踪方案的应, 相对sqltrace+tkprof工具调试优化跟踪方案来说, Profiler有最直观更方便的优点,因为不需要生成和读取服务器端的跟踪文件,它是将跟踪数据全部存储的数据库...

    ORACLE执行计划和SQL调优知识概述.pptx

    ORACLE 提供了多种工具来辅助执行计划和 SQL 调优,如 EXPLAIN PLAN、SQL_TRACE、TKPROF 等。EXPLAIN PLAN 是一种分析执行计划的工具,可以帮助开发者了解 SQL 语句的执行计划和成本。SQL_TRACE 是一种追踪 SQL 语句...

    sqlmonitor

    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

    Oracle DBA手记:数据库诊断案例与性能优化实践

    * 常见的数据库诊断方法包括: Oracle Enterprise Manager、SQL_TRACE、TKPROF、EXPLAIN PLAN等。 * 数据库诊断的目的在于:检测数据库性能瓶颈、解决性能问题、优化数据库配置、提高数据库可用性。 二、性能优化 ...

    ORACLE9i_优化设计与系统调整

    §12.8 使用SQL_Trace和TKPROF 151 §12.8.1 设置跟踪初始化参数 152 §12.8.2 启用SQL_Trace实用工具 152 §12.8.3 用TKPROF格式化跟踪文件 153 §12.8.4 解释TKPROF输出文件 155 §12.8.5 解释计划(Explain Plan)...

    最完整的Toad For Oracle使用手册

    TKProf Interface Wizard 196 Undo Advisor 198 Segment Advisor 200 LogMiner Interface 203 Health Check 207 Trace File Browser 226 CodeXpert 231 Database Administration 259 Audit SQL/Sys Privs 259 NLS ...

    Oracle数据库管理员技术指南

    8.5.4 使用 tkprof 解释跟踪文件 8.5.5 使用 AUTOTRACE 获得 SQL 语句 执行计划和统计数据 8.6 优化回退段 8.6.1 最小化回退段争用 8.6.2 使动态扩充最小化 8.6.3 分布回退段的 I/O 8.7 优化索引 8.7.1 怎样...

    让Oracle跑得更快 Oracle 10g性能分析与优化思路.part2.rar

    第10章 sql_trace和10046事件 254 10.1 sql_trace 254 10.2 tkprof工具 256 10.3 10046事件 268 第11章 10053事件 276 第12章 性能视图和性能参数 294 12.1 性能视图 294 12.1.1 v$sql 295 12.1.2 v$sql_shared_...

    让Oracle跑得更快 Oracle 10g性能分析与优化思路.part1.rar

    第10章 sql_trace和10046事件 254 10.1 sql_trace 254 10.2 tkprof工具 256 10.3 10046事件 268 第11章 10053事件 276 第12章 性能视图和性能参数 294 12.1 性能视图 294 12.1.1 v$sql 295 12.1.2 v$sql_shared_...

    Toad 使用快速入门

    在Oracle应用程序的开发过程中,访问数据库对象和编写SQL程序是一件乏味且耗费时间的工作,对数据库进行日常管理也是需要很多SQL脚本才能完成的。Quest Software为此提供了高效的Oracle应用开发工具-Toad(Tools of ...

Global site tag (gtag.js) - Google Analytics