Oracle 檢視 物件 持有鎖的情況

2021-05-28 14:58:01 字數 1350 閱讀 3108

同事在測試庫上對乙個表加字段,提示 ora-00054, 資源忙。 應該是表物件的鎖沒有釋放。

用如下sql 檢視一下系統中相關物件上鎖的情況:

view plain

select

s.sidsession_id, 

s.username, 

decode (lmode, 

0, ' none '

, 1, 

' null '

, 2, 

' row-s(ss) '

, 3, 

' row-x(sx) '

, 4, 

' share'

, 5, 

's/row-x (ssx) '

, 6, 

'exclusive '

, to_char (lmode)) 

mode_held, 

decode (request, 

0, ' none '

, 1, 

' null '

, 2, 

' row-s(ss) '

, 3, 

' row-x(sx) '

, 4, 

' share'

, 5, 

's/row-x (ssx) '

, 6, 

'exclusive '

, to_char (request)) 

mode_requested, 

o.owner|| 

' . '

|| o.object_name|| 

' ( '

|| o.object_type|| 

' ) '

asobject_name, 

s.typelock_type, 

l.id1lock_id1, 

l.id2lock_id2 

fromv$lock l, sys.dba_objectso,v$session s 

where

l.sid = s.sid 

andl.id1 = o.object_id 

該sql 顯示所有物件上的鎖,如果要查某個具體的物件,可以根據object_name 字段進行一下過濾,找到對應的sid 之後去查v$session 檢視。

該檢視會顯示session 對應的資訊,包括終端的資訊,如果找到了終端,可以讓它提交或者回滾一下就ok了。我這裡是測試環境,直接把session kill 掉了。然後修改表就ok了。

view plain

sql>

alter

system kill session 

'sid,serial#'

Oracle 檢視 物件 持有鎖的情況

同事在測試庫上對乙個表加字段,提示 ora 00054,資源忙。應該是表物件的鎖沒有釋放。用如下sql 檢視一下系統中相關物件上鎖的情況 view plain formatted on2011 9 26 14 45 46 qp5 v5.163.1008.3004 select s.sidsessio...

Oracle 檢視 物件 持有鎖的情況

同事在測試庫上對乙個表加字段,提示 ora 00054,資源忙。應該是表物件的鎖沒有釋放。用如下sql 檢視一下系統中相關物件上鎖的情況 view plain formatted on2011 9 2614 45 46 qp5v5.163.1008.3004 select s.sidsession ...

Oracle 檢視 物件 持有鎖的情況

同事在測試庫上對乙個表加字段,提示 ora 00054,資源忙。應該是表物件的鎖沒有釋放。該sql 顯示所有物件上的鎖,如果要查某個具體的物件,可以根據object name 字段進行一下過濾,找到對應的sid 之後去查v session 檢視。該檢視會顯示session 對應的資訊,包括終端的資訊...