跟蹤 session 的活動,Oracle 提供了很多種手段,不但可以對當前連接的 session 進行跟蹤, 也能夠對其他用戶的 session 進行跟蹤;通過對 trace 檔的分析,不但可以掌握該 session 的活動, 也能夠找出這個 session 中的瓶頸所在,對 session 的跟蹤是 DBA 進行系統調優、故障診斷的經常使用 方法。
對當前會話的活動進行跟蹤及停止跟蹤:
1 | alter session set sql_trace= true / false |
對任意的 session 進行跟蹤及停止跟蹤:
1 2 3 4 5 | 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 工具對其進行解 釋。
?
上一篇 筆試題—字符串常見的算法題集錦
下一篇 C語言的藝術之——函數