2017-06-01 128 views
0

我面對的一個小問題&我需要你的幫助,如果你有時間做的所有活動,請:)跟蹤的Oracle會話

我試圖建立一種審計跟蹤所有SQL語句由某些特定會話執行。

因此,我創建了一個觸發器AFTER LOGON,爲這些會話啓用跟蹤事件(10046(所有級別測試)或使用DBMS_MONITOR)。

劇本給了我正確的結果,但除此之外,它有很多統計&甲骨文內部查詢填充的痕跡,所以我想它會影響數據庫的性能&會佔用太多的磁盤空間。

有什麼辦法只收集用戶查詢?可能是一個具體的痕跡可以讓我這樣做嗎?

感謝您的建議:)使用標誌sys=notkprof格式文件

回答

1

過濾遞歸查詢出來的跟蹤文件:

tkprof input_file.trc output_file.txt sys=no 

輸出文件應該是更小,更易於閱讀比原始跟蹤文件。該文件可能還會包含一些您不關心的語句,例如Spatial/SDO觸發器。但大部分幕後聲明將被排除。

,僅查看該會話執行的查詢,並排除所有的統計數據和內部查詢,使用record標誌產生一個單獨的文件:

tkprof input_file.trc output_file.tk sys=no record=record.txt 
+0

謝謝!輸出更好:)是否有刪除統計信息或刪除內部查詢? – DBAMan