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

Oracle 性能调优学习笔记(二)- ----Oracle SQL TRACE和TKPROF使用

 
阅读更多
Oracle SQL TRACE和TKPROF使用
启动sql trace 之后收集的信息包括
      1.解析、执行、返回数据的次数
      2.cpu和执行命令的时间
      3.物理读和逻辑读的次数
      4.系统处理的记录数
      5.库缓冲区错误

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性能调优

    Oracle性能调优是数据库管理员和开发人员关注的重要领域,它涉及到如何优化数据库系统以提高查询速度、减少资源消耗...通过深入学习和实践这些知识点,你可以更好地掌握Oracle性能调优,提升数据库系统的稳定性和效率。

    ORACLE性能调优

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

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

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

    ORACLE调优笔记

    通过以上知识点的学习和实践,我们可以有效地对Oracle数据库进行性能调优,提高系统的稳定性和响应速度。需要注意的是,在实际操作过程中,应根据具体环境和业务需求灵活运用各种工具和技术,以达到最佳的优化效果。

    Oracle 11g学习笔记

    本学习笔记将深入探讨Oracle 11g的关键特性和技术,帮助读者掌握其核心知识。 一、Oracle 11g概述 Oracle 11g是Oracle公司推出的数据库版本,主要特点是提升了性能、可用性和安全性。它提供了众多新功能,如自动...

    最牛逼的Oracle 11g OCP学习笔记

    6. **数据库性能监控与调优**:了解性能分析工具如SQL Trace、TKPROF,学习AWR(Automatic Workload Repository)和ASH(Active Session History)报告的解读,以及如何通过PGA和SGA调整内存结构。 7. **数据库备份...

    Oracle数据库笔记-JackChiang.docx

    6. **性能优化**:Oracle提供了许多工具和技巧来优化数据库性能,如 Explain Plan分析查询执行计划,SQL Trace和TKPROF用于追踪和分析性能,以及索引和统计信息的管理。了解Cost-Based Optimizer(CBO)的工作原理也...

    oracle学习笔记

    Oracle学习笔记涵盖了数据库管理、SQL查询、数据存储、性能优化等多个方面的重要知识点。以下是对这些内容的详尽解析: 1. 数据库管理:Oracle数据库是全球广泛应用的关系型数据库管理系统,用于存储、管理和检索...

    Oracle 10g OCP学习笔记

    6. 性能优化:通过SQL*Plus和Oracle Enterprise Manager (OEM)进行性能监控,学习如何使用Explain Plan、SQL Trace和 TKPROF 工具分析查询性能,并优化SQL语句。 7. 数据库备份与恢复:理解RMAN(恢复管理器)的...

    Oracle 笔记 详解 资料 用例

    笔记会讨论性能分析工具(如SQL*Plus、 tkprof 和 trace 文件),以及如何通过调整SQL语句、优化索引、设置初始化参数等方式提升系统性能。另外,Oracle的数据库调优顾问(DBMS_ADVISOR)和自动工作负载库(AWR)也...

    oracle开发学习笔记

    Oracle开发学习笔记主要涵盖了一系列用于优化和调试Oracle数据库的工具和技术。以下是对这些知识点的详细说明: 1. **AWR (Automatic Workload Repository)**:这是一个Oracle数据库内置的性能监控工具,用于收集...

    oracle 学习笔记更新2

    这篇“Oracle学习笔记更新2”主要聚焦于DBA在Oracle管理中的关键知识点。 一、Oracle基础知识 Oracle数据库基于SQL语言,提供了一种结构化数据存储和管理的平台。理解SQL语法、表结构设计(如范式理论)、索引原理...

    oracle9i甲骨文公司教程和韩顺平老师oracle视频教程听课笔记

    Oracle 9i提供了许多工具和特性来监控和优化数据库性能,如SQL Trace、AWR(自动工作区管理)报告、 tkprof 和 explain plan 等。通过对性能指标的分析,可以找出性能瓶颈并采取相应措施。 九、网络配置与分布式...

    最牛逼的Oracle 11g OCP 051 052 053全程笔记

    1. 性能监控和调优:讲解如何使用Oracle的性能分析工具(如SQL*Plus、Explain Plan、 tkprof),理解执行计划,以及如何通过索引、分区等技术优化查询性能。 2. 存储管理:深入讨论Oracle的数据存储机制,如RMAN备份...

    Oracle培训 Lesson01-16 详细笔记,回顾以及作业,课堂源码

    7. **性能优化**:Oracle提供了许多工具和方法来分析和优化数据库性能,如SQL Trace、 tkprof 和Explain Plan。理解索引的工作原理和何时创建索引也是提高查询速度的关键。 8. **备份与恢复**:Oracle的RMAN(恢复...

    Oracle老师教学笔记,很详细.

    9. **数据库性能监控**:Oracle提供了多种工具和视图来监控数据库性能,如V$视图、SQL Trace和 tkprof。学习如何使用这些工具可以帮助诊断和解决性能问题。 10. **实战案例**:笔记中的实例可能是从实际业务场景...

    oracle 培训笔记

    10. **性能调优**:涵盖SQL查询优化、索引优化、表分区、内存管理、SQL Trace和TKPROF工具的使用,以及如何通过数据库监视工具分析性能问题。 11. **高可用性与故障恢复**:介绍Oracle的高可用性解决方案,如RAC...

    OCP学习18天详细笔记

    还可能涉及了SQL Trace和TKPROF工具,这些都是诊断和解决性能问题的有效手段。 第十一和十二天的学习,可能进一步深化了对Oracle高级特性的理解,比如分区、物化视图、 materialized views for data warehousing,...

    oracle笔记proc代码等

    10. **性能优化**:Oracle提供了许多性能优化工具和技巧,如explain plan、SQL Trace、 TKPROF,以及索引和查询优化顾问等。 以上知识点涵盖了Oracle数据库中PL/SQL编程的基础和重要概念。在实际应用中,通过深入...

Global site tag (gtag.js) - Google Analytics