日期:2014-05-16 浏览次数:20509 次
Oracle具有打开一个相当底层的跟踪能力的工具,就是TKPROF。一旦启用跟踪,Oracle将所有的SQL和应用程序使用的顶层PL/SQL调用记录到服务器上的跟踪文件中。
alter session set timed_statistics=true; alter session set events '10046 trace name context forever,level 12'; |
Create table seagal_orders As Select * from orders ? Insert into seagal_orders Select * from seagal_orders ? 这样重复不断执行,直到seagal_orders表中有超过150万行记录为止,设计了一个大表,有百万条记录。但是其中包含非常多的重复的记录。(没关系) |
SQL> select count(*) from oe.seagal_orders where customer_id=118; ? ??COUNT(*) ---------- ?????32768 |
SQL> select rtrim(c.value,'\') ||'\'||d.instance_name|| ??2??'_ora_' ||ltrim(to_char(a.spid))||'.trc' ??3??from v$process a,v$session b,v$parameter c,v$instance d ??4??where a.addr=b.paddr ??5??and b.audsid =sys_context('userenv','sessionid') ??6??and c.name='user_dump_dest'; ? RTRIM(C.VALUE,'\')||'\'||D.INSTANCE_NAME||'_ORA_'||LTRIM(TO_CHAR(A.SPID))||'.TRC' ---------------------------------------------- E:\ORACLE\PRODUCT\10.2.0\ADMIN\MYORACLE\UDUMP\myoracle_ora_3708.trc |
C:\>tkprof E:\ORACLE\PRODUCT\10.2.0\ADMIN\MYORACLE\UDUMP\myoracle_ora_3708.trc c:\tk.prof ? TKPROF: Release?10.2.0.1.0 - Production on?星期一?3月?19 22:44:44 2007 ? Copyright (c) 1982, 2005, Oracle.??All rights reserved. ? C:\> |
select count(*) from ?oe. seagal _orders where customer_id=118 ? ? call?????count???????cpu????elapsed???????disk??????query????current????????rows ------- ------??-------- ---------- ---------- ---------- ----------??---------- Parse????????1??????0.00???????0.00??????????0?????????74??????????0???????????0 Execute??????1??????0.00??????
免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
|