Oracle鎖表現象及解決

2021-09-11 02:08:11 字數 792 閱讀 7226

今天在刪除oracle資料時,由於沒有commit,出現了鎖表現象。因此猜想當我們在對資料庫的資料進行改動時,如果沒有commit,那麼oracle就會自動鎖表。鎖表之後的現象為:不能對資料庫中的資料進行和更改和刪除。

解決方案(plsql環境下):

1、以sysdba登陸資料庫;

2、輸入如下sql:

elect /*+ rule */ lpad(' ',decode(l.xidusn ,0,3,0))||l.oracle_username user_name,

o.owner,

o.object_name,

o.object_type,

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

order by o.object_id,xidusn desc;

3、根據查詢出的sessionid和serialid執行如下sql:

alter system kill session '968,10069';   --968,10069:sessionid/serialid

commit;

最後希望這點小發現希望能幫助到你,再有就是一定記住要commit!commit!commit!重要的話說三遍!!

互斥鎖遞迴鎖及死鎖現象

from threading import lock,rlock lock 互斥鎖 效率高 rlock 遞迴 recursion 鎖 效率相對低 l lock l.acquire print 希望被鎖住的 l.release rl rlock 在同乙個執行緒中可以被acquire多次 rl.acqu...

mysql 鎖的現象和解決

2018 12 3 14 43 11 星期一 資料庫鎖了的現象 乙個程序程序一直在嘗試更新,而且殺不掉,重啟mysql以後還是會有 乙個update語句執行了很久 寫的業務都不可以,查詢也很慢 原因 可能是事務沒有提交 結束 比如,乙個事務開始了,但是中途呼叫的其他方法除了錯誤,或者方法不存在等導致...

mysql 鎖的現象和解決

2018 12 3 14 43 11 星期一 資料庫鎖了的現象 乙個程序程序一直在嘗試更新,而且殺不掉,重啟mysql以後還是會有 乙個update語句執行了很久 寫的業務都不可以,查詢也很慢 原因 可能是事務沒有提交 結束 比如,乙個事務開始了,但是中途呼叫的其他方法除了錯誤,或者方法不存在等導致...