如何用命令查看oracle,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;

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

0818b9ca8b590ca3270a3433284dd417.png

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这步。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值