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
Ps:itpub論壇的fenng版版數年前有篇文章描述了v$sessin_longops的來源,有興趣的朋友可以研究研究:
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/633084/viewspace-1016345/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 利用v$session_longops監控長操作SessionGo
- rman備份的時候讀取v$session_longops失敗導致備份失敗SessionGo
- 前端【VUE】02-vue指令【v-html 、v-show、 v-if 、v-else、v-on、v-bind、v-for、v-model】前端VueHTML
- v$sql,v$sqlarea,v$sqltext區別SQL
- vue v-text,v-html,v-once,v-pre,v-cloak的使用VueHTML
- vue_o6_v-once、v-html、v-text、v-pre、v-cloak指令的使用VueHTML
- EMQ 文件 V1.0 V2.0 V3.0MQ
- v-if和v-show
- CANoe C-V2X Demo(V2I+V2V)演示視訊
- 維數定理(手推!):證明dim(v1)+dim(v2) = dim(v1+v2) + dim(v1∩v2)
- 1V升壓3V,1V升壓3.3V晶片,1V升壓5V升壓IC晶片
- v-html 、v-text({{}}) 、v-model的區別HTML
- v
- 1V升3V,1V升3.3V,1V升5V高電流,低功耗升壓晶片晶片
- 24v轉120v,24V轉150v/350v隔離變壓電源模組
- vue 的v-on與v-bindVue
- v-for,v-bink,綜合案例
- Oracle9i中v$sql、v$sqlarea、v$sqltext、v$sql_plan的聯絡與區別OracleSQL
- 1V升5V晶片,1V升5V電路圖規格書晶片
- android之support-v4、v7、v13的區別Android
- v-for
- (精華2020年5月4日更新) vue教程篇 v-text,v-html,v-once,v-pre,v-cloak的使用VueHTML
- Vue v-if以及 v-else 的使用Vue
- v-if和v-show的區別
- React Router從V2/V3到V4的變化React
- [vue] 常見用法之 v-html、v-text、v-model區別VueHTML
- v-if/v-show 條件渲染指令
- ESXI 遷移至KVM (V2V遷移)
- 1V轉5V,1V轉3.3V升壓極大電流晶片,外圍極少晶片
- 12V轉80V/150V/350V電容充電隔離電源升壓模組
- V$LOCK(zt)
- 10.29 V$SESSMETRICSSM
- 10.30 V$SESSTAT
- 10.97 V$SYSSTAT
- 8.1.1 V$ ViewsView
- 10.17 V$SESSIONSession
- 10.82 V$STATNAME
- 9.183 V$ROLLNAME
- 9.184 V$ROLLSTAT