Oracle 檢視 物件 持有鎖的情況

2021-08-26 06:06:10 字數 1222 閱讀 4731

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

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

view plain

/*formatted

on2011/9/2614:45:46(qp5v5.163.1008.3004)*/

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||

')'as

object_name,

s.typelock_type,

l.id1lock_id1,

l.id2lock_id2

fromv$lockl,sys.dba_objectso,v$sessions

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

systemkillsession

'sid,serial#'

Oracle 檢視 物件 持有鎖的情況

同事在測試庫上對乙個表加字段,提示 ora 00054,資源忙。應該是表物件的鎖沒有釋放。用如下sql 檢視一下系統中相關物件上鎖的情況 view plain select s.sidsession id,s.username,decode lmode,0,none 1,null 2,row s s...

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 顯示所有物件上的鎖,如果要查某個具體的物件,可以根據object name 字段進行一下過濾,找到對應的sid 之後去查v session 檢視。該檢視會顯示session 對應的資訊,包括終端的資訊...