您好,登錄后才能下訂單哦!
本篇文章為大家展示了oracle 10046事件故障診斷分析,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
什么是事件?
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 開啟額外錯誤信息檢查或類似目的
什么是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執行的執行計劃一致,但是超時的會處理上百萬行數據,訪問十幾萬個塊,而正常耗時的則只是處理幾十行數據。開發人員繼而打印出語句中的綁定變量,發現超長耗時與具體綁定變量值相關。問題到此交與開發人員解決。
上述內容就是oracle 10046事件故障診斷分析,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。