oracle表被鎖處理方法

2021-12-30 11:40:40 字數 731 閱讀 1327

oracle表被鎖處理方法

最近遇到這樣乙個問題,操作乙個表,發現被人鎖定了,於是查詢誰鎖定的表,

發現多人鎖定,安全起見,不能全部kill,於是用一下語句判定,誰鎖定,誰等待。 

www.2cto.com  

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 

www.2cto.com  

// 查詢到的結果如下 

如果發生了鎖等待,我們可能更想知道是誰鎖了表而引起誰的等待 

以上的語句可以查詢到誰鎖了表,而誰在等待。 

以上查詢結果是乙個樹狀結構,如果有子節點,則表示有等待發生。 

如果想知道鎖用了哪個回滾段,還可以關聯到v$rollname,其中xidusn就是回滾段的usn 

找出誰鎖定的記錄,kill掉就行了。 

alter system kill session '133,3506' ; 

Oracle表被鎖,解鎖方法

1.下面的語句用來查詢哪些物件被鎖 select object name,machine,s.sid,s.serial from v locked object l,dba objects o v session s where l.object id o.object id and l.sessi...

Oracle表被鎖解決方法

最近在工作中遇到了oracle資料庫表被鎖的情況,導致無法對錶進行修改,再這裡給大家分享一下解決方法,避免大家從踩坑 1 查詢鎖的session id mysql select session id from v locked object 例 3334 2 根據session id查詢鎖的會話資訊...

Oracle解鎖表被鎖

1.下面的語句用來查詢哪些物件被鎖 select object name,machine,s.sid,s.serial from v locked object l,dba objects o v session s where l.object id o.object id and l.sessi...