Oracle動態效能檢視V$SESSION_LONGOPS

來源:互聯網
上載者:User
文章目錄
  • V$SESSION_LONGOPS
V$SESSION_LONGOPS

本視圖顯示運行超過6秒的操作的狀態。包括備份,恢複,統計資訊收集,查詢等等。

 

要監控查詢執行進展狀況,你必須使用cost-based最佳化方式,並且:

l         設定TIMED_STATISTICS或SQL_TRACE參數值為true。

l         通過ANALYZE或DBMS_STATS資料包收集對象統計資訊。

 

你可以通過DBMS_APPLICATION_INFO.SET_SESSION_LONGOPS過程添加application-specific長運行操作資訊到本視圖。關於DBMS_APPLICATION_INFO.SET_SESSION_LONGOPS的更多資訊可以瀏覽:Oracle Supplied PL/SQL Packages and Types Reference。

 

V$SESSION_LONGOPS列說明

 

l         SID:Session標識

l         SERIAL#:Session串號

l         OPNAME:操作簡要說明

l         TARGET:操作運行所在的對象

l         TARGET_DESC:目標對象說明

l         SOFAR:至今為止完成的工作量

l         TOTALWORK:總工作量

l         UNITS:工作量單位

l         START_TIME:操作開始時間

l         LAST_UPDATE_TIME:統計項最後更新時間

l         TIME_REMAINING:預計完成操作的剩餘時間(秒)

l         ELAPSED_SECONDS:從操作開始總花費時間(秒)

l         CONTEXT:前後關係

l         MESSAGE:統計項的完整描述

l         USERNAME:執行操作的使用者ID

l         SQL_ADDRESS:用於串連查詢的列

l         SQL_HASH_VALUE:用於串連查詢的列

l         QCSID:

 

樣本:

找一較大表,確認該表查詢將超過6秒,哎呀讓它快咱沒把握,讓它慢這可是我的強項啊~~

SQL> set timing on

SQL> create table ttt as select level lv,rownum rn from dual connect by level<10000000;   --建立一個暫存資料表

Table created

Executed in 19.5 seconds

SQL> commit;

Commit complete

Executed in 0 seconds

SQL> select * from (select * from ttt order by lv desc) where rownum<2;    --執行一個費時的查詢

 

       LV         RN

---------- ----------

   9999999    9999999

Executed in 9.766 seconds   --哈哈,成功超過6秒

SQL> select sid,opname,sofar,totalwork,units,sql_hash_value from v$session_longops;      ----看看v$session_longops中是不是已經有記錄了

 

       SID OPNAME                                                                SOFAR  TOTALWORK UNITS                            SQL_HASH_VALUE

---------- ---------------------------------------------------------------- ---------- ---------- -------------------------------- --------------

        10 Table Scan                                                            47276      47276 Blocks                               2583310173

Executed in 0.047 seconds

 

SQL> select a.sql_text from v$sqlarea a,v$session_longops b where a.HASH_VALUE=b.SQL_HASH_VALUE;   --通過hash_value聯絡查詢出剛執行的查詢語句。

 

SQL_TEXT

--------------------------------------------------------------------------------

 select * from (select * from ttt order by lv desc) where rownum<2

Executed in 0.063 seconds

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.