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

Oracle 性能调优学习笔记(二)--诊断和调优工具SQLTRACE和TKPROF

 
阅读更多

1.查看系统用户dump
   show parameter dump;
   background_dump_dest:存储alertlog和后台进程trace的.
   user_dump_dest:存储用户的trace文件.
   max_dump_file_size:跟踪文件的大小.

   alter system set max_dump_file_size=500;
   alter system set user_dump_dest='';

   2.初始化SQL TRACE
     A.timed_statistics参数:(一般用户和dba)
      timed_statistics=true  允许sql trace 和其他的一些动态性能视图收集与时间有关的参数、
     系统级别:
      alter system set timed_statistics=true;
     会话级别:
     alter session set timed_statistics=true;
     查看dump的文件的大小
     B.sql_trace参数(dba权限可以修改)
     sql_trace=true表示启动跟踪,false表示禁用跟踪.
       系统级别:
      alter system set sql_trace=true scope=spfile;
     会话级别:
      alter session set sql_trace=true;
     通过存储过程启动sql_trace
     execute rdbms_system.set_sql_trace_in_session(SID,SERIAL#,true);
     ps:9为SID,7为SERIAL# true为开启跟踪

     
    使用说明:
    1.用户dba用户登录
      sqlplus /nolog
      conn /as sysdba
    2.设置初始化跟踪参数
    alter session set timed_statistics=true;
    dba用户跟踪:
    alter session set sql_true=true;
    dba跟踪其他用户(利用sys跟踪tbs,sysdba登录):
    select sid,serial#,command,username
       from v$session
      where username='TBS';
      SID:121
      SERIAL#:4786
    exec  dbms_system.set_sql_trace_in_session(121,4786,true);
    
    查看TBS用户的跟踪文件:
    用户跟踪文件的命名格式为:<oracle-SID>-ora-<PSID>.trc
        备注:<oracle-SID>:oracle 的SID.
       <PSID>:跟踪用户sid.
       
   3.查找跟踪文件
     根据会话中用户的名称查找对应paddr,根据paddr查找对应的进程spid.
    select spid from v$process
      where addr = (
         select paddr from v$session
        where username='TBS'
       );
    
      如果oracle-SID为ticket,spid=35572,那么对应的跟踪文件为: ticket-ora-35572.trc.
      然后使用TKPROF查看执行信息:
     
    
   TKPROF的使用
     tkprof 的目的是将sql trace 生成的跟踪文件转换成用户可以理解的格式.
     tkprof可对.trc文件进行分析,并生成一个分析文件.并且在分析.trc文件,生
     成分析文件时按各种选项进行排序,其中比较有用的一个排序选项是fchela,
     即按照elapsed time fetching来对分析的结果排序(记住要设置初始化参数
     time_statistics=true),生成的.prf文件将把最消耗时间的sql放在最前面
     显示。另外一个有用的参数就是sys,这个参数设置为no可以阻止所有以sys
     用户执行的sql被显示出来,这样可以减少分析出来的文件的复杂度,便于查看。


    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  按返回数据时处理的数据数量排序
   通过TKPROF生成相关的文件:
   tkprof ticket-ora-35572.trc ticket_tbs.prf aggregate=yes sys=no sort=fchela

分享到:
评论

相关推荐

    Oracle数据库性能调优务实课件1-5

    通过这五讲的学习,你可以全面了解Oracle数据库性能调优的基本原理和实践技巧,从SQL优化、操作系统层面的调整到数据库内部机制的深入剖析,全面提升你在数据库管理领域的专业能力。在实际工作中,这些知识将帮助你...

    oracle性能调优--解决CPU高度消耗(100%)

    4. 使用性能分析工具:使用性能分析工具,例如 Oracle 的 SQL_TRACE 和 TKPROF 工具,来分析和优化数据库的性能。 四、结论 解决 CPU 高度消耗 (100%) 的问题需要通过多种方法来实现。首先需要找到问题的根源,...

    OREACL数据库\Oracle性能调优基础篇.

    ### Oracle数据库性能调优基础篇 #### 一、Oracle架构与基础知识 在Oracle数据库的架构中,主要包括...通过深入学习Oracle的基础架构、SQL优化技术、性能分析工具以及最佳实践,可以显著提升数据库系统的性能表现。

    oracle调优工具.rar

    这通常需要使用到如SQL*Plus、 tkprof 或者 Oracle的自动SQL调优工具。 2. **索引优化**:根据数据访问模式合理创建和管理索引,可以显著提升查询速度。 3. **内存管理**:调整SGA(System Global Area)和PGA...

    oracle 11g 性能调优 官方PPT

    3. SQL Trace与TKPROF:用于跟踪SQL语句执行过程,通过TKPROF工具分析输出结果,找到慢查询的原因并进行优化。 五、并行执行与资源管理 1. PARALLEL执行:通过并行执行计划提高大数据量操作的速度,但需考虑并行度...

    oracle数据库高级技术交流- 性能调优

    Oracle SQL性能优化涉及对SQL语句执行过程的理解,如使用EXPLAIN,AUTOTRACE,SQL Trace,TKPROF等工具进行分析。优化器的选择,如基于规则优化器(RBO)和基于成本优化器(CBO),对索引的使用,以及统计信息的准确收集...

    Oracle 性能诊断艺术

    1. **性能监控与分析**:书中详细介绍了Oracle的性能监控工具,如SQL Trace、TKPROF、AWR(自动工作负载存储库)和ASH(活动会话历史)等,这些都是DBA日常工作中不可或缺的性能分析手段。通过这些工具,可以追踪SQL语句...

    Oracle92性能调优指南.pdf

    - **SQL Trace和TKProf**: 这些工具可用于追踪SQL语句的执行情况,帮助识别低效的SQL查询。 ##### 3. **SQL语句优化** - **索引优化**: 索引可以显著提高查询速度,合理地创建和维护索引对于提高查询性能至关重要...

    oracle 性能调优

    6. **监控与诊断**:Oracle提供了一系列工具,如SQL Trace,TKPROF,AWR(自动工作负载仓库),ASH(活动会话历史)等,用于收集性能数据并进行问题定位。理解如何使用这些工具是性能调优的关键。 7. **数据库重构*...

    Oracle性能调优

    本资料集是作者精心整理的Oracle调优笔记,涵盖了一系列实用的调优技巧和工具,旨在帮助读者理解和实践Oracle数据库的性能优化。 1. **SQL优化**:SQL查询是数据库性能的关键。优化SQL语句可以显著提升性能,包括...

    Tidy 代替tkprof,Oracle Trace 跟踪文件格式化工具

    Oracle数据库在进行性能调优时,经常会涉及到对跟踪文件(Trace Files)的分析。这些跟踪文件包含了数据库执行的详细信息,如SQL语句、执行计划、等待事件等,但原始的跟踪文件数据往往混乱且不易读。这时,我们就...

    Oracle数据库高级技术交流计划-性能调优.ppt

    对于性能调优的方法论,了解SQL执行过程、使用分析工具(如EXPLAIN、AUTOTRACE、SQL Trace、TKPROF)是基础。优化器的工作方式,如基于规则优化器(RBO)和基于成本优化器(CBO),以及索引的选择和使用,例如B树...

    Oracle 9i 性能调优

    Oracle 9i引入了SQL Trace和TKPROF工具,用于跟踪SQL语句的执行情况并生成分析报告,帮助识别慢查询。此外,绑定变量的使用可以减少解析开销,提高执行计划的重用率。优化器(Cost-Based Optimizer, CBO)根据统计...

    ORACLE性能调优

    了解如何使用EXPLAIN PLAN,SQL Trace,以及 tkprof 工具来分析查询性能至关重要。此外,理解索引的作用,何时使用全表扫描与索引扫描,以及如何创建和维护有效的索引也是性能优化的基础。 2. **内存管理**:Oracle...

    SQL Trace and TKPROF

    SQL Trace 和 TKPROF 是 Oracle 数据库中非常强大的性能分析工具,它们可以帮助 DBA 和开发人员深入了解数据库的运行状态,及时发现并解决性能问题。通过正确配置 SQL Trace 参数,启用 SQL Trace,以及合理使用 ...

    Oracle数据库查询调优

    - **使用TKProf工具**:分析追踪文件,帮助理解SQL执行过程中的瓶颈。 - **检查优化器模式**:确保使用了最适合当前环境的优化策略。 - **参数调整**:根据实际情况调整Oracle初始化参数。 #### 六、确定原因 - **...

    Maclean 讲 Oracle SQL 调优精要【技术文档】

    总结以上,Maclean讲授的Oracle SQL调优精要文档,详细讲解了Oracle SQL调优的基本思想和关键步骤。它不仅关注SQL语句的执行过程,还深入解释了会话在执行SQL时的状态以及游标的使用。这些知识对于数据库管理员、...

    oracle公司调优培训.ppt

    - **性能诊断**:使用 tkprof、gdb、trace 文件等工具进行问题定位。 - **调优最佳实践**:定期维护任务,如统计信息收集、索引重建等。 8. **Oracle新特性**: - **12c及更高版本的新功能**:如多租户架构、In-...

    oracle sql调优新思维

    《Oracle SQL调优新思维》是一本深入探讨SQL性能优化的专业资料,涵盖了从理论到实践的全面内容。在Oracle数据库管理中,SQL调优是提升系统性能的关键环节,它涉及了多个方面,包括查询优化、执行计划分析、索引策略...

    ORACLE学习笔记之调节性能优化篇

    本文主要围绕ORACLE数据库的性能优化,特别是如何通过不同的方式来追踪和分析SQL语句的执行,从而找出性能瓶颈。 首先,了解如何查询当前正在执行语句的执行计划是至关重要的。通过`V$SQL_PLAN`视图,我们可以获取...

Global site tag (gtag.js) - Google Analytics