v$session 檢視
v$session 是我學到現在認為最重要也是最基礎的一張檢視,他儲存著最基礎的資料庫資訊,
比如,SADDR、SID、USERNAME、MACHINE 等,這些都是會話的最基礎的資訊,我們在查詢任何效能問題的時候都免不了的要用到這張檢視,
下面對這張檢視和其他一些檢視之間的關係做進一步瞭解,主要是做一個詳細的梳理,理清之間的聯絡。
1、一般來說,我們在查詢等待事件或者死鎖的時候都會用到這張檢視,例如,我們在查詢資料庫死鎖問題中,在查詢死鎖程式的時候,
我們就可以關聯v$session檢視和v$locked_object
檢視,透過關聯v$session中的sid和v$locked_object中的session_id來查詢到產生鎖的sid和serial#
而當我們知道了sid後,我們還希望透過sid來查詢對應的產生鎖的作業系統會話的程式號,那麼可以透過sid查詢到對應v$session中的paddr
進一步在v$process中查詢到spid也就是作業系統程式號。
2、再比如,在10g中,oracle將v$session_wait整個到了v$session中,使得我們可以更加方便的獲得等待事件資訊。
3、檢視資料庫的併發數:select count(*) from v$session where status='ACTIVE';
關聯v$sqlarea 我們可以關聯v$sqlarea來檢視當前哪些使用者正在使用資料庫:
4、透過關聯v$session中的sql_address和v$sqlarea中的address。
在這裡我們區分一下v$session中的process和v$process中的spid,v$session中的process表示客戶端程式ID,
即客戶端程式在客戶端機器上的程式ID號。也就是說v$session中表示的客戶端程式在客戶端機器上的程式號,而v$process則
表示伺服器程式在伺服器上的程式號。這兩者還是有很大的差別。比如,你是用sqlplus連的資料庫,那麼v$session中
的process其實就是你的sqlplus在OS中的程式號,而v$process中的spid才是你回話的程式號。
5、v$session檢視和v$sesstat檢視的關聯,我們知道v$sesstat檢視記錄的是會話其間的資訊,透過v$session檢視我們可以對當前連線到資料庫的會話進行獲取分析,而透過過v$session中的sid和v$sesstat,我們可以查詢與這個session相關的各種統計資訊,處理資訊.當然對於v$sesstat中的STATISTIC#我們還需要透過查詢v$statname,來獲得。
6、v$session中的阻塞資訊,v$session中阻塞資訊的加入:BLOCKING_SESSION_STATUS、BLOCKING_INSTANCE、BLOCKING_SESSION
BLOCKING_SESSION 引數記錄了造成當前等待session的程式ID
SQL> select sid,username,BLOCKING_SESSION,BLOCKING_INSTANCE,BLOCKING_SESSION_STATUS from v$session where username='SYS';
SID USERNAME BLOCKING_SESSION BLOCKING_INSTANCE BLOCKING_SE
---------- ---------- ---------------- ----------------- -----------
2159 SYS NOT IN WAIT
2165 SYS NO HOLDER
2166 SYS NO HOLDER
2182 SYS 2165 1 VALID
我們可以看到2165號回話正在阻塞程式2182,從而可以更快的定位等待事件。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25462274/viewspace-1980886/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【會話】V$SESSION檢視會話Session
- v$session_wait和v$session_event檢視SessionAI
- 幾個檢視 v$mystat v$systata v$sessionSession
- v$active_session_history檢視Session
- v$active_session_history檢視[轉]Session
- V$session 檢視的小運用Session
- 效能檢視 V$Session_LONGOPSSessionGo
- V$ACTIVE_SESSION_HISTORY檢視的使用Session
- V$SESSION_LONGOPS 檢視的用法SessionGo
- Oracle等待檢視v$session_waitOracleSessionAI
- 幾個重要檢視(V$SYSTEM_EVENT V$SESSION_EVENT V$SESSION_WAIT)SessionAI
- V$session 及該檢視的小運用Session
- 轉載--V$ACTIVE_SESSION_HISTORY檢視的使用Session
- V$ACTIVE_SESSION_HISTORY 檢視中包含的資訊Session
- v$session_longops 檢視回滾進度SessionGo
- 動態檢視V$SESSION_LONGOPS學習SessionGo
- [20120307]檢視v$session檢視的定義.txtSession
- 動態檢視學習之v$session_waitSessionAI
- v$session檢視中的sid和serial#研究Session
- v$session/v$process檢視涉及的相關會話資訊的查詢Session會話
- Oracle動態效能檢視學習筆記(7)_v$sessionOracle筆記Session
- Oracle動態效能檢視之v$session_longops ztOracleSessionGo
- 使用者/伺服器程式概念及v$session/V$PROCESS檢視簡介伺服器Session
- Oracle 11g中v$session檢視server列的含義OracleSessionServer
- [20211214]檢視檢視V$ACTIVE_SESSION_HISTORY遇到奇怪問題.txtSession
- 瀏覽器檢視Session瀏覽器Session
- 檢視oracle當前sessionOracleSession
- 檢視引起阻塞的SessionSession
- v$sql檢視和v$sqlarea檢視的構建SQL
- 檢視瀏覽器請求的session 瀏覽器怎麼檢視session瀏覽器Session
- [20211019]V$DETACHED_SESSION檢視.txtSession
- Oracle動態效能檢視學習筆記(10)_v$session_waitOracle筆記SessionAI
- 11G 中的V$ACTIVE_SESSION_HISTORY 檢視沒有資料Session
- 【Oracle九大效能檢視】之4.v$sesstat_根據session id查session的統計資訊OracleSession
- SESSION_PRIVS和SESSION_ROLES動態檢視Session
- [20171102]檢視v$session中process欄位含義Session
- session檢視中wait_timeSessionAI
- 【Oracle九大效能檢視】之7.v$transaction_根據session id查session執行的事務OracleSession