檢查Oracle的鎖狀態並清除問題會話
當多個會話想同時訪問一行資料,就有可能發生鎖的爭用。
查詢會話鎖定狀態:
USERNAME SID RBS SLOT SEQ LMODE REQUEST
---------- ---------- ---------- ---------- ---------- ---------- ----------
SCOTT 146 4 47 21557 0 6
SCOTT 150 4 47 21557 6 0
SCOTT 161 4 47 21557 0 6
LMODE表示當前獲得的鎖,REQUEST表示想要獲得的鎖。
SID BLOCKING_SESSION USERNAME BLOCKING_SESSION_STATUS
---------- ---------------- ---------- -----------------------
146 150 SCOTT VALID
161 150 SCOTT VALID
150 SCOTT NO HOLDER
VALID 被BLOCK
NO HOLDER 沒有被BLOCK
如果要關閉會話:
單引號中分別是,'SID, SERIAL#',這兩個都是V$SESSION中的列。
查詢會話鎖定狀態:
點選(此處)摺疊或開啟
-
select /*+ ordered */ username, v$lock.sid, trunc(id1/power(2,16)) rbs,
-
bitand(id1,to_number('ffff','xxxx'))+0 slot,
-
id2 seq, lmode, request
-
from v$lock, v$session
-
where v$lock.type = 'TX'
- and v$lock.sid = v$session.sid;
USERNAME SID RBS SLOT SEQ LMODE REQUEST
---------- ---------- ---------- ---------- ---------- ---------- ----------
SCOTT 146 4 47 21557 0 6
SCOTT 150 4 47 21557 6 0
SCOTT 161 4 47 21557 0 6
-
0 - none
-
1 - null (NULL)
-
2 - row-S (SS)
-
3 - row-X (SX)
-
4 - share (S)
-
5 - S/Row-X (SSX)
-
6 - exclusive (X)
點選(此處)摺疊或開啟
-
SELECT sid, blocking_session, username, blocking_session_status
-
FROM v$session
-
WHERE username='SCOTT'
- ORDER BY blocking_session;
SID BLOCKING_SESSION USERNAME BLOCKING_SESSION_STATUS
---------- ---------------- ---------- -----------------------
146 150 SCOTT VALID
161 150 SCOTT VALID
150 SCOTT NO HOLDER
NO HOLDER 沒有被BLOCK
如果要關閉會話:
點選(此處)摺疊或開啟
- alter system kill session '11,18';
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22621861/viewspace-1284497/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle SCN健康狀態檢查Oracle
- 在Oracle中,如何定時清理INACTIVE狀態的會話?Oracle會話
- Oracle阻塞會話查詢Oracle會話
- Docker 容器的健康狀態檢查Docker
- 檢視oracle死鎖程式並結束死鎖Oracle
- chkdsk 命令引數 檢查磁碟並顯示狀態報告
- 檢查Capital許可狀態API
- 【TUNE_ORACLE】Oracle檢查點(五)建立並利用Statspack定位檢查點故障Oracle
- [20210622]logrotate清除oracle aud檔案的問題.txtlogrotateOracle
- oracle 會話(session)被鎖瞭解決方法Oracle會話Session
- VCS中檢查Cluster中節點的狀態
- 清除 Nuxt 狀態快取:clearNuxtStateUX快取
- 自動查詢並分析快遞的物流狀態
- 使用jstack檢測Java應用的死鎖(deadlock)狀態JSJava
- Oracle:select 或 inactive 會話語句產生鎖?Oracle會話
- 11G RAC檢查各元件狀態元件
- 會話和鎖資訊查詢檢視 | 全方位認識 sys 系統庫會話
- oracle 查詢鎖 && 解鎖Oracle
- Oracle查詢鎖、解鎖Oracle
- oracle檢視被鎖的表和解鎖Oracle
- MySQL探祕(五):InnoDB鎖的型別和狀態查詢MySql型別
- 關於並查集問題並查集
- 查詢圓通快遞並設定物流狀態的方法
- 殺會話之查詢鎖表的物件及相關操作會話物件
- 檢視oracle被鎖的表是誰鎖的Oracle
- 【TUNE_ORACLE】Oracle檢查點(二)檢查點效能Oracle
- 解決Oracle死鎖問題步驟Oracle
- 使用並查集解決的相關問題並查集
- CQRS & Event Sourcing — 解決檢索應用程式狀態問題的一劑良方
- mysql鎖與會話MySql會話
- mysql 鎖狀態的一些狀態資訊記錄MySql
- 死鎖避免中的安全狀態和不安全狀態
- Jtti:linux怎麼檢視oracle資料庫的執行狀態JttiLinuxOracle資料庫
- Mysql中的巢狀子查詢問題QSBSMySql巢狀
- MySQL鎖表相關問題查詢思路MySql
- GitLab 的元件狀態檢視Gitlab元件
- 大話狀態協程
- 014 Linux 線上高頻使用以及面試高頻問題——如何查詢大檔案並安全的清除?Linux面試
- oracle的會話如何自殺?Oracle會話