今天在刪除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語句執行了很久 寫的業務都不可以,查詢也很慢 原因 可能是事務沒有提交 結束 比如,乙個事務開始了,但是中途呼叫的其他方法除了錯誤,或者方法不存在等導致...