跟蹤 session 的活動,Oracle 提供了很多種手段,不僅可以對當前連接的 session 進行跟蹤, 也可以對其他用戶的 session 進行跟蹤;通過對 trace 檔的分析,不僅可以掌握該 session 的活動, 也可以找出這個 session 中的瓶頸所在,對 session 的跟蹤是 DBA 進行系統調優、故障診斷的常用方法。
對當前會話的活動進行跟蹤及停止跟蹤:
alter session set sql_trace=true/false
對任意的 session 進行跟蹤及停止跟蹤:
exec dbms_system.set_sql_trace_in_session(&sid,&serial#,&sql_trace);alter session set events '&event trace name context forever,level &level';alter session set events '&event trace name context off';exec dbms_system.set_ev(&sid,&serial#,&event_10046,&level_12,'');oradebug event 10046 trace name context forever,level 12
利用 Event、SQL Trace 工具等可以收集 SQL 的性能狀態數據并把這些數據記錄到跟蹤文件中,這個跟蹤文件提供了許多有用的信息,如解析次數、執行次數、CPU 使用時間、物理讀、邏 輯讀等,這些信息是判斷 SQL 性能優劣的依據。
user_dump_dest 參數說明了生成跟蹤文件的目 錄,設置 SQL Trace 首先要在 init&sid.ora 中設定 timed_statistics 為 true,這樣才能得到那些重要 的時間信息,由于 SQL Trace 生成的 trace 文件讀起來很困難,最好用 TKPROF 工具對其進行解釋。
總結
本文有關oracle對session進行跟蹤的分析的內容就到這里,希望對大家有所幫助。感謝大家對本站的支持。
新聞熱點
疑難解答