Oracle鎖表問題的解決方法
一、問題復(fù)現(xiàn)
1、session1修改aabb表的B字段為迪迦奧特曼,但是不提交該事務(wù)
2、session2也修改這行的這個(gè)字段
發(fā)現(xiàn)該字段的執(zhí)行時(shí)間一直停滯,無法執(zhí)行。兩個(gè)session會(huì)相互爭搶 ,一直無法執(zhí)行,進(jìn)而導(dǎo)致系統(tǒng)卡頓崩潰
二、解決方法
1、查詢競爭資源的表或語句
運(yùn)行一下語句查詢鎖表的語句。
-- 查詢未提交事務(wù)的session信息,注意執(zhí)行以下SQL,用戶需要有DBA權(quán)限才行 SELECT L.SESSION_ID, S.SERIAL#, L.LOCKED_MODE AS 鎖模式, L.ORACLE_USERNAME AS 所有者, L.OS_USER_NAME AS 登錄系統(tǒng)用戶名, S.MACHINE AS 系統(tǒng)名, S.TERMINAL AS 終端用戶名, O.OBJECT_NAME AS 被鎖表對象名, S.LOGON_TIME AS 登錄數(shù)據(jù)庫時(shí)間 FROM V$LOCKED_OBJECT L INNER JOIN ALL_OBJECTS O ON O.OBJECT_ID = L.OBJECT_ID INNER JOIN V$SESSION S ON S.SID = L.SESSION_ID WHERE 1 = 1
查詢結(jié)果如下
2、強(qiáng)制釋放資源
運(yùn)行一下語句可以殺死對應(yīng)的鎖表進(jìn)程
通用語句:強(qiáng)制 結(jié)束/kill 鎖表會(huì)話語法 ALTER SYSTEM KILL SESSION 'SESSION_ID, SERIAL#'; 示例語句:強(qiáng)制殺死session1,讓session2可以修改a = '3228730285638861'的那條記錄 ALTER SYSTEM KILL SESSION '4984, 28973';
殺死session1的進(jìn)程后,session2順利執(zhí)行。
以上就是Oracle鎖表問題的解決方法的詳細(xì)內(nèi)容,更多關(guān)于Oracle鎖表的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
oracle數(shù)據(jù)庫查詢表被鎖多種方式實(shí)現(xiàn)
本文介紹了在Oracle數(shù)據(jù)庫中如何通過V$LOCKED_OBJECT、DBA_OBJECTS和DBA_LOCKS、VSESSION和VLOCK、DBA_BLOCKERS和DBA_WAITERS、V$LOCK等視圖查詢表是否被鎖定的方法,這些視圖提供了詳細(xì)的鎖信息,包括鎖的類型、模式以及持有鎖的會(huì)話信息,需要的朋友可以參考下2024-10-10查看oracle數(shù)據(jù)庫的編碼及修改編碼格式的方法
本節(jié)主要介紹了如何查看oracle數(shù)據(jù)庫的編碼及修改編碼格式,需要的朋友可以參考下2014-07-07Oracle中decode函數(shù)應(yīng)用示例詳解
Oracle?DECODE函數(shù)功能很強(qiáng),這篇文章主要給大家介紹了關(guān)于Oracle中decode函數(shù)應(yīng)用示例的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用oracle具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-05-05oracle數(shù)據(jù)庫導(dǎo)入導(dǎo)出命令解析
這篇文章主要介紹了oracle數(shù)據(jù)庫導(dǎo)入導(dǎo)出命令解析,小編覺得還是比較不錯(cuò)的,需要的朋友可以參考下。2017-10-10oracle11g密碼復(fù)雜性校驗(yàn)開啟關(guān)閉方式
這篇文章主要介紹了oracle11g密碼復(fù)雜性校驗(yàn)開啟關(guān)閉方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12Oracle如何查看impdp正在執(zhí)行的內(nèi)容
這篇文章主要給大家介紹了關(guān)于Oracle如何查看impdp正在執(zhí)行的內(nèi)容的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Oracle具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06Oracle 11g數(shù)據(jù)庫安裝與卸載的方法圖解
如果小編使用的是win7系統(tǒng),最好采用11g,否則很可能10g出現(xiàn)不兼容安裝不成功的情況。下面給大家分享Oracle 11g數(shù)據(jù)庫安裝與卸載的方法圖解,非常不錯(cuò),感興趣的朋友一起看看吧2016-09-09oracle數(shù)據(jù)庫如何給用戶授權(quán)查詢權(quán)限
這篇文章主要給大家介紹了關(guān)于oracle數(shù)據(jù)庫如何給用戶授權(quán)查詢權(quán)限的相關(guān)資料,授予權(quán)限是數(shù)據(jù)庫管理中的重要任務(wù),它可以確保用戶有權(quán)訪問所需的數(shù)據(jù)庫對象,并執(zhí)行必要的操作,需要的朋友可以參考下2024-01-01