ORACLE 強殺進程

通常情況下,要強行關閉session,會執行下面的命令: alter system kill session 'sid,serial#'; 這命令會把相應的session關了,但有時,這命令並不能把相應的session關了,只是把相應的session狀態變成了killed,被殺的session其實還是在跑的,沒有達到我們的目的。 一種變通的辦法,先查出對應session的操作系統進程: select spid from v$process where addr in (select paddr from v$session where sid=?) 然後用操作系統命令kill -9 強行殺進程,這辦法一般還是能奏效的,但有一個不便之處,就是要登錄到數據庫所在的機器上操作,如果如果登陸的帳號沒有執行kill的權限,或者沒有OS帳號,這一辦法是行不通的。 其實10G之後,alter system kill session後面還可以加一選項immediate,這樣比沒有選項的操作更暴力,可以起到操作系統kill -9一樣的效果: alter system kill session 'sid,serial#' immediate; 從幾次實際的操作結果來看,這命令還是很不錯的,不用爬到機器上了。

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章