Oracle鎖表比較簡單,查詢鎖表的session殺掉就能夠了。html
一、如下幾個爲相關表數據庫
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;
二、查看被鎖的表session
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;
三、查看那個用戶那個進程形成死鎖oracle
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;
五、查出鎖定表的sid, serial#,os_user_name, machine_name, terminal,鎖的type,modespa
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語句其實產生了兩個鎖,一個是表鎖,一個是行鎖。.net
七、殺掉進程 sid,serial#code
ALTER SYSTEM KILL SESSION'210,11562';
有時候部分技術人員在更新記錄時會忘記提交事務,形成鎖表。故引出此內容。htm
一、Oracle 更新表的方式經常使用的幾種:blog
(1)、update 表名 set 字段1=值1,字段2=值2 ... where 過濾條件;
(2)、select * from 表名 where 過濾條件 for update ;--鎖定某行記錄或整張表,一直等待,直到提交或回滾。
拓展:
select * from 表名 where 過濾條件 for update of 列名 ;(用在多表鏈接鎖定時,能夠指定要鎖定的是哪幾張表,而若是表中的列沒有在for update of 後面出現的話,就意味着這張表其實並無被鎖定,其餘用戶是能夠對這些表的數據進行update操做的。這種狀況常常會出如今用戶對帶有鏈接查詢的視圖進行操做場景下。用戶只鎖定相關表的數據,其餘用戶仍然能夠對視圖中其餘原始表的數據來進行操做。 )
select * from 表名 where 過濾條件 for update 【of 列名】 wait 時間;--等待n秒後返回錯誤提示
select * from 表名 where 過濾條件 for update【of 列名】 nowait ;--立刻返回錯誤提示
(3)、select 要更新的字段,rowid from 表名 where 過濾條件;
(4)、merge語句(用的相對比較少)
二、for update與rowid區別
for update :當語句運行時,會在對應行(where子句)加上行級鎖,無where子句等於全表上鎖。若遇到客戶端斷網、測試人員忘記提交\回滾事務,則會發生鎖表。
rowid: 運行後並未給數據加上行級鎖(經過物理地址去肯定某一行數據),但能夠編輯數據,提交事務的瞬間完成上鎖、提交、解鎖等動做,不易發生鎖表。
參考:
http://www.javashuo.com/article/p-fiiafgwu-eo.html
oracle for update和for update nowait的區別 - 全威儒 - 博客園 https://www.cnblogs.com/quanweiru/archive/2012/11/09/2762223.html
【Oracle】-for update 與 rowid - zhaizhai的博客 - CSDN博客 http://blog.csdn.net/zhailihua/article/details/78716347