10046 tracefile註釋

skzhuga發表於2018-11-21

10046可看到語句的執行過程,包括各種步驟、關聯方式、分別在哪些步驟耗時多少、有哪些等待事件等。

1.資料庫呼叫

 分三個步驟:解析、執行和獲取

  解析:

  PARSING IN CURSOR #140186891763128 len=84 dep=0 uid=0 oct=3 lid=0 tim=1542789588408762 hv=2629212467 ad='9b65c8d8' sqlid='d2knts2fbd69m'

  select count(1)

  from dba_objects a,scott.tb_test2 b

  where  a.object_id = b.object_id

  END OF STMT

  PARSE #140186891763128:c=14309,e=14309,p=0,cr=12,cu=0,mis=1,r=0,dep=0,og=1,plh=2135238665,tim=1542789588408759

  

  PARSING IN CURSOR引數:

    len:SQL語句長度

   dep:遞迴呼叫深度

   uid:解析使用者識別符號,對應dba_users.user_id、v$sql.parsing_user_id

   oct:Oracle命令型別. 對應v$sql.command_type、v$session.command. create table:1 delete:7 select:3 insert:2 update:6 truncate:85 drop table:12

   lid:解析模式識別符號,對應dba_users.user_id、v$sql.parsing_schema_id

   tim:Timestamp.當前行寫入檔案時v$timer中的值

   hv:sql hash value,對應v$sql.hash_value

   ad:sql address, 對應v$sql.address

   sqlid:sql id,對應v$sql.sql_id

  

  PARSE引數:

    c:CPU開銷。9i之前釐秒,9i之後是微秒

   e:執行時間。9i之前釐秒,9i之後是微秒

   p:物理讀次數

   cr:邏輯讀的資料塊

   cu:current模式讀取的資料塊

   mis:1:硬解析 0:軟解析

   r:處理的行數

   dep:遞迴呼叫深度

   og:最佳化器模式: 1=All_Rows, 2=First_Rows, 3=Rule, 4=Choose

   tim:時間戳

   plh:plan hash value,執行計劃的hash值,對應v$sql_plan.plan_hash_value、v$sql_plan_statistics_all.plan_hash_value、v$sqlstats.plan_hash_value

  

  解析出錯時:

  PARSE ERROR #140092551821528:len=30 dep=0 uid=0 oct=3 lid=0 tim=1542780378216064 err=942

  select count(1) from scott.tb

  

  PARSE ERROR引數:

    len: SQL語句長度

   dep: 遞迴呼叫深度

   uid: 解析使用者識別符號,對應dba_users.user_id、v$sql.parsing_user_id

   oct: Oracle命令型別. 對應v$sql.command_type、v$session.command

   lid: 解析模式識別符號,對應dba_users.user_id、v$sql.parsing_schema_id

   tim:Timestamp.

   err:Oracle error code (e.g. ORA-XXXXX) reported

  

 執行和獲取:

  EXEC #[CURSOR]:c=0,e=0,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,plh=2295886755,tim=0

  FETCH #[CURSOR]:c=0,e=0,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,plh=2295886755,tim=0

  引數與PARSE引數相同


2.事務條目

  XCTEND rlbk=0, rd_only=0, tim=1542780757243972

 

  XCTEND引數:

  rlbk:1:rollback, 0:commit.

  rd_only :1:只讀事務, 0:事務中有資料被修改.

  tim:時間戳


3.STAT條目

  STAT #[CURSOR] id=1 cnt=1 pid=0 pos=1 obj=0 op='SORT AGGREGATE (cr=6 pr=0 pw=0 time=483 us)'

 STAT #[CURSOR] id=2 cnt=14 pid=1 pos=1 obj=75510 op='TABLE ACCESS FULL EMP (cr=6 pr=0 pw=0 time=432 us cost=2 size=0 card=14)'

 

  STAT引數:

  id:執行計劃中指示行資料來源順序的識別符號。通常一個執行計劃的第一條STAT的id=1

  cnt:當前行源返回的行數

  pid:當前行源的父結點id

  pos:Position in explain plan.

  obj:行源的物件id,對應於dba_objects.object_id、v$sql_plan.object#

  op:執行的操作,如表訪問、索引掃描、排序、聯合等,對應v$sql_plan.operation

 

  STAT執行統計引數:

  cr:Consistent reads.邏輯讀

  pr:Physical reads.物理讀

  pw:Physical writes.物理寫

  time:消耗的時間,微秒

  cost:CBO估計的成本

  size:估計的資料量,單位為位元組。基於物件的統計資訊

  card:估計的基數,基於物件的統計資訊


4.WAIT條目

  WAIT #140092549877616: nam='Disk file operations I/O' ela= 40 FileOperation=2 fileno=1 filetype=2 obj#=106 tim=1542780935083885

 WAIT #140092549877616: nam='db file sequential read' ela= 8945 file#=1 block#=69315 blocks=1 obj#=106 tim=1542780935092868

 WAIT #140092549877616: nam='db file sequential read' ela= 8859 file#=1 block#=69378 blocks=1 obj#=104 tim=1542780935101864

 

  WAIT引數:

  nam:等待事件名稱

  ela:執行時間,微秒

  p1:等待事件的第一個引數

  p2:等待事件的第二個引數

  p3:等待事件的第三個引數

  obj#:物件編號,也就是dba_object.object_id

  tim:時間戳


5.繫結變數條目

  BINDS #140092551821528:

  Bind#0

   oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

   oacflg=03 fl2=1000000 frm=00 csi=00 siz=24 off=0

   kxsbbbfp=7f69d6c94c20  bln=22  avl=02  flg=05

   value=20

   

  BINDS引數:

  Bind#N:繫結變數被使用的位置

  oacdty: 繫結變數資料型別

  mxl:繫結變數值的最大長度

  mxlc :未知

  mal:陣列長度

  scl:比例.

  pre:精度.

  oacflg:指示繫結選項的特殊標誌

  fl2:oacflg的第二部分

  frm:未知

  csi:資料庫字符集或國際字符集的字符集識別符號

  siz:給該chunk分配的記憶體總量

  off:該繫結緩衝區在chunk中的偏移

  kxsbbbfp: 繫結地址

  bln:繫結緩衝區長度

  avl:實際值的長度

  flg:繫結變數狀態

  value:繫結變數值

  

  資料型別程式碼:

  1         varchar2/nvarchar2

  2         number

  12       date

  96       char/nchar

  112     clob/nclob

  113     blob

  180     timestamp

 

 常見字符集和識別符號:

  1        US7ASCII

  31       WE8ISO8859P1

  46       WE8ISO8859P15

  170      EE8MSWIN1250

  178      WE8MSWIN1252

  871      UTF8

  873      AL32UTF8

  2000     AL16UTF16


6.釋放遊標

  CLOSE #140092551821528:c=15,e=15,dep=0,type=0,tim=1542780378208132

引數:

  c:CPU開銷。9i之前釐秒,9i之後是微秒

  e:執行時間。9i之前釐秒,9i之後是微秒

  dep:遊標遞迴深度

  type:type of close operation

  tim:Timestamp 時間戳


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31544156/viewspace-2220994/,如需轉載,請註明出處,否則將追究法律責任。

相關文章