Oracle動態效能檢視之v$session_longops zt

asword發表於2009-12-30

與此相關的很好的一個文章見:

[@more@]

與此相關的很好的一個文章見:

動態效能檢視v$session_longops中可以檢視系統中長時間事務的執行進度。一個操作是否可以在這個檢視中查到有一個重要的標準是:這個事務的執行時間超過了6秒,但並不是說,所有超過六秒的事務都會顯示在這個檢視中。例如,你可以在這個檢視中找到hash join的長事務,但是你永遠不可能找到nested loop join型別的長事務,即使這個事務超過了6秒並且很複雜。

用如下SQL語句查詢這個檢視中最新的資訊:

select * from (select opname, target, sofar, totalwork,units, elapsed_seconds, message from v$session_longops order by start_time desc) where rownum <=1;

這個檢視中的列time_remaining是oracle預估的一個剩餘時間,是按線性比例預估出來的time_remaining/elapsed_seconds=(total_works-sofar)/sofar

v$session_longops檢視中會顯示如下這些操作的長事務:

  • Table scan;
  • Index Fast Full Scan;
  • Hash join;
  • Sort/Merge;
  • Sort Output;
  • Rollback;
  • Gather Table’s Index Statistics.

table scan

對於table scan 來說,這個操作顯示在v$session_longops中有兩個條件:1.執行時間大於六秒。2.掃描的塊大於10000塊。

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

相關文章