Oracle資料庫鎖表解鎖

2021-09-05 11:20:47 字數 1311 閱讀 6978

--以下幾個為相關表

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