Oracle數(shù)據(jù)庫"記錄被另一個用戶鎖住"解決方法(推薦)
1、先來看看為什么會出鎖住:
數(shù)據(jù)庫是一個多用戶使用的共享資源。當多個用戶并發(fā)地存取數(shù)據(jù)時,在數(shù)據(jù)庫中就會產(chǎn)生多個事務(wù)同時存取同一數(shù)據(jù)的情況。若對并發(fā)操作不加控制就可能會讀取和存儲不正確的數(shù)據(jù),破壞數(shù)據(jù)庫的一致性。
加鎖是實現(xiàn)數(shù)據(jù)庫并發(fā)控制的一個非常重要的技術(shù)。當事務(wù)在對某個數(shù)據(jù)對象進行操作前,先向系統(tǒng)發(fā)出請求,對其加鎖。加鎖后事務(wù)就對該數(shù)據(jù)對象有了一定的控制,在該事務(wù)釋放鎖之前,其他的事務(wù)不能對此數(shù)據(jù)對象進行更新操作。
在數(shù)據(jù)庫中有兩種基本的鎖類型:排它鎖(Exclusive Locks,即X鎖)和共享鎖(Share Locks,即S鎖)。當數(shù)據(jù)對象被加上排它鎖時,其他的事務(wù)不能對它讀取和修改。加了共享鎖的數(shù)據(jù)對象可以被其他事務(wù)讀取,但不能修改。數(shù)據(jù)庫利用這兩種基本的鎖類型來對數(shù)據(jù)庫的事務(wù)進行并發(fā)控制。
2、解決方法:
用管理員賬號登錄數(shù)據(jù)庫,執(zhí)行sql:
SELECT object_name, machine, s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv$session s WHERE l.object_id = o.object_id AND l.session_id = s.sid;
找到對應(yīng)鎖住的表執(zhí)行:
--釋放SESSION SQL: --alter system kill session 'sid, serial#'; ALTER system kill session '23, 1647';
總結(jié)
以上所述是小編給大家介紹的Oracle數(shù)據(jù)庫"記錄被另一個用戶鎖住"解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Oracle 統(tǒng)計用戶下表的數(shù)據(jù)量實現(xiàn)腳本
這篇文章給大家分享Oracle 統(tǒng)計用戶下表的數(shù)據(jù)量實現(xiàn)腳本,非常不錯,具有參考借鑒價值,需要的朋友參考下吧2017-09-09Oracle數(shù)據(jù)庫19C的安裝與配置指南(2022年最新版)
在Oracle數(shù)據(jù)庫的發(fā)展中,數(shù)據(jù)庫一直處于不斷升級狀態(tài),下面這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫19C的安裝與配置指南的相關(guān)資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2022-06-06Oracle AWR(自動工作量資料檔案庫)的管理與維護詳解
這篇文章主要給大家介紹了關(guān)于Oracle AWR(自動工作量資料檔案庫)管理與維護的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2017-10-10關(guān)于系統(tǒng)重裝后Oracle數(shù)據(jù)庫完全恢復(fù)的解決辦法
本篇文章是對系統(tǒng)重裝后Oracle數(shù)據(jù)庫完全恢復(fù)的解決辦法進行了詳細的分析介紹,需要的朋友參考下2013-06-06Oracle報存儲過程中調(diào)用DBLink同義詞出現(xiàn)錯誤:PLS-00201: 必須聲明標識符
這篇文章主要介紹了Oracle報存儲過程中調(diào)用DBLink同義詞出現(xiàn)錯誤:PLS-00201: 必須聲明標識符的相關(guān)資料,需要的朋友可以參考下2018-03-03oracle中左填充(lpad)和右填充(rpad)的介紹與用法
這篇文章主要跟大家介紹了關(guān)于oracle中左填充(lpad)和右填充(rpad)的相關(guān)資料,通過填充我們可以固定字段的長度,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2017-08-08