oracle中如何使用TKPROF命令查看Trace file

Trace file(追踪文件)是以trc为后续的文本文件,它记录了各种sql操作及所消耗的时间等,根据trace文件我们就可以了解哪些sql导致了系统的性能瓶颈,进而采取恰当的方式调优。

当我们操作oracle数据库,每次都会产生一个会话(session),session中记录了所有操作,这些操作都会记录在trace文件中。

如何使用TKPROF命令查看Trace file:

SQL>alter session set sql_trace=true;

SQL>select count(*) from all_objects;

COUNT(*)

----------

49880

SQL>select a.spid from v$process a,v$session b where a.addr=b.paddr and b.audsid=userenv(‘sessionid‘); -----查询当前会话spid号为13052

SPID

----------

13052

SQL>SELECT VALUE FROM V$PARAMETER WHERE NAME = ‘user_dump_dest‘ ;--查看trace文件默认路径

VALUE

----------

F:\ORACLE\PRODUCT\10.2.0\DB_1\ADMIN\ORCL\UDUMP

可以在该路径下看到新生产的文件 orcl_ora_13052.trc ,不过这个trace 文件不易于阅读,通过TKPROF命令转换为易读的文件

需要在命令窗口中执行,cmd打开命令窗口:

c:\>tkprof F:\oracle\product\10.2.0\db_1\admin\orcl\udump\orcl_ora_13052.trc output=F:\orcl_trc_13052.txt;

打开该文件可以看到如下信息:

COUNT:这个语句被parse、execute、fetch的次数。

CPU:这个语句对于所有的parse、execute、fetch所消耗的cpu的时间,以秒为单位。

ELAPSED:这个语句所有消耗在parse、execute、fetch的总的时间。

DISK:执行物理I/O次数,从磁盘上的数据文件中物理读取的块的数量。一般来说更想知道的是正在从缓存中读取的数据而不是从磁盘上读取的数据。

QUERY:在意一致性检索方式获得块时,执行逻辑I/O次数;在一致性读模式下,所有parse、execute、fetch所获得的buffer的数量。一致性模式的buffer是用于给一个   长 时间运行的事务提供一个一致性读的快照,缓存实际上在头部存储了状态。

CURRENT:逻辑I/O次数,在current模式下所获得的buffer的数量。一般在current模式下执行insert、update、delete操作都会获取buffer。在current模式下如果在高速缓存区发现有新的缓存足够给当前的事务使用,则这些buffer都会被读入了缓存区中。

ROWS: 此阶段,被处理或受影响的行数,所有SQL语句返回的记录数目,但是不包括子查询中返回的记录数目。对于select语句,返回记录是在fetch这步,对于insert、update、delete操作,返回记录则是在execute这步。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-28 02:34:40

oracle中如何使用TKPROF命令查看Trace file的相关文章

Oracle以及SDE维护常用命令-查看表空间等

之前现场反馈一个数据更新的问题,查看感觉是因为表空间满了导致的(错误在之前的博客随笔中写过),因此远程对服务器进行查看.个人平常都是通过Oracle客户端的Entreprise Manager Console进行查看的,但是发现服务器上只安装了Oracle服务端并且不能正常进行网页登录查看. 因此到网上查了一下查看Oracle表空间使用情况的查询语句,通过PLSQL进行查询查看,在这里记录一下,另外附几个常用的Oracle以及SDE命令. 查看表空间的使用情况(解决此次问题使用) select

Oracle中sql相关的命令

1.创建用户 SQL> -- 例如创建一个用户名为xiaoming,密码为a123的用户 SQL> create user xiaomingidentified by a123; 用户已创建. SQL> show user USER 为 "SYS" 2.给用户授予权限 SQL> -- 给用户xiaoming授予权限 SQL> grant connect,resource,dba to xiaoming; 授权成功. SQL> -- 登录xiaomin

oracle中的一些基础命令

--新建用户 create user example identified by 123456; --删除用户 drop user example; --锁定用户 alter user example account lock; --解锁用户 alter user example account unlock; --修改用户密码 alter user example identified by 654321; --授予权限,角色 grant connect to example; --角色 gr

01-查询Oracle中所有用户信息

[[email protected] ~]# su - oracle [[email protected] ~]$ sqlplus /nolog SQL*Plus: Release 10.2.0.1.0 - Production on Tue Jul 8 21:47:01 2014 Copyright (c) 1982, 2005, Oracle.  All rights reserved. SQL> conn /as sysdba; Connected. 查询Oracle中所有用户信息 1.查

Oracle中的补充日志(supplemental log)

原网址:http://sugarlovecxq.blog.51cto.com/6707742/1693092 在配置DG的时候,有涉及到补充日志的知识,故做以整理. 补充日志不是独立的一种日志,是对重做记录中变更矢量的补充信息,增加了变更矢量记载的记录量,Oracle数据库某些功能要求启用补充日志才能正常地或更好的工作,如logminer.DG.闪回事务查询.闪回事务. Oracle中insert.delete命令在默认情况下产生的重做记录足以表明被修改的行的每个字段在被修改前后的值是什么,in

【android】 adb logcat命令查看并过滤android输出log

cmd命令行中使用adb logcat命令查看android系统和应用的log,dos窗口按ctrl+c中断输出log记录. logcat日志中的优先级/tag标记: android输出的每一条日志都有一个标记和优先级与其关联. 优先级是下面的字符,顺序是从低到高: V — 明细 verbose(最低优先级) D — 调试 debug I — 信息 info W — 警告 warn E — 错误 error F — 严重错误 fatal S — 无记载 silent 标记是一个简短的字符串,用于

adb logcat命令查看并过滤android输出log

adb logcat命令查看并过滤android输出log cmd命令行中使用adb logcat命令查看android系统和应用的log,dos窗口按ctrl+c中断输出log记录. logcat日志中的优先级/tag标记: android输出的每一条日志都有一个标记和优先级与其关联. 优先级是下面的字符,顺序是从低到高:V — 明细 verbose(最低优先级)D — 调试 debugI — 信息 infoW — 警告 warnE — 错误 errorF — 严重错误 fatalS — 无记

自己整理的oracle中常见的命令

自己整理的oracle中常见的命令: oracle11g已经不支持isqlplus了.内置了oracle sql developer 1-----用户多次登录错误,被锁定: ALTER USER username ACCOUNT UNLOCK: 2-----修改用户密码: alter user system identifid by manager; 3-----创建/删除用户: create user lisi identified by lisi; drop user lisi cascad

oracle中imp命令详解 .

oracle中imp命令详解 Oracle的导入实用程序(Import utility)允许从数据库提取数据,并且将数据写入操作系统文件.imp使用的基本格式:imp[username[/password[@service]]],以下例举imp常用用法. 1. 获取帮助 imp help=y 2. 导入一个完整数据库 imp system/manager file=bible_db log=dible_db full=y ignore=y 3. 导入一个或一组指定用户所属的全部表.索引和其他对象