1. 首先檢視資料庫中哪些表被鎖了,找到session id:
使用sql:
select b.owner,b.object_name,a.session_id,a.locked_mode
from v$locked_object a,dba_objects b
where b.object_id = a.object_id;
owner :資料表的所有者使用者
object_name: 被鎖住的表名
session_id: 會話id
locked_mode: 鎖級別
鎖級別分為6級:
1級鎖有:select
2級鎖有:select for update,lock for update,lock row share
3級鎖有:insert, update, delete, lock row exclusive
4級鎖有:create index, lock share
5級鎖有:lock share row exclusive
6級鎖有:alter table, drop table, drop index, truncate table, lock exclusive
2.再執行該語句,檢視會話id
select b.username,b.sid,b.serial#,logon_time
from v$locked_object a,v$session b
where a.session_id = b.sid order by b.logon_time;
3.殺會話
alter system kill session 'sid,serial#';
例子:alter system kill session '20,30153'; -----這個是我剛才殺死會話前的執行語句
如果有ora-00031錯誤,則在後面加immediate;
alter system kill session '20,30153' immediate;
出處:
Oracle資料庫表被鎖
1 資料庫表被鎖的現象 在運算元據庫時,有的時候我們會很突然的遇到資料庫報下面這個錯誤 sql view plain copy ora 00054 resource busy andacquire with nowait specified 第乙個可能的原因是在lock table 和select ...
Oracle資料庫被鎖表後,如何解決!
今天本來要修改測試庫程式版本的,發現被卡住了。一直無法完成,後來發現是表被鎖死了。然後通過網上們帖子的幫助,成功的解決了問題。這裡記錄一下 1.首先檢視當前資料庫中,哪些表被鎖住了,找到對應的session id 執行此語句 select b.owner,b.object name,a.sessio...
Oracle資料庫表被鎖與解鎖
本人小菜鳥,今天在專案中遇到了乙個令我費解的問題,就是我之前寫的運算元據的方法全部都不能用了,例如儲存 修改 刪除全部都不能用了 打斷點進去一步一步走發現在運算元據的時候出的問題,後台也不會報錯,糾結了好長時間啊,中午吃飯的時候討論到這個問題,大神一語道破其中奧妙啊,他說可能是資料庫表鎖死啦。哎呦喂...