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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20211019]V$DETACHED_SESSION檢視.txtSession
- V$ACTIVE_SESSION_HISTORY檢視的使用Session
- [20211214]檢視檢視V$ACTIVE_SESSION_HISTORY遇到奇怪問題.txtSession
- 瀏覽器檢視Session瀏覽器Session
- 檢視瀏覽器請求的session 瀏覽器怎麼檢視session瀏覽器Session
- session檢視中wait_timeSessionAI
- [20221130]測試訪問檢視v$session幾種情況的效能差異.txtSession
- session和v$session說明Session
- 10.17 V$SESSIONSession
- V$SESSION COMMANDSession
- 檢視V$DATAGUARD_STATS
- v$Session詳解Session
- Oracle檢視已被使用的open_cursors&session_cached_cursorsOracleSession
- 10.18 V$SESSION_BLOCKERSSessionBloC
- 10.21 V$SESSION_EVENTSession
- 10.25 V$SESSION_WAITSessionAI
- [20210528]V$INDEXED_FIXED_COLUMN檢視.txtIndex
- [20210418]查詢v$檢視問題.txt
- 10.27 V$SESSION_WAIT_HISTORYSessionAI
- 10.26 V$SESSION_WAIT_CLASSSessionAI
- [20221023]v$session_longops.txtSessionGo
- [20181103]12c檢視V$EVENT_NAME.txt
- ORACLE 閃回檢視v$flashback_database_log/statOracleDatabase
- [20201207]12c v$open_cursor檢視.txt
- Oracle不同版本檢視資料庫session/system級別設定了哪些eventsOracle資料庫Session
- v$parameter gv$parameter 檢視 DDL 與隱含引數
- Java物件導向系列[v1.0.0][索引與檢視]Java物件索引
- v$session - 你看到的event真的是session當前的等待事件麼?Session事件
- 利用v$session_longops監控長操作SessionGo
- 11 UML中的邏輯檢視、程序檢視、實現檢視、部署檢視
- [Django REST framework - 檢視元件之檢視基類、檢視擴充套件類、檢視子類、檢視集]DjangoRESTFramework元件套件
- 透過v$sql_bind_capture 檢視繫結變數。SQLAPT變數
- Metadata for Mac(影像後設資料檢視器)v1.7Mac
- Hyperf 釋出 Session、極簡 DB、Zookeeper 配置中心元件和支援 Twig / Plates 檢視引擎支援Session元件
- Hyperf 釋出 Session、極簡 DB、zk 配置中心元件和支援 Twig/Plates 檢視引擎支援Session元件
- 檢視oracle資料庫session事務設定的是哪個隔離級別Oracle資料庫Session
- ASP.NET Core 5.0 MVC中的檢視分類——佈局檢視、啟動檢視、具體檢視、分部檢視ASP.NETMVC
- [20190312]檢視v$datafile欄位OFFLINE_CHANGE#, ONLINE_CHANGE#.txt
- 快速影像檢視器:EdgeView 4 for Mac v4.4.2啟用版ViewMac