在oracle10g環境下:
1.查看sql執行計劃:autotrace
? ? ? ? ? ? ? ? ? ? ? ? ? >set autotrace on
? ? ? ? ? ? ? ? ? ? ? ? ? >set autotrace off
? ? ? ? ? ? ? ? ? ? ? ? ? 默認情況是off
?
2.查看sql運行軌跡:sql_trace 和10046event
? ? ? 1)本session內:開啟>alter session set sql_trace=true;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 關閉>alter session set sql_trace=false;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 默認情況是false;
? ? ? ?2)其他用戶session:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?查詢其他session> select sid,serial#,username from v$session where username is not null;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?開啟>exec dbms_system.set_sql_trace_in_session(sid,serial#,true);
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?關閉>exec dbms_system.set_sql_trace_in_sesson(sid,serial#,false); ? ? ? ?
?
?
? ? ? ? 10046event 是sql_trace的增強版。
? ? ? ? 1)本session內: ?>alter session set events '10046 ?trace name ?context forever,level *';
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? >alter session set events '10046 ?trace name context off';
? ? ? ? 2)其他用戶session:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 查詢其他session> select sid,serial#,username from v$session where username is not null;?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?>exec dbms_system.set_ev(sid,serial#,10046,level,null);
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?>exec dbma_system.set_ev(sid,serial#,10046,0,null);
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
3. 獲取跟蹤文件:
select
d.value||'/'||lower(rtrim(i.instance, chr(0)))||'_ora_'||p.spid||'.trc' trace_file_name
from
( select p.spid
from sys.v$mystat m,sys.v$session s,sys.v$process p
where m.statistic# = 1 and s.sid = m.sid and p.addr = s.paddr) p,
( select t.instance from sys.v$thread t,sys.v$parameter v
where v.name = 'thread' and (v.value = 0 or t.thread# = to_number(v.value))) i,
( select value from sys.v$parameter where name = 'user_dump_dest') d
/
? ? ? ??
4.Tkprof工具格式化trc文件
? ? ? ?>tkprof ?old.trc ?1.txt ?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
