Oracle 有关 Consistent gets 的测试


一.Consistentgets 说明

我们使用autotrace 查看执行计划和统计信息时,会显示类似如下信息:

0  recursive calls   :递归调用。一般原因:dictionary cache未命中;动态存储扩展;PL/SQL语句

         0  db block gets    :bufer中读取的block数量,用于insert,update,delete,selectfor update

    174530  consistent gets   :这里是一致读次数(一个block可能会被读多次),bufer中读取的用于查询(除掉select forupdate)的block数量。

                  --db blocksgets+consistent gets= logical read

          0 physical reads    :从磁盘上读取的block数量

          0 redo size      :bytes,写到redo logs的数据量

    3546854 bytes sent via SQL*Net to client

      60244 bytes received via SQL*Net from client

       5433 SQL*Net roundtrips to/from client

          0 sorts (memory)    :内存排序次数

          0 sorts (disk)     :磁盘排序次数;与sort_area_size有关

      81467 rows processed

官网对consistent gets 的解释:

consistent gets:Number of times a consistent read wasrequested for a block.

    通常我们执行SQL查询时涉及的每一block都是Consistent Read, 只是有些CR(Consistent Read)需要使用undo 来进行构造, 大部分CR(Consistent Read)并不涉及到undo block的读.

      还有就是每次读这个block都是一次CR(可能每个block上有多个数据row), 也就是如果某个block被读了10次, 系统会记录10个Consistent Read.

简单的说:

       consistentgets : 通过不带for update的select 读的blocks.

       dbblock gets : 通过update/delete/selectfor update读的blocks.

db block gets + consistent gets = 整个逻辑读。

二.测试

2.1 测试环境

OS: Oracle linux 6.1

DB: Oracle 11.2.0.3

2.2 对比Consistent gets

SQL> select count(1) from dave;

 COUNT(1)

----------

  1164176

SQL> create index idx_dave_objid ondave(object_id);

Index created.

SQL> execdbms_stats.gather_table_stats('sys','dave',cascade=>true);

PL/SQL procedure successfully completed.

SQL> set tim on timing on

08:20:01 SQL> set autot trace exp stat;

08:20:16 SQL> select * from dave whereobject_id=10;

16 rows selected.

Elapsed: 00:00:00.13

Execution Plan

----------------------------------------------------------

Plan hash value: 3358514785

--------------------------------------------------------------------------------

--------------

| Id | Operation                   | Name           | Rows  | Bytes | Cost (%CP

U)| Time    |

--------------------------------------------------------------------------------

--------------

|   0| SELECT STATEMENT            |                |    16 | 1552 |    19   (

0)| 00:00:01 |

|   1|  TABLE ACCESS BY INDEX ROWID| DAVE           |   16 |  1552 |    19  (

0)| 00:00:01 |

|*  2|   INDEX RANGE SCAN          | IDX_DAVE_OBJID |    16 |      |     3   (

0)| 00:00:01 |

--------------------------------------------------------------------------------

--------------

Predicate Information (identified byoperation id):

---------------------------------------------------

   2- access("OBJECT_ID"=10)

Statistics

----------------------------------------------------------

         15 recursive calls

         0  db block gets

         63 consistent gets

         0  physical reads

         0  redo size

      3043  bytes sent via SQL*Net toclient

       534  bytes received via SQL*Netfrom client

         3  SQL*Net roundtrips to/fromclient

         0  sorts (memory)

         0  sorts (disk)

        16  rows processed

08:20:23 SQL> set lin 120

08:20:43 SQL> /

16 rows selected.

Elapsed: 00:00:00.02

Execution Plan

----------------------------------------------------------

Plan hash value: 3358514785

----------------------------------------------------------------------------------------------

| Id | Operation                   |Name           | Rows  | Bytes | Cost (%CPU)| Time     |

----------------------------------------------------------------------------------------------

|   0| SELECT STATEMENT            |                |    16 | 1552 |    19   (0)| 00:00:01 |

|   1|  TABLE ACCESS BY INDEX ROWID| DAVE           |   16 |  1552 |    19  (0)| 00:00:01 |

|*  2|   INDEX RANGE SCAN          | IDX_DAVE_OBJID |    16 |      |     3   (0)| 00:00:01 |

----------------------------------------------------------------------------------------------

Predicate Information (identified by operationid):

---------------------------------------------------

   2- access("OBJECT_ID"=10)

Statistics

----------------------------------------------------------

         0  recursive calls

         0  db block gets

         21 consistent gets

         0  physical reads

         0  redo size

      3043  bytes sent via SQL*Net toclient

       534  bytes received via SQL*Netfrom client

         3  SQL*Net roundtrips to/fromclient

         0  sorts (memory)

         0  sorts (disk)

        16  rows processed

相同的SQL,第一次执行产生了63次consistent gets,第二次执行产生了21次consistent gets,减少2/3.

2.3 使用10046 跟踪SQL

--在跟踪之前,为避免缓存带来的影响,我们先刷新shared pool 和 db buffer。

08:27:31 SQL> alter system flushshared_pool;

System altered.

Elapsed: 00:00:00.21

08:28:47 SQL> alter system flushbuffer_cache;

System altered.

Elapsed: 00:00:00.30

--使用10046 跟踪:

--第一次:

SQL> set tim on timing on

08:50:08 SQL> set autot trace stat

08:50:16 SQL> oradebug setmypid

Statement processed.

08:50:20 SQL> alter session set tracefile_identifier='dave1';

Session altered.

Elapsed: 00:00:00.01

08:50:26 SQL> oradebug event 10046 tracename context forever,level 12;

Statement processed.

08:50:31 SQL> select * from dave whereobject_id=10;

16 rows selected.

Elapsed: 00:00:00.07

Statistics

----------------------------------------------------------

        40  recursive calls

         0  db block gets

         94 consistent gets

        26  physical reads

         0  redo size

      1959  bytes sent via SQL*Net toclient

       534  bytes received via SQL*Netfrom client

         3  SQL*Net roundtrips to/fromclient

         4  sorts (memory)

         0  sorts (disk)

        16  rows processed

08:50:36 SQL> oradebug event 10046 tracename context off;

Statement processed.

08:50:42 SQL> oradebug tracefile_name

/u01/app/oracle/diag/rdbms/dave/dave/trace/dave_ora_9774_dave1.trc

08:50:45 SQL>

--第二次:

08:50:45 SQL> alter session settracefile_identifier='dave2';       

Session altered.

Elapsed: 00:00:00.01

08:51:34 SQL> oradebug event 10046 tracename context forever,level 12;

Statement processed.

08:51:40 SQL> select * from dave whereobject_id=10;

16 rows selected.

Elapsed: 00:00:00.01

Statistics

----------------------------------------------------------

         0  recursive calls

         0  db block gets

         21 consistent gets

         0  physical reads

         0  redo size

      1959  bytes sent via SQL*Net toclient

       534  bytes received via SQL*Netfrom client

         3  SQL*Net roundtrips to/fromclient

         0  sorts (memory)

         0  sorts (disk)

        16  rows processed

08:51:45 SQL> oradebug event 10046 tracename context off;

Statement processed.

08:51:52 SQL> oradebug tracefile_name

/u01/app/oracle/diag/rdbms/dave/dave/trace/dave_ora_9774_dave2.trc

第一次执行: 产生94个consistent gets,trace file:dave_ora_9774_dave1.trc

第二次执行: 产生21个consistentgets,trace file:dave_ora_9774_dave2.trc

2.4 使用tkprof 格式化trace file

1. 第一次的trace file:

[oracle@dave ~]$ tkprof /u01/app/oracle/diag/rdbms/dave/dave/trace/dave_ora_9774_dave1.trc/u01/dave1.trc

TKPROF: Release 11.2.0.3.0 - Development onWed Sep 12 08:56:59 2012

Copyright (c) 1982, 2011, Oracle and/or itsaffiliates.  All rights reserved.

2. 第二次的trace file:

[oracle@dave ~]$ tkprof/u01/app/oracle/diag/rdbms/dave/dave/trace/dave_ora_9774_dave2.trc/u01/dave2.trc

TKPROF: Release 11.2.0.3.0 - Development onWed Sep 12 08:57:29 2012

Copyright (c) 1982, 2011, Oracle and/or itsaffiliates.  All rights reserved.

2.5 对比tracefile

1.   trace 1

OVERALLTOTALS FOR ALL NON-RECURSIVE STATEMENTS

call    count       cpu    elapsed       disk     query    current        rows

------- ------  -------- ---------- ---------- --------------------  ----------

Parse       1      0.01       0.02          7         73          0           0

Execute     1      0.00       0.00          0          0          0           0

Fetch       3      0.00       0.00         19         21          0          16

------- ------  -------- ---------- ---------- --------------------  ----------

total       5      0.02       0.02         26         94          0          16

Misses in library cache during parse: 1

Elapsed times include waiting on followingevents:

 Event waited on                             Times   Max. Wait Total Waited

 ----------------------------------------   Waited ----------  ------------

 SQL*Net message to client                       5        0.00          0.00

 SQL*Net message from client                     5        4.55          4.55

  dbfile sequential read                        5        0.00          0.00

  dbfile parallel read                          1        0.00          0.00

OVERALLTOTALS FOR ALL RECURSIVE STATEMENTS

call    count       cpu    elapsed       disk     query    current        rows

------- ------  -------- ---------- ---------- --------------------  ----------

Parse       0      0.00       0.00          0          0          0           0

Execute    22      0.00      0.00          0          0          0           0

Fetch      39      0.00       0.00          7         73          0          36

------- ------  -------- ---------- ---------- --------------------  ----------

total      61      0.00       0.01          7         73          0          36

Misses in library cache during parse: 0

Elapsed times include waiting on followingevents:

 Event waited on                             Times   Max. Wait Total Waited

 ----------------------------------------   Waited ----------  ------------

  dbfile sequential read                        7        0.00          0.00

   1  user  SQL statements in session.

   7  internal SQL statements insession.

   8  SQL statements in session.

2. trace 2

OVERALLTOTALS FOR ALL NON-RECURSIVE STATEMENTS

call    count       cpu    elapsed       disk     query    current        rows

------- ------  -------- ---------- ---------- --------------------  ----------

Parse       1      0.00       0.00          0          0          0           0

Execute     1      0.00       0.00          0          0          0           0

Fetch       3      0.00       0.00          0         21          0          16

------- ------  -------- ---------- ---------- --------------------  ----------

total       5      0.00       0.00          0         21          0          16

Misses in library cache during parse: 0

Elapsed times include waiting on followingevents:

 Event waited on                             Times   Max. Wait Total Waited

 ----------------------------------------   Waited ----------  ------------

 SQL*Net message to client                       5        0.00          0.00

 SQL*Net message from client                     5        5.15          5.16

OVERALLTOTALS FOR ALL RECURSIVE STATEMENTS

call    count       cpu    elapsed       disk     query    current        rows

------- ------  -------- ---------- ---------- --------------------  ----------

Parse       0      0.00       0.00          0          0          0           0

Execute     0      0.00       0.00          0          0          0           0

Fetch       0      0.00       0.00          0          0         0           0

------- ------  -------- ---------- ---------- --------------------  ----------

total       0      0.00       0.00          0          0          0           0

Misses in library cache during parse: 0

   1  user  SQL statements in session.

   0  internal SQL statements insession.

   1  SQL statements in session.

以上关键部分已经黑体加粗。

3. 小结

NON-RECURSIVESTATEMENTS:

       指非递归的SQL,就是用户本身SQL消耗的实际资源情况。

 

RECURSIVESTATEMENTS

       指递归SQL,就是由用户SQL衍生出来的其他的SQL,这里通常指为了执行这条SQL语句,而对其进行语义分析,动态采样等操作。所以这部分的消耗是这些衍生SQL的消耗。

通过2个trace 对比,我们可以看出trace 1 比trace 2多出来的consistent gets就是用来parse的部分,其实际执行的消耗都是一样的。都是21.

在trace 1中,我们看到的解析产生的consistent get 是73. 其也是由很多部分组成,在开始的那部分信息,都是与解析相关。关于在解析的步骤和消耗,可以查看附录4.1 中完整的trace 。这里列一个计算结果:

       8+4+7+3+3+3+45= 73.

三.总结

       当我们第一次执行一条SQL语句时,Oracle 会其进行一个硬解析的操作,这个操作会额外的消耗一些资源,比如语法分析,语义分析,制定执行计划等操作。所以我们看到的consistent gets会比较大,第二次执行相同的SQL时,没有进行硬解析,所以产生的consistent gets就是我们SQL 实际的一个资源消耗。

四.附录:完整的TraceFile

4.1 dave1.trc

[oracle@dave u01]$ cat dave1.trc

TKPROF: Release 11.2.0.3.0 - Development onWed Sep 12 08:56:59 2012

Copyright (c) 1982, 2011, Oracle and/or itsaffiliates.  All rights reserved.

Trace file:/u01/app/oracle/diag/rdbms/dave/dave/trace/dave_ora_9774_dave1.trc

Sort options: default

********************************************************************************

count   = number of times OCI procedure was executed

cpu     = cpu time in seconds executing

elapsed = elapsed time in seconds executing

disk    = number of physical reads of buffers from disk

query   = number of buffers gotten for consistent read

current = number of buffers gotten in current mode (usually for update)

rows    = number of rows processed by the fetch or execute call

********************************************************************************

SQL ID: 3nkd3g3ju5ph1 Plan Hash: 2853959010

select obj#,type#,ctime,mtime,stime,status, dataobj#, flags, oid$, spare1,

 spare2

from

 obj$where owner#=:1 and name=:2 and namespace=:3 and remoteowner is null

  andlinkname is null and subname is null

call    count       cpu    elapsed       disk     query    current        rows

------- ------  -------- ---------- ---------- --------------------  ----------

Parse       0      0.00       0.00          0          0          0           0

Execute     2      0.00      0.00          0          0          0           0

Fetch       2      0.00       0.00          1          8          0           2

------- ------  -------- ---------- ---------- --------------------  ----------

total       4      0.00       0.00          1          8          0           2

Misses in library cache during parse: 0

Optimizer mode: CHOOSE

Parsing user id: SYS   (recursive depth: 1)

Elapsed times include waiting on followingevents:

 Event waited on                             Times   Max. Wait Total Waited

 ----------------------------------------   Waited ----------  ------------

  dbfile sequential read                        1        0.00          0.00

********************************************************************************

SQL ID: 1gu8t96d0bdmu Plan Hash: 2035254952

selectt.ts#,t.file#,t.block#,nvl(t.bobj#,0),nvl(t.tab#,0),t.intcols,

 nvl(t.clucols,0),t.audit$,t.flags,t.pctfree$,t.pctused$,t.initrans,

 t.maxtrans,t.rowcnt,t.blkcnt,t.empcnt,t.avgspc,t.chncnt,t.avgrln,

 t.analyzetime,t.samplesize,t.cols,t.property,nvl(t.degree,1),

 nvl(t.instances,1),t.avgspc_flb,t.flbcnt,t.kernelcols,nvl(t.trigflag,0),

 nvl(t.spare1,0),nvl(t.spare2,0),t.spare4,t.spare6,ts.cachedblk,ts.cachehit,

 ts.logicalread

from

 tab$t, tab_stats$ ts where t.obj#= :1 and t.obj# = ts.obj# (+)

call    count       cpu    elapsed       disk     query    current        rows

------- ------  -------- ---------- ---------- --------------------  ----------

Parse       0      0.00       0.00          0          0          0           0

Execute     1      0.00       0.00          0          0          0           0

Fetch       1      0.00       0.00          2          4          0           1

------- ------  -------- ---------- ---------- --------------------  ----------

total       2      0.00       0.00          2          4          0           1

Misses in library cache during parse: 0

Optimizer mode: CHOOSE

Parsing user id: SYS   (recursive depth: 1)

Elapsed times include waiting on followingevents:

 Event waited on                             Times   Max. Wait Total Waited

 ----------------------------------------   Waited ----------  ------------

  dbfile sequential read                        2        0.00          0.00

********************************************************************************

SQL ID: 7ng34ruy5awxq Plan Hash: 3992920156

selecti.obj#,i.ts#,i.file#,i.block#,i.intcols,i.type#,i.flags,i.property,

 i.pctfree$,i.initrans,i.maxtrans,i.blevel,i.leafcnt,i.distkey,i.lblkkey,

 i.dblkkey,i.clufac,i.cols,i.analyzetime,i.samplesize,i.dataobj#,

 nvl(i.degree,1),nvl(i.instances,1),i.rowcnt,mod(i.pctthres$,256),

 i.indmethod#,i.trunccnt,nvl(c.unicols,0),nvl(c.deferrable#+c.valid#,0),

 nvl(i.spare1,i.intcols),i.spare4,i.spare2,i.spare6,decode(i.pctthres$,null,

 null,mod(trunc(i.pctthres$/256),256)),ist.cachedblk,ist.cachehit,

 ist.logicalread

from

 ind$i, ind_stats$ ist, (select enabled, min(cols) unicols,

 min(to_number(bitand(defer,1)))deferrable#,min(to_number(bitand(defer,4)))

 valid# from cdef$ where obj#=:1 and enabled > 1 group by enabled) cwhere

 i.obj#=c.enabled(+) and i.obj# = ist.obj#(+) and i.bo#=:1 order by i.obj#

call    count       cpu    elapsed       disk     query    current        rows

------- ------  -------- ---------- ---------- --------------------  ----------

Parse       0      0.00       0.00          0          0          0           0

Execute      1     0.00       0.00          0          0          0           0

Fetch       2      0.00       0.00          2          7          0           1

------- ------  -------- ---------- ---------- --------------------  ----------

total       3      0.00       0.00          2          7          0           1

Misses in library cache during parse: 0

Optimizer mode: CHOOSE

Parsing user id: SYS   (recursive depth: 1)

Elapsed times include waiting on followingevents:

 Event waited on                             Times   Max. Wait Total Waited

 ----------------------------------------   Waited ----------  ------------

  dbfile sequential read                        2        0.00          0.00

********************************************************************************

SQL ID: 5n1fs4m2n2y0r Plan Hash: 299250003

selectpos#,intcol#,col#,spare1,bo#,spare2,spare3

from

 icol$ where obj#=:1

call    count       cpu    elapsed       disk     query    current        rows

------- ------  -------- ---------- ---------- --------------------  ----------

Parse       0      0.00       0.00          0          0          0           0

Execute     1      0.00       0.00          0          0          0           0

Fetch       2      0.00       0.00         1          3          0           1

------- ------  -------- ---------- ---------- --------------------  ----------

total       3      0.00       0.00          1          3          0           1

Misses in library cache during parse: 0

Optimizer mode: CHOOSE

Parsing user id: SYS   (recursive depth: 1)

Elapsed times include waiting on followingevents:

 Event waited on                             Times   Max. Wait Total Waited

 ----------------------------------------   Waited ----------  ------------

  dbfile sequential read                        1        0.00          0.00

********************************************************************************

SQL ID: 83taa7kaw59c1 Plan Hash: 3765558045

select name,intcol#,segcol#,type#,length,nvl(precision#,0),decode(type#,2,

 nvl(scale,-127/*MAXSB1MINAL*/),178,scale,179,scale,180,scale,181,scale,182,

 scale,183,scale,231,scale,0),null$,fixedstorage,nvl(deflength,0),default$,

 rowid,col#,property, nvl(charsetid,0),nvl(charsetform,0),spare1,spare2,

 nvl(spare3,0)

from

 col$where obj#=:1 order by intcol#

call    count       cpu    elapsed       disk     query    current        rows

------- ------  -------- ---------- ---------- --------------------  ----------

Parse       0      0.00       0.00          0          0          0           0

Execute     1      0.00       0.00          0          0          0           0

Fetch      16      0.00       0.00          0          3          0          15

------- ------  -------- ---------- ---------- --------------------  ----------

total      17      0.00       0.00          0          3          0          15

Misses in library cache during parse: 0

Optimizer mode: CHOOSE

Parsing user id: SYS   (recursive depth: 1)

********************************************************************************

SQL ID: 87gaftwrm2h68 Plan Hash: 1218588913

selecto.owner#,o.name,o.namespace,o.remoteowner,o.linkname,o.subname

from

 obj$o where o.obj#=:1

call    count       cpu    elapsed      disk      query    current        rows

------- ------  -------- ---------- ---------- --------------------  ----------

Parse       0      0.00       0.00          0          0          0           0

Execute     1      0.00       0.00         0          0          0           0

Fetch       1      0.00       0.00          0          3          0           1

------- ------  -------- ---------- ---------- --------------------  ----------

total       2      0.00       0.00          0          3         0           1

Misses in library cache during parse: 0

Optimizer mode: CHOOSE

Parsing user id: SYS   (recursive depth: 1)

********************************************************************************

SQL ID: 96g93hntrzjtr Plan Hash: 2239883476

select /*+ rule */ bucket_cnt, row_cnt,cache_cnt, null_cnt, timestamp#,

 sample_size, minimum, maximum, distcnt, lowval, hival, density, col#,

 spare1, spare2, avgcln

from

 hist_head$ where obj#=:1 and intcol#=:2

call    count       cpu    elapsed       disk     query    current        rows

------- ------  -------- ---------- ---------- --------------------  ----------

Parse       0      0.00       0.00          0          0          0           0

Execute    15      0.00       0.00         0          0          0           0

Fetch      15      0.00       0.00          1         45          0          15

------- ------  -------- ---------- ---------- --------------------  ----------

total      30      0.00       0.00          1         45         0          15

Misses in library cache during parse: 0

Optimizer mode: RULE

Parsing user id: SYS   (recursive depth: 1)

Elapsed times include waiting on followingevents:

 Event waited on                             Times   Max. Wait Total Waited

 ----------------------------------------   Waited ----------  ------------

  dbfile sequential read                        1        0.00          0.00

********************************************************************************

SQL ID: 6rsg9q38ak6ys Plan Hash: 3358514785

select *

from

 davewhere object_id=10

call    count       cpu    elapsed       disk     query    current        rows

------- ------  -------- ---------- ---------- --------------------  ----------

Parse       1      0.01      0.02          7         73          0           0

Execute     1      0.00       0.00          0          0          0           0

Fetch       3      0.00       0.00         19         21          0          16

------- ------  -------- ---------- ---------- --------------------  ----------

total       5      0.02       0.02         26         94          0          16

Misses in library cache during parse: 1

Optimizer mode: ALL_ROWS

Parsing user id: SYS

Number of plan statistics captured: 1

Rows (1st) Rows (avg) Rows (max)  Row Source Operation

---------- ---------- ---------- ---------------------------------------------------

       16         16         16 TABLE ACCESS BY INDEX ROWID DAVE (cr=21 pr=19 pw=0 time=2502 us cost=19size=1552 card=16)

       16         16         16  INDEX RANGE SCAN IDX_DAVE_OBJID (cr=5 pr=3 pw=0 time=1644 us cost=3size=0 card=16)(object id 76858)

Elapsed times include waiting on followingevents:

 Event waited on                             Times   Max. Wait Total Waited

 ----------------------------------------   Waited ----------  ------------

 SQL*Net message to client                       3        0.00          0.00

  dbfile sequential read                        5        0.00          0.00

 SQL*Net message from client                     3        0.00          0.00

  dbfile parallel read                          1        0.00          0.00

********************************************************************************

OVERALL TOTALS FOR ALL NON-RECURSIVESTATEMENTS

call    count       cpu    elapsed       disk     query    current        rows

------- ------  -------- ---------- ---------- --------------------  ----------

Parse       1      0.01       0.02          7         73         0           0

Execute     1      0.00       0.00          0          0          0           0

Fetch       3      0.00       0.00         19         21          0          16

------- ------  -------- ---------- ---------- --------------------  ----------

total       5      0.02       0.02         26         94          0          16

Misses in library cache during parse: 1

Elapsed times include waiting on followingevents:

 Event waited on                             Times   Max. Wait Total Waited

 ----------------------------------------   Waited ----------  ------------

 SQL*Net message to client                       5        0.00          0.00

 SQL*Net message from client                     5        4.55          4.55

  dbfile sequential read                        5        0.00          0.00

  dbfile parallel read                          1        0.00          0.00

OVERALL TOTALS FOR ALL RECURSIVE STATEMENTS

call    count       cpu    elapsed       disk     query    current        rows

------- ------  -------- ---------- ---------- --------------------  ----------

Parse       0      0.00       0.00          0          0          0           0

Execute    22      0.00       0.00          0          0          0           0

Fetch      39      0.00       0.00          7         73          0          36

------- ------  -------- ---------- ---------- --------------------  ----------

total      61      0.00       0.01          7         73          0          36

Misses in library cache during parse: 0

Elapsed times include waiting on followingevents:

 Event waited on                             Times   Max. Wait Total Waited

 ----------------------------------------   Waited ----------  ------------

  dbfile sequential read                        7        0.00          0.00

   1  user  SQL statements in session.

   7  internal SQL statements insession.

   8  SQL statements in session.

********************************************************************************

Trace file:/u01/app/oracle/diag/rdbms/dave/dave/trace/dave_ora_9774_dave1.trc

Trace file compatibility: 11.1.0.7

Sort options: default

      4  sessions in tracefile.

      2  user  SQL statements in trace file.

     14  internal SQL statements in tracefile.

      8  SQL statements in trace file.

      8  unique SQL statements in tracefile.

    465  lines in trace file.

      0  elapsed seconds in trace file.

4.2 dave2.trc

[oracle@dave u01]$ cat dave2.trc

TKPROF: Release 11.2.0.3.0 - Development onWed Sep 12 08:57:29 2012

Copyright (c) 1982, 2011, Oracle and/or itsaffiliates.  All rights reserved.

Trace file:/u01/app/oracle/diag/rdbms/dave/dave/trace/dave_ora_9774_dave2.trc

Sort options: default

********************************************************************************

count   = number of times OCI procedure was executed

cpu     = cpu time in seconds executing

elapsed = elapsed time in seconds executing

disk    = number of physical reads of buffers from disk

query   = number of buffers gotten for consistent read

current = number of buffers gotten in current mode (usually for update)

rows    = number of rows processed by the fetch or execute call

********************************************************************************

SQL ID: 6rsg9q38ak6ys Plan Hash: 3358514785

select *

from

 davewhere object_id=10

call    count       cpu    elapsed       disk     query    current        rows

------- ------  -------- ---------- ---------- --------------------  ----------

Parse       1      0.00       0.00          0          0          0           0

Execute     1      0.00       0.00          0          0          0           0

Fetch       3      0.00       0.00          0         21          0          16

------- ------  -------- ---------- ---------- --------------------  ----------

total       5      0.00       0.00          0         21          0          16

Misses in library cache during parse: 0

Optimizer mode: ALL_ROWS

Parsing user id: SYS

Number of plan statistics captured: 1

Rows (1st) Rows (avg) Rows (max)  Row Source Operation

---------- ---------- ---------- ---------------------------------------------------

       16         16         16 TABLE ACCESS BY INDEX ROWID DAVE (cr=21 pr=0 pw=0 time=963 us cost=19size=1552 card=16)

       16         16         16  INDEX RANGE SCAN IDX_DAVE_OBJID (cr=5 pr=0 pw=0 time=671 us cost=3 size=0card=16)(object id 76858)

Elapsed times include waiting on followingevents:

 Event waited on                             Times   Max. Wait Total Waited

 ----------------------------------------   Waited ----------  ------------

 SQL*Net message to client                       3        0.00          0.00

 SQL*Net message from client                     3        0.00          0.00

********************************************************************************

OVERALL TOTALS FOR ALL NON-RECURSIVESTATEMENTS

call    count       cpu    elapsed       disk     query    current        rows

------- ------  -------- ---------- ---------- --------------------  ----------

Parse       1      0.00       0.00          0          0          0           0

Execute     1      0.00       0.00          0          0          0           0

Fetch       3      0.00       0.00         0         21          0          16

------- ------  -------- ---------- ---------- --------------------  ----------

total       5      0.00       0.00          0         21          0          16

Misses in library cache during parse: 0

Elapsed times include waiting on followingevents:

 Event waited on                             Times   Max. Wait Total Waited

 ----------------------------------------   Waited ----------  ------------

 SQL*Net message to client                       5       0.00          0.00

 SQL*Net message from client                     5        5.15          5.16

OVERALL TOTALS FOR ALL RECURSIVE STATEMENTS

call    count       cpu    elapsed       disk     query    current        rows

------- ------  -------- ---------- ---------- --------------------  ----------

Parse       0      0.00       0.00          0          0          0           0

Execute     0      0.00       0.00          0          0          0           0

Fetch       0      0.00       0.00          0          0          0           0

------- ------  -------- ---------- ---------- --------------------  ----------

total       0      0.00       0.00          0          0          0           0

Misses in library cache during parse: 0

   1  user  SQL statements in session.

   0  internal SQL statements insession.

   1  SQL statements in session.

********************************************************************************

Trace file:/u01/app/oracle/diag/rdbms/dave/dave/trace/dave_ora_9774_dave2.trc

Trace file compatibility: 11.1.0.7

Sort options: default

      5  sessions in tracefile.

      2  user  SQL statements in trace file.

      0  internal SQL statements intrace file.

      1  SQL statements in trace file.

      1  unique SQL statements in tracefile.

    120  lines in trace file.

      0  elapsed seconds in trace file.

-------------------------------------------------------------------------------------------------------

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

Skype: tianlesoftware

QQ:              tianlesoftware@gmail.com

Email:   tianlesoftware@gmail.com

Blog:     http://www.tianlesoftware.com

Weibo: http://weibo.com/tianlesoftware

Twitter: http://twitter.com/tianlesoftware

Facebook: http://www.facebook.com/tianlesoftware

Linkedin: http://cn.linkedin.com/in/tianlesoftware

-------加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请----

DBA1 群:62697716(满);   DBA2 群:62697977(满)  DBA3 群:62697850(满)   

DBA 超级群:63306533(满);  DBA4 群:83829929   DBA5群: 142216823

DBA6 群:158654907    DBA7 群:172855474   DBA总群:104207940

原文地址:https://www.cnblogs.com/tianlesoftware/p/3609188.html