10G V$SESSION
10G 中V$SESSION 的變化:
在一起,我們需要聯合v$session和v$session_wait試圖來檢視某個session在等待事件。
SQL> SELECT s.sid, w.state, w.event, w.seconds_in_wait siw,
2 s.sql_address, s.sql_hash_value hash_value, w.p1, w.p2, w.p3
3 FROM v$session s, v$session_wait w
4 WHERE s.sid = w.sid
5 AND s.sid = 154;
到了10G,主要檢視V$SESSION就完全可以知道session在等待什麼:
SQL> SELECT sid, state, event, seconds_in_wait siw,
2 sql_address, sql_hash_value hash_value, p1, p2, p3
3 FROM v$session
4 WHERE sid = 154;
SID STATE EVENT SIW SQL_ADDRESS HASH_VALUE P1 P2 P3
--- ------- ----------------------- --- ---------------- ---------- --- ---- ---
154 WAITING db file sequential read 1 000000038551E820 3625097388 4 9813 1
注意以上兩個sql的欄位是一樣,但僅僅是對V$SESSION做了查詢。
如果需要檢視事務是否被BLOCKER,以前是需要聯合V$SESSION和V$LOCK,
select
(select username from v$session where sid=a.sid) blocker,
a.sid,
' is blocking ',
(select username from v$session where sid=b.sid) blockee,
b.sid
from v$lock a, v$lock b
where a.block = 1
and b.request > 0
and a.id1 = b.id1
and a.id2 = b.id2
到了10G,多了blocking_session 和 blocking_session_status欄位,可以知道是否被阻塞。如果blocking_session_status欄位是VALID,那一個有效的SID會出現在blocking_session 欄位。
SQL> select sid, sql_id, PREV_SQL_ID , BLOCKING_SESSION_STATUS , BLOCKING_SESSION ,WAIT_CLASS_ID,SECONDS_IN_WAIT ,WAIT_CLASS from v$session where
2 username='KONG';
SID SQL_ID PREV_SQL_ID BLOCKING_SESSION_STATUS BLOCKING_SESSION WAIT_CLASS_ID SECONDS_IN_WAIT WAIT_CLASS
---------- ------------- ------------- --------------------------------- ---------------- ------------- --------------- ----------------------------------------------------------------
290 0hcsvq77pq2a8 dyk4dprp70d74 VALID 300 4217450380 118 Application
300 0hcsvq77pq2a8 NO HOLDER 2723168908 124 Idle
可以看到290 的程式被300的程式阻塞。
在以前如果想要查詢某個session執行了那個sql語句,那需要用兩個欄位來查詢: HASH_VALUE和ADDRESS。現在只有一個SQL_ID就可以了。
SQL> select sql_text from v$sqltext st, v$session s
2 where (st.sql_id = s.sql_id ) and s.sid=300;
SQL_TEXT
----------------------------------------------------------------
select count(*) from t2
生活簡單就是美。
-THE END-
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/40239/viewspace-620890/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- session和v$session說明Session
- 10.17 V$SESSIONSession
- V$SESSION COMMANDSession
- v$Session詳解Session
- 10.18 V$SESSION_BLOCKERSSessionBloC
- 10.21 V$SESSION_EVENTSession
- 10.25 V$SESSION_WAITSessionAI
- [20221023]v$session_longops.txtSessionGo
- 10.27 V$SESSION_WAIT_HISTORYSessionAI
- 10.26 V$SESSION_WAIT_CLASSSessionAI
- [20211019]V$DETACHED_SESSION檢視.txtSession
- v$session - 你看到的event真的是session當前的等待事件麼?Session事件
- 利用v$session_longops監控長操作SessionGo
- V$ACTIVE_SESSION_HISTORY檢視的使用Session
- MTS方式連線V$SESSION中的SERVER狀態SessionServer
- [20220120]探究v$session.SQL_EXEC_ID在共享池.txtSessionSQL
- [20230226]探究v$session.SQL_EXEC_ID在共享池(windows).txtSessionSQLWindows
- 10g RAC on AIXAI
- [20230227]探究v$session.SQL_EXEC_ID在共享池(補充).txtSessionSQL
- oracle 什麼時候才回收v$session 中status='KILLED'的程式OracleSession
- oracle 10g flashback databaseOracle 10gDatabase
- 10G DG SWITCH OVER
- laravel session 與 php session配置LaravelSessionPHP
- [20211214]檢視檢視V$ACTIVE_SESSION_HISTORY遇到奇怪問題.txtSession
- SessionSession
- 【遞迴SQL】v$session--X$KSUSE s,X$KSLED e對應情況遞迴SQLSession
- Oracle 10g 下載地址Oracle 10g
- oracle 10G特性之awrOracle 10g
- forall在10g新功能
- 10G FGA的增強
- Scheduler in Oracle Database 10g(轉)OracleDatabase
- session switchSession
- session 共享Session
- cookie sessionCookieSession
- cookie & sessionCookieSession
- Session案例Session
- Spring SessionSpringSession
- Cloud Foundry Session Affinity(Sticky Session)的實現CloudSession
- ISO 映象安裝oracle 10gOracle 10g