oracle 10046事件故障診斷一例
什麼是事件?
EVENTS are primarily used to produce additional diagnostic information
when insufficient information is available to resolve a given problem.
什麼是10046事件?
oracle除錯事件之一,幫助我們解析 一條/多條SQL、PL/SQL語句的執行狀態 ,這些狀態包括 :Parse/Fetch/Execute三個階段中遇到的等待事件、消耗的物理和邏輯讀、CPU時間、執行計劃等等。
[oracle@hhu mesg]$ oerr ora 10046
10046, 00000, "enable SQL statement timing"
// *Cause:
// *Action:
10046事件的幾種典型用法
單條sql除錯
多條sql除錯
案例
透過awr報告或直接查詢到該sql語句對應的sql id,然後在全域性開啟10046事件,追蹤單條sql執行情況,同時請開發人員用zabbix監控,一旦發現該語句的執行有耗時超過10s級別的,立刻反饋。開發人員反饋捕捉到10s級別的執行情況後,關閉10046事件。進入到trace目錄,用tkprof工具處理兩份.trc檔案,一份正常耗時,一份超時的,具體內容見另外兩個文件。對比發現,兩次sql執行的執行計劃一致,但是超時的會處理上百萬行資料,訪問十幾萬個塊,而正常耗時的則只是處理幾十行資料。開發人員繼而列印出語句中的繫結變數,發現超長耗時與具體繫結變數值相關。問題到此交與開發人員解決。
EVENTS are primarily used to produce additional diagnostic information
when insufficient information is available to resolve a given problem.
An EVENT is a special item used by the Oracle server to do one of the following:
event是oracle伺服器用於下述三種目的的一個特殊物件:
Change behaviour 改變狀態(行為)
Enable collection of trace or debug information 開啟收集trace或debug資訊
Enable additional error checking or similar 開啟額外錯誤資訊檢查或類似目的
Change behaviour 改變狀態(行為)
Enable collection of trace or debug information 開啟收集trace或debug資訊
Enable additional error checking or similar 開啟額外錯誤資訊檢查或類似目的
什麼是10046事件?
oracle除錯事件之一,幫助我們解析 一條/多條SQL、PL/SQL語句的執行狀態 ,這些狀態包括 :Parse/Fetch/Execute三個階段中遇到的等待事件、消耗的物理和邏輯讀、CPU時間、執行計劃等等。
[oracle@hhu mesg]$ oerr ora 10046
10046, 00000, "enable SQL statement timing"
// *Cause:
// *Action:
10046事件的幾種典型用法
單條sql除錯
多條sql除錯
案例
透過awr報告或直接查詢到該sql語句對應的sql id,然後在全域性開啟10046事件,追蹤單條sql執行情況,同時請開發人員用zabbix監控,一旦發現該語句的執行有耗時超過10s級別的,立刻反饋。開發人員反饋捕捉到10s級別的執行情況後,關閉10046事件。進入到trace目錄,用tkprof工具處理兩份.trc檔案,一份正常耗時,一份超時的,具體內容見另外兩個文件。對比發現,兩次sql執行的執行計劃一致,但是超時的會處理上百萬行資料,訪問十幾萬個塊,而正常耗時的則只是處理幾十行資料。開發人員繼而列印出語句中的繫結變數,發現超長耗時與具體繫結變數值相關。問題到此交與開發人員解決。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29067253/viewspace-2149450/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle故障診斷Oracle
- ORACLE診斷事件Oracle事件
- Oracle效能診斷一例Oracle
- Oracle診斷事件列表Oracle事件
- ORACLE診斷事件(zt)Oracle事件
- 9 Oracle Data Guard 故障診斷Oracle
- Oracle效能問題診斷一例Oracle
- Oracle診斷事件列表(轉)Oracle事件
- oracle 事件診斷詳細Oracle事件
- 部落格連結—Oracle故障診斷Oracle
- Oracle所有診斷事件列表eventsOracle事件
- Oracle診斷事件例項(一)Oracle事件
- oracle 10053診斷事件Oracle事件
- ORACLE診斷事件的總結Oracle事件
- 利用10015診斷事件解決oracle crush down 一例事件Oracle
- zt_oracle診斷事件event列表Oracle事件
- db file async I/O submit等待事件的故障診斷MIT事件
- 診斷事件(1)事件
- oracle診斷事件及深入解析10053事件Oracle事件
- 光纖故障診斷和故障排查
- 資料庫診斷一例資料庫
- ASM磁碟故障診斷(二)ASM
- ASM磁碟故障診斷(一)ASM
- 故障診斷學習工具
- RAC故障診斷指令碼指令碼
- Oracle___診斷案例__資料庫的exp故障Oracle資料庫
- 故障分析 | Kubernetes 故障診斷流程
- DB2故障診斷工具DB2
- 使用隱含Trace引數診斷Oracle Data Pump故障Oracle
- 等待事件快速定位診斷事件
- 等待事件效能診斷方法事件
- 使用隱含Trace引數診斷Oracle Data Pump(expdp)故障Oracle
- mysql複製故障診斷與排除MySql
- ORACLE診斷案例Oracle
- oracle小知識點16-診斷事件diagnostic eventsOracle事件
- SQL Server database mail問題診斷一例SQLServerDatabaseAI
- websphere中介軟體故障診斷troubleshootingWeb
- 利用 Java dump 進行 JVM 故障診斷JavaJVM