--------------解鎖
alter system kill session 'sid,serial';
--------------查詢鎖表使用者
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
where
ao.object_id = lo.object_id
and
lo.session_id = sess.sid;
--是查詢誰鎖定的表,發現多鎖定,安全起見,不能全部kill,於是用一下語句判定,誰鎖定,誰等待。
select /*+ rule */ lpad(' ',decode(l.xidusn ,0,3,0))||l.oracle_username user_name,
o.owner,o.object_name,o.object_type,s.sid,s.serial#
from v$locked_object l,dba_objects o,v$session s
where l.object_id=o.object_id
and l.session_id=s.sid
order by o.object_id,xidusn desc
--如果發生了鎖等待,我們可能更想知道是誰鎖了表而引起誰的等待
--以上的語句可以查詢到誰鎖了表,而誰在等待。
--以上查詢結果是乙個樹狀結構,如果有子節點,則表示有等待發生。
--如果想知道鎖用了哪個回滾段,還可以關聯到v$rollname,其中xidusn就是回滾段usn
--找出誰鎖定的記錄,kill掉就行了。
oracle 檢視鎖表,與解鎖
select t2.username,t2.sid,t2.serial t3.object name t2.osuser,t2.machine,t2.program,t2.logon time,t2.command,t2.lockwait,t2.saddr,t2.paddr,t2.taddr,t2....
oracle 檢視鎖表,解鎖
racle 鎖表查詢 和 解鎖 2009年08月25日 星期二 08 19 p.m.最近遇到這樣乙個問題,操作乙個表,發現被人鎖定了,於是查詢誰鎖定的表,發現多人鎖定,安全起見,不能全部kill,於是用一下語句判定,誰鎖定,誰等待。sql 查詢誰鎖定,誰等待 select rule lpad dec...
oracle 檢視鎖表和解鎖
檢視鎖表select l.session id sid,s.serial l.locked mode,l.oracle username,l.os user name,s.machine,s.terminal,o.object name,s.logon time from v locked obje...