使用dbms_system.set_ev無法生存trace檔案的原因

wxjzqym發表於2012-05-14

    當我們遇到有效能問題的sql時,對其會話做一個sql_trace或者10046對於效能診斷是很有幫助的。而在10g中跟蹤其他會話的10046事件可以使用dbms_monitor.SESSION_TRACE_ENABLE過程,而在10g以前則可以使用dbms_system.set_ev過程,下面我們就簡單來了解下這個過程以及針對為什麼有時使用該過程時沒有正常生產trace檔案。
     dbms_system.set_ev過程有5個引數,分別為SI,SE,EV,LE,NM,對於前四個引數依次代表為會話sid,會話serial#,事件號,事件level,而對於NM引數的具體含義我還不清楚。
     從網上搜尋的來的結果有在執行dbms_system.set_ev時對於NM引數的取值出現了三種情況,一是傳入username,二是傳入null值,三是傳入''值,經過我的測試之後只有傳入''值時,trace檔案才能生成(需要先開啟trace,然後將其關閉才能看到trace檔案)。

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

相關文章