今天碰到一個執行語句等了半天沒有執行:delete table XXX where ......,可是在select 的時候沒問題。後來發現是在執行sql
select * from XXX for update 的時候沒有commit,oracle將該記錄鎖住了。session
能夠經過如下辦法解決: oracle
先查詢鎖定記錄 it
SELECT s.sid, s.serial# FROM v$locked_object lo, dba_objects ao, v$session s WHERE ao.object_id = lo.object_id AND lo.session_id = s.sid; io
而後刪除鎖定記錄 table
ALTER system KILL session 'SID,serial#';object
經過上述sql,問題終於解決了!date