在我們直接進行對數據庫進行增刪改查的時候,有時候會不小心把某個表鎖住了,然后項目就會出問題,數據庫也會一直處於查詢狀態中,通過遇到這種情況:
我進行這幾步操作:
1、查看數據庫鎖,診斷鎖的來源及類型:
select object_id,session_id,locked_mode from v$locked_object;
或者用以下命令:
select b.owner,b.object_name,l.session_id,l.locked_mode from v$locked_object l, dba_objects b where b.object_id=l.object_id
2、找出數據庫的serial#,以備殺死:
select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked_object t1,v$session t2 where t1.session_id=t2.sid order by t2.logon_time;
3、殺死該session:
alter system kill session 'sid,serial#'
可以很完美的解決表被鎖死的過程。