10046 tracefile註釋
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 10046事件概述事件
- Python註釋之TODO註釋Python
- Oracle 10046 SQL TRACEOracleSQL
- JavaScript註釋:單行註釋和多行註釋詳解JavaScript
- 註釋
- Python如何新增註釋?註釋有幾種?Python
- HTML 註釋HTML
- Python註釋Python
- Java註釋Java
- React註釋React
- SCSS 註釋CSS
- JavaScript 註釋JavaScript
- 註解和註釋區別
- 從10046看Oracle分割槽裁剪Oracle
- IDEA自定義類註釋和方法註釋(自定義groovyScript方法實現多行引數註釋)Idea
- python程式註釋Python
- 3 JS註釋JS
- /* */註釋的代替
- C# 註釋C#
- IDEA新增註釋Idea
- iOS 註釋方法大全 程式碼塊加快捷鍵註釋iOS
- Python註釋方式有哪些?註釋時需要注意什麼?Python
- vscode註釋快捷鍵是啥 vscode註釋快捷鍵設定VSCode
- VsCode 新增檔案頭部註釋和函式註釋[koroFileHeader]VSCode函式Header
- idea java 類開發中註釋@Author @Description 註釋報警告IdeaJava
- 單個SQL語句的10046 traceSQL
- 一段註釋
- IDEA自定義註釋Idea
- python中的註釋Python
- python如何新增註釋Python
- python如何註釋多行Python
- GoLang使用註釋 GoannoGolang
- Rust 註釋介紹Rust
- Oracle comment新增註釋Oracle
- PHP 註釋標記,PHP
- golang 註釋規範Golang
- kubernetes.yaml註釋YAML
- CSS 註釋規範CSS