(轉):學習Oracle動態效能表-(8)-V$SESSION
V$SESSION
在本檢視中,每一個連線到例項中的session都擁有一條記錄。包括使用者session及後臺程式如DBWR,LGWR,arcchiver等等。
V$SESSION中的常用列
V$SESSION是基礎資訊檢視,用於找尋使用者SID或SADDR。不過,它也有一些列會動態的變化,可用於檢查使用者。如例:
SQL_HASH_VALUE,SQL_ADDRESS:這兩列用於鑑別預設被session執行的語句。如果為null或0,那就說明這個session沒有執行任何SQL語句。PREV_HASH_VALUE和PREV_ADDRESS兩列用來鑑別被session執行的上一條語句。
注意:當使用SQL*Plus進行選擇時,確認你重定義的列寬不小於11以便看到完整的數值。
STATUS:這列用來判斷session狀態是:
l Achtive:正執行SQL語句(waiting for/using a resource)
l Inactive:等待操作(即等待需要執行的SQL語句)
l Killed:被標註為刪除
下列各列提供session的資訊,可被用於當一個或多個combination未知時找到session。
Session資訊
l SID:SESSION標識,常用於連線列
l SERIAL#:如果某個SID又被其它的session使用的話則此數值自增加(當一個 SESSION結束,另一個SESSION開始並使用了同一個SID)。
l AUDSID:審查session ID唯一性,確認它通常也用於當尋找並行查詢模式
l USERNAME:當前session在oracle中的使用者名稱。
Client資訊
資料庫session被一個執行在資料庫伺服器上或從中間伺服器甚至桌面透過SQL*Net連線到資料庫的客戶端程式啟動,下列各列提供這個客戶端的資訊
l OSUSER:客戶端使用者名稱
l MACHINE:客戶端執行的機器
l TERMINAL:客戶端執行的終端
l PROCESS:客戶端程式的ID
l PROGRAM:客戶端執行的客戶端程式
要顯示使用者所連線PC的TERMINAL、OSUSER,需在該PC的ORACLE.INI或中設定關鍵字TERMINAL,USERNAME。
Application資訊
呼叫DBMS_APPLICATION_INFO包以設定一些資訊區分使用者。這將顯示下列各列。
l CLIENT_INFO:DBMS_APPLICATION_INFO中設定
l ACTION:DBMS_APPLICATION_INFO中設定
l MODULE:DBMS_APPLICATION_INFO中設定
下列V$SESSION列同樣可能會被用到:
l ROW_WAIT_OBJ#
l ROW_WAIT_FILE#
l ROW_WAIT_BLOCK#
l ROW_WAIT_ROW#
V$SESSION中的連線列
Column View Joined Column(s)
SID V$SESSION_WAIT,,V$SESSTAT,,V$LOCK,V$SESSION_EVENT,V$OPEN_CURSOR SID
(SQL_HASH_VALUE, SQL_ADDRESS) V$SQLTEXT, V$SQLAREA, V$SQL (HASH_VALUE, ADDRESS)
(PREV_HASH_VALUE, PREV_SQL_ADDRESS) V$SQLTEXT, V$SQLAREA, V$SQL (HASH_VALUE, ADDRESS)
TADDR V$TRANSACTION ADDR
PADDR V$PROCESS ADDR
示例:
1.查詢你的session資訊
SELECTSID, OSUSER, USERNAME, MACHINE, PROCESS
FROMV$SESSIONWHEREaudsid = userenv('SESSIONID');
2.當machine已知的情況下查詢session
SELECTSID, OSUSER, USERNAME, MACHINE, TERMINAL
FROMV$SESSION
WHEREterminal ='pts/tl'ANDmachine ='rgmdbs1';
3.查詢當前被某個指定session正在執行的sql語句。假設sessionID為100
selectb.sql_text
fromv$session a,v$sqlarea b
wherea.sql_hash_value=b.hash_valueanda.sid=100
尋找被指定session執行的SQL語句是一個公共需求,如果session是瓶頸的主要原因,那根據其當前在執行的語句可以檢視session在做些什麼。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9399028/viewspace-678257/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle's V$ Views(轉)OracleView
- 動態生成表-判斷表是否存在效能對比
- session和v$session說明Session
- MTS方式連線V$SESSION中的SERVER狀態SessionServer
- Oracle session traceOracleSession
- Oracle 巢狀表(轉)Oracle巢狀
- 10.17 V$SESSIONSession
- V$SESSION COMMANDSession
- oracle大表效能最佳化Oracle
- v$Session詳解Session
- 用 logoff trigger 保留每個 session 的效能資訊(轉)GoSession
- oracle 什麼時候才回收v$session 中status='KILLED'的程式OracleSession
- 動態規劃學習筆記動態規劃筆記
- oracle 表移動表空間Oracle
- Oracle表移動表空間Oracle
- 10.18 V$SESSION_BLOCKERSSessionBloC
- 10.21 V$SESSION_EVENTSession
- 10.25 V$SESSION_WAITSessionAI
- Flutter學習(8)——CheckBox多選框使用及動態更改多選框資料Flutter
- Oracle Haip無法啟動問題學習OracleAI
- 機器學習的靜態特徵和動態特徵機器學習特徵
- 跟我一起學習和開發動態表單系統-動態表單系統的技術實現與優勢(2)
- Oracle Tuning (Oracle 效能調整)的一些總結(轉)Oracle
- 【MyBatis學習總結 (五),動態SQL】MyBatisSQL
- 動態元件與v-on元件
- 李沐動手學深度學習V2-chap_preliminaries深度學習
- 【react】實現動態表單中巢狀動態表單React巢狀
- Vue.js基礎學習(三) -------------動態繫結v-bind的介紹和使用Vue.js
- 10.27 V$SESSION_WAIT_HISTORYSessionAI
- 10.26 V$SESSION_WAIT_CLASSSessionAI
- [20221023]v$session_longops.txtSessionGo
- Oracle Tuning (Oracle 效能調整)的一些總結(轉)2Oracle
- Oracle DG資料庫狀態轉換Oracle資料庫
- 掘金 AMA:聽知乎專欄《V8 引擎》、LibrarySniffer 作者 -- justjavac 和你聊 V8 & 技術學習之法Java
- 初學J2V8
- ABAP動態內表
- angular動態表單Angular
- 動手學強化學習(四):動態規劃演算法強化學習動態規劃演算法
- Python學習筆記6——動態型別Python筆記型別