10046事件
使用10046事件可以追蹤數據庫或者會話層面的sql執行情況,包括解析、執行、抓取的方式,耗用的資源、CPU時間,等待事件等影響sql執行的信息
下面就本人對其的理解和操作備注下,方便以后的復習,也希望其他朋友能夠多多指點
一、啟動10046前的檢查
10046可以在會話層面和數據庫系統層面執行;
1、必須確保timed_statistics為TRUE,這個參數可以在會話級上進行修改。當此會話為false時,收集的數據比較有限,所以必須設置相關參數來完善跟蹤文件內容;
10046 trace相關參數
1.??????????timed_statistics
timed_statistics這個參數決定了是否收集與時間相關的統計信息,如果這個參數為FALSE的話,那么SQL Trace的結果基本沒有多大的用處,默認情況下這個參數設置為TRUE。
show parameter timed_statistics ;
ALTER SESSION SET timed_statistics=true ;
2.??????????max_dump_file_size
max_dump_file_size這個參數指定dump文件的大小,也就是決定是否限制SQL Trace文件的大小,在一個很忙的系統上面做SQL Trace的話可能會生成很多的信息,因此最好在會話級別將這個參數設置成unlimited。
show parameter max_dump_file_size;
ALTER SESSION SET max_dump_file_size=unlimited ;
3.??????????tracefile_identifier
tracefile_identifier這個參數給Trace文件設置識別字符串,是個非常有用的參數,設置一個易讀的字串能更快的找到Trace文件。
show parameter??tracefile_identifier;
ALTER SESSION SET tracefile_identifier=’my_trace_session’;
4.??????????diagnostic_dest
diagnostic_dest這個參數11g新增的,用于控制存放trace文件與core文件的路徑,默認是$ORACLE_BASE目錄。
show parameter diagnostic_dest;?命令用于查看其目錄?
5.??????????user_dump_dest
user_dump_dest參數指定用戶進程trace文件目錄。
show parameter user_dump_dest ;?命令可以產看其目錄
alter system set user_dump_dest ='/U01/app/oracle/diag/rdbms/masterdb/masterdb/trace' scope=both;?命令用于更改其目錄
6.??????????background_dump_dest
background_dump_dest參數用于后臺進程產生的trace文件存儲目錄下。
show parameter background_dump_dest ;?命令可以查看其目錄
alter system set?background_dump_dest='/U01/app/oracle/diag/rdbms/masterdb/masterdb/trace' scope=both;?命令用于更改其目錄
2、為了確保trace輸出能夠完整進行,還要調整此會話對trace文件大小的限制,一般將此限制取消,即將max_dump_file_size設置為UNLIMITED,或者設置為一個很大的闕值。
在滿足了上述條件后,就可以啟用10046event對會話進行后臺跟蹤了。
二、開始跟蹤:
select distinct sid from v$mystat;---查看當前會話的sid
alter session set events "10046 trace name context forever, level 1";
level 1:跟蹤sql語句,包括解析、執行、提取、提交和回滾等。
level 4:包括變量的詳細信息
level 8:包括等待事件
level 12:包括綁定變量與等待事件
其中,level 1相當于打開了sql_trace;
select b.spid,a.sid,a.serial#,a.machine from v$session a,v$process b where a.paddr =b.addr ?and a.sid = '159'---查詢出的spid為trace文件的文件尾數字,如:spid=333,trace文件名:orcl_ora_333.trc;
三、結束事件:
alter session set events "10046 trace name context off";
然后在系統命令中執行tkprof,轉換trace文件為易讀文件;
轉載于:https://www.cnblogs.com/hhaahh/p/9998246.html
總結
- 上一篇: 中国银行的标志
- 下一篇: 管理费用率 管理费用和主营业务收入费用的