10046 跟蹤其他會話

zhouxianwang發表於2013-01-26


SQL> select sid,serial#,username,status from v$session where username='TEST';

       SID    SERIAL# USERNAME

---------- ---------- ------------------------------

       124      26742 TEST


方法一:

執行跟蹤:

SQL> exec dbms_system.set_ev(148,2028,10046,8,'');           ------------注意最後一個引數'',必須是這樣的,而沒有使用者名稱

 

結束跟蹤:

SQL> exec dbms_system.set_ev(148,2028,10046,0,'');

 

 

 

方法二:

SQL> select sid,serial#,username,status from v$session where username ='TEST';

 

       SID    SERIAL# USERNAME                       STATUS

---------- ---------- ------------------------------ --------

       124      26742 TEST                           KILLED

       140      61014 TEST                           INACTIVE

       148       2028 TEST                           KILLED

 

Session 1:

conn /as sysdba

 

exec dbms_system.set_ev(140,61014,10046,8,'test');

 

執行了這一步以後 只是對其他的會話設定了跟蹤事件的等級,並非開始跟蹤

 

開始跟蹤

exec dbms_system.set_sql_trace_in_session(140,61014,true);

 

....

在Session 2:

Conn  test/test

 中執行SQL 語句:

 

Select count(*) from user_tables;

 

 

Session 1:

結束跟蹤

exec dbms_system.set_sql_trace_in_session(140,61014,false);

 

關閉會話設定

exec dbms_system.set_ev(140,61014,10046,0,'test');

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27036311/viewspace-753361/,如需轉載,請註明出處,否則將追究法律責任。

相關文章