Oracle 查詢鎖之間的依賴關係
註釋:
該SQL可查詢多會話,非select的DML操作,同時操作A表引起的鎖 ..會話之間的關係~
....下文有該SQL用到的檢視/欄位的詳細註釋..
....若想顯示其他欄位可以按照自己需求增加 ..
SQL:
SELECT DISTINCT S.SID , /*會話的唯一標識,通常要對某個會話進行分析前,首先就需要獲得該會話的SID。*/
--S.SERIAL# /*會話的序號*/,
S.STATE /*WAIT STATE~*/ ,
S.BLOCKING_SESSION ,
--SESSION IDENTIFIER OF THE BLOCKING SESSION. THIS COLUMN IS VALID ONLY IF BLOCKING_SESSION_STATUS HAS THE VALUE VALID.
S.BLOCKING_SESSION_STATUS STATUS, /*THIS COLUMN PROVIDES DETAILS ON WHETHER THERE IS A BLOCKING SESSION: */
( CASE
WHEN SQL_TEXT IS NULL /*LO.REQUEST = 0 */
THEN
'(SID:' || S.SID || ')會話 SQL已跑完'
ELSE
'(SID:' || S.SID || ')會話 正執行SQL:' || SQL_.SQL_TEXT
END ) SQL_TEXT /*執行完的SQL'SQL_TEXT標記SQL已跑完,否則標記SQL'*/ ,
--SQL_.SQL_FULLTEXT SQL全文字,
S.USERNAME /*建立該會話的使用者名稱*/ ,
O.OWNER || '.' || O.OBJECT_NAME 鎖的物件, --V$SESSION.ROW_WAIT_OBJ#若操作完的該欄位值=-1,所以關聯的V$LOCKED_OBJECT取鎖表
LO.REQUEST , -- Lock mode in which the process requests the lock 會話申請的鎖的模式
S.EVENT ,
S.MACHINE /*客戶端的機器名。*/ ,
S.LOGON_TIME /*登陸時間*/ ,
'ALTER SYSTEM KILL SESSION ''' || S.SID || ',' || S.SERIAL# || ''';' KILL --若存在鎖情況,會用到KILL鎖釋放~
FROM V$SESSION S
LEFT JOIN V$SQL SQL_
ON SQL_.SQL_ID = S.SQL_ID
JOIN V$LOCKED_OBJECT L
ON L.SESSION_ID = S.SID
JOIN ALL_OBJECTS O
ON L.OBJECT_ID = O.OBJECT_ID
JOIN V$LOCK LO
ON (LO.BLOCK != 0 OR LO.REQUEST != 0 )
--V$LOCK.block => A value of either 0 or 1, depending on whether or not the lock in question is the blocker
--V$LOCK.REQUEST => Lock mode in which the process requests the lock:下文有值的意義~ ['0 - none']
WHERE LO.SID = L.SESSION_ID
AND LO.SID = S.SID
ORDER BY S.BLOCKING_SESSION DESC ;
|
註釋:
--檢視==官網註釋
--顯示欄位==官網註釋:
V$SESSION.STATE = Wait state :
V$SESSION.BLOCKING_SESSION_STATUS = This column provides details on whether there is a blocking session :
V$LOCK.REQUEST = Lock mode in which the process requests the lock :
|
祝好~
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28389881/viewspace-1266644/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Maven 依賴關係Maven
- build task依賴關係UI
- 關於oracle的空間查詢Oracle
- oracle 查詢鎖 && 解鎖Oracle
- Oracle查詢鎖、解鎖Oracle
- 如何在 SAP BTP 上建立 Module 之間具有依賴關係的 SAP MTA 應用
- Spring框架模組依賴關係Spring框架
- 【python】【安裝包依賴關係】Python
- 【物件導向依賴關係概念總結】物件導向程式設計的五種依賴關係物件程式設計
- Elasticsearch依賴與Spring對應關係ElasticsearchSpring
- 關於Oracle資料庫的時間查詢Oracle資料庫
- 使用IDEA模組之間依賴找不到依賴類Idea
- spring cloud alibaba 元件版本關係 以及 畢業版本依賴關係SpringCloud元件
- SQL如何實現查詢節點依賴SQL
- 透過遞迴查詢應用依賴遞迴
- gcc 標頭檔案依賴關係 分析工具GC
- 物件導向程式設計程式碼詳解(依賴關係,關聯關係,組合關係)物件程式設計
- SpringBoot中的slf4j日誌依賴關係Spring Boot
- 如何管理前端專案中的複雜依賴關係前端
- Oracle查詢100萬到200萬之間的資料Oracle
- 口碑 App 各 Bundle 之間的依賴分析指南APP
- MySQL Oracle 查詢快慢和表的資料量多少有沒有關係?MySqlOracle
- 【java】類之間的關係Java
- 微服務下 Spring Boot Maven 工程依賴關係管理微服務Spring BootMaven
- Maven中如何管理多模組專案的依賴關係Maven
- 使用Gradle檢視Android專案中庫的依賴關係GradleAndroid
- 什麼是專案管理中的任務依賴關係專案管理
- 殺會話之查詢鎖表的物件及相關操作會話物件
- Struts2所有依賴關係(struts-2.5.14.1)
- 專案管理中,如何識別和管理依賴關係?專案管理
- Java基礎:如何在IDEA中檢視依賴關係JavaIdea
- 【譯】Android Gradle 外掛 4.0.0 中 Feature-on-Feature 的依賴關係AndroidGradle
- Window、WindowManager、View 之間的關係View
- git、github、gitlab之間的關係GithubGitlab
- Oracle日期時間範圍查詢Oracle
- 比nestjs更優雅的ts控制反轉策略-依賴查詢JS
- 24--Spring解決bean之間的迴圈依賴SpringBean
- Spark RDD詳解 | RDD特性、lineage、快取、checkpoint、依賴關係Spark快取
- nuget使用經驗:複雜依賴關係下的包版本問題