溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Oracle 10046 SQL TRACE

發(fā)布時間:2020-08-09 16:31:16 來源:ITPUB博客 閱讀:145 作者:pentium 欄目:關(guān)系型數(shù)據(jù)庫

10046是一個Oracle的內(nèi)部事件(event),通過設(shè)置這個事件可以得到Oracle內(nèi)部執(zhí)行系統(tǒng)解析、調(diào)用、等待、綁定變量等詳細的trace信息,對于分析系統(tǒng)的性能有著非常重要的作用。

設(shè)置10046事件的不同級別能得到不同詳細程度的trace信息,下面就列出各個不同級別的對應(yīng)作用:

等級 二進制 作用
0000 無輸出
1 0001 輸出 ****,APPNAME(應(yīng)用程序名),PARSING IN CURSOR,PARSE ERROR(SQL解析),EXEC(執(zhí)行),FETCH(獲取數(shù)據(jù)),UNMAP,SORT UNMAP(排序,臨時段),ERROR,STAT(執(zhí)行計劃),XCTEND(事務(wù))等行
2 0011 與等級1完全一樣
4 0101 包括等級1的輸出,加上BIND行(綁定變量信息)
8 1001 包括等級1的輸出,加上WAIT行(等待事件信息)
12 1101 輸出等級1、等級4以及等級8的所有信息

等級1的10046 trace被視為是普通的SQL Trace,而等級4、等級8以及等級12則被稱為Extended SQL Trace,Extended SQL Trace里面包括了最有用的WAIT信息,因此在實際中也是用的最多的。

與SQL Trace相關(guān)的參數(shù)

在打開10046時間的SQL Trace之前,要先設(shè)置好下面幾個參數(shù)。

timed_statistics
這個參數(shù)決定了是否收集與時間相關(guān)的統(tǒng)計信息,如果這個參數(shù)為FALSE的話,那么SQL Trace的結(jié)果基本沒有多大的用處,默認情況下這個參數(shù)設(shè)置為TRUE。
max_dump_file_size
dump文件的大小,也就是決定是否限制SQL Trace文件的大小,在一個很忙的系統(tǒng)上面做SQL Trace的話可能會生成很多的信息,因此最好在會話級別將這個參數(shù)設(shè)置成unlimited。
tracefile_identifier
給Trace文件設(shè)置識別字符串,這是個非常有用的參數(shù),設(shè)置一個易讀的字串能更快的找到Trace文件。

要在當前會話修改上述參數(shù)很簡單,只要使用下面的命令即可:

1
2
3
ALTER   SESSION  SET   timed_statistics= true
ALTER   SESSION  SET   max_dump_file_size=unlimited
ALTER   SESSION  SET   tracefile_identifier='my_trace_session

10046 Trace啟動方法

使用sql_trace參數(shù)

sql_trace應(yīng)該是簡單快捷的開啟Trace的方法了,不過通過sql_trace只能開啟級別為1的Trace,而無法開啟其他更高級的Trace。

session 級別: alter session set events ‘10046  trace name context forever,level X’;

system 級別 :      alter system  set events ‘10046  trace name context forever,level X’;

 針對非本會話的 某一個進程設(shè)置,如果你知道他的SPID 操作系統(tǒng)進程號

oradebug setospid SPID;

oradebug event 10046 trace name context forever, level X;


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI