Oracle檢視被鎖定的表和行的SQL

2021-08-30 03:26:44 字數 1185 閱讀 4534

我們在運算元據庫的時候,有時候會由於操作不當引起資料庫表被鎖定,這麼我們經常不知所措,不知怎麼給這些表解鎖,在pl/sql developer工具的的選單「tools」裡面的「sessions」可以查詢現在存在的會話,但是我們很難找到那個會話被鎖定了,想找到所以被鎖的會話就更難了,下面這叫查詢語句可以查詢出所以被鎖的會話。如下:

select   sn.username, m.sid,sn.serial#, m.type,

decode (m.lmode,

0, 'none',

1, 'null',

2, 'row share',

3, 'row excl.',

4, 'share',

5, 's/row excl.',

6, 'exclusive',

lmode, ltrim (to_char (lmode, '990'))

) lmode,

decode (m.request,

0, 'none',

1, 'null',

2, 'row share',

3, 'row excl.',

4, 'share',

5, 's/row excl.',

6, 'exclusive',

request, ltrim (to_char (m.request, '990'))

) request,

m.id1, m.id2

from v$session sn, v$lock m

where (sn.sid = m.sid and m.request != 0)        

or (    sn.sid = m.sid                       

and m.request = 0

and lmode != 4

and (id1, id2) in (

select s.id1, s.id2

from v$lock s

where request != 0 and s.id1 = m.id1

and s.id2 = m.id2)

)order by id1, id2, m.request;

通過以上查詢知道了sid和 serial#就可以開殺了

alter system kill session 'sid,serial#';

oracle 中檢視被鎖定的表及解鎖

select sess.sid,sess.serial lo.oracle username,lo.os user name,ao.object name,lo.locked mode from v locked object lo,dba objects ao,v session sess whe...

oracle被鎖定表查詢與解鎖

oracle ebs操作某乙個form介面,或者後台資料庫操作某乙個表時發現一直處於 假死 狀態,可能是該錶被某一使用者鎖定,導致其他使用者無法繼續操作 鎖表查詢sql select object name,machine,s.sid,s.serial from gv locked object l...

oracle中檢視和刪除被鎖表

grant alter system to sa grant select on v lock to sa grant select on all objects to sa create or replace procedure d debug asv index varchar2 40 v ta...