日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

關(guān)于PL/SQL進(jìn)行更新操作時(shí)卡死的解決辦法

作者:多干一點(diǎn)飯呀 更新時(shí)間: 2022-08-15 編程語(yǔ)言

今天寫(xiě)了兩個(gè)存儲(chǔ)過(guò)程,兩個(gè)存儲(chǔ)過(guò)程在代碼里都沒(méi)有commit

然后在測(cè)試存儲(chǔ)過(guò)程的時(shí)候,發(fā)現(xiàn)一直卡在update語(yǔ)句里面出不來(lái)

找了很久終于發(fā)現(xiàn)。

原因:

執(zhí)行update或者insert語(yǔ)句后需要commit,如果因網(wǎng)絡(luò)或其他原因沒(méi)有commit而強(qiáng)制關(guān)閉連接,Oracle就會(huì)將該條提交的記錄鎖住。

解決方法:

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.session_id = s.sid;

?在這里插入圖片描述

2、刪除該鎖定記錄?

alter system kill session 'SID,serial#';

其中 SID填寫(xiě)上面查到的SID數(shù)值,serial#填寫(xiě)serial#列的數(shù)值,如下:?

alter system kill session '128,20580';

之后就能正確運(yùn)行

原文鏈接:https://blog.csdn.net/weixin_47146097/article/details/125992893

欄目分類
最近更新