--以下幾個為相關表
select * from v$lock;
select * from v$sqlarea;
select * from v$session;
select * from v$process;
select * from v$locked_object;
select * from all_objects;
select * from v$session_wait;
--檢視被鎖的表
select b.owner, b.object_name, a.session_id, a.locked_mode
from v$locked_object a, dba_objects b
where b.object_id = a.object_id;
--檢視那個使用者那個程序照成死鎖
select b.username, b.sid, b.serial#, logon_time
from v$locked_object a, v$session b
where a.session_id = b.sid
order by b.logon_time;
--檢視連線的程序
select sid, serial#, username, osuser from v$session;
--3.查出鎖定表的sid, serial#,os_user_name, machine_name, terminal,鎖的type,mode
select s.sid,
s.serial#,
s.username,
s.schemaname,
s.osuser,
s.process,
s.machine,
s.terminal,
s.logon_time,
l.type
from v$session s, v$lock l
where s.sid = l.sid
and s.username is not null
order by sid;
--這個語句將查詢到資料庫中所有的dml語句產生的鎖,還可以發現, 任何dml語句其實產生了兩個鎖,乙個是表鎖,乙個是行鎖。
--殺掉程序 sid,serial#
alter system kill session '210,11562';
oracle資料庫 鎖表 解鎖
1 根據表名查詢鎖定的會話 select p.spid,c.object name,b.session id,a.serial b.oracle username,b.os user name from v process p,v session a,v locked object b,all ob...
oracle資料庫表解鎖
我們常常在運算元據庫時會遇到 某個dml操作可能等待很久沒有反應 遇到這種情況多半是因為表被鎖住了,那麼如何解鎖呢?檢視哪個表被鎖 select sess.sid,sess.serial lo.oracle username,lo.os user name,ao.object name,lo.loc...
oracle資料庫表解鎖
一 使用sql語句查詢鎖的狀態 sql 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 a...