Oracle鎖表查詢及解鎖kill
阿新 • • 發佈:2019-02-02
Oracle在操作過程中,鎖表是時常發生的事情,當遇到鎖表時,該如何查詢鎖表session及程序,如何解鎖是經常困擾的事情,以下將介紹具體的操作步驟及方法供參考學習:
鎖表查詢的程式碼有以下的形式:
select count(*) from v$locked_object;
select * from v$locked_object;
檢視哪個表被鎖
- 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;
檢視是哪個session引起的
- select b.username,b.sid,b.serial#,b.logon_time,b.paddr
- from v$locked_object a,v$session b
- where a.session_id = b.sid order by b.logon_time;
查v$process系統程序檢視
select spid from v$process where addr='' --在v$session表中依據被鎖sid查詢的paddr
殺掉對應session
執行命令:alter system kill session'1025,41';
其中1025為sid,41為serial#。
kill -9 剛才查出的spid or orakill 剛才查出的sid 剛才查出的spid