您的位置:首页 > 数据库 > Oracle

Oracle 有关 Consistent gets 的测试

2012-09-16 17:26 288 查看

一.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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: