2014年2月19日 星期三

Oracle解鎖

當有lock發生時,檢查 v$session 觀察哪個session卡住其他人。
select username, sid, serial#, program, machine, status, blocking_session from v$session where blocking_session is not null;

其中blocking_session的值就是顯示該session被哪個session block。
若是沒顯示資料時,表示沒有session被lock住。
這時候若可以的話,查一下那個session的使用者在做甚麼,是否可以先關掉。
select username, sid, serial#, program, machine, status, blocking_session from v$session where sid=[blocking_session中的數值];

檢查確認該session是可以關閉的程式時,便把他關閉。
若不行關閉,還是必須等他跑完。

可以關的話,輸入指令kill掉那個session
alter system kill session '[sid],[serial#]';

沒有留言:

張貼留言