for update造成的Oracle鎖表與解鎖


我遇到的情況:

當使用select語句查詢表時,后面跟着for update ,

select * from  table  for update

當修改表中數據,但是沒有commit就關掉PL/SQL,下次再打開,執行帶for update的sql語句,就會卡死

 

 一、鎖表

查看鎖表進程SQL語句: 

select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID; 

 

如果有記錄,可查到如下鎖表記錄

 

二、解鎖


殺掉鎖表進程: 
記錄下SID和serial# ,分別替換掉下面的1155,39095,即可解除鎖表

alter system kill session '1155,39095'; 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM