select l.session_id sid,
s.serial#,
l.locked_mode,
l.oracle_username,
s.user#,
l.os_user_name,
s.machine,
s.terminal,
a.sql_text,
a.action,
『alter system kill session 」』 || s.sid || 『, 』 || s.serial# || 」』;』 command
from vsq
lare
aa,v
session s, v$locked_object l
where l.session_id = s.sid
and s.prev_sql_addr = a.address
order by sid, s.serial#;
alter system kill session 『sid,serial#』;
報
ora-00031: session marked for kill 處理oracle中殺不掉的鎖
2.報如上錯誤 :select a.spid,b.sid,b.serial#,b.username from vpr
oces
sa,v
session b where a.addr=b.paddr and b.status=』killed』 查詢spid 執行緒id;
3.如果利用上面的命令殺死乙個程序後,程序狀態被置為」killed」,但是鎖定的資源很長時間沒有被釋放,那麼可以在os一級再殺死相應的程序(執行緒),首先執行下面的語句獲得程序(執行緒)號:
select spid, osuser, s.program from vse
ssio
ns,v
process p where s.paddr=p.addr and s.sid=12 (12就是上面的sid)
4. 例:c:>orakill orcl 327
說明:這裡要注意的是kill os程序是在服務端操作,而不是你程式所在客戶機。 orcl 是例項名稱 ,327 為spid 執行緒號
kill 9 殺不掉程序
kill 9 傳送sigkill訊號給程序,將其終止,但對於以下兩種情況不適用 1.該程序是殭屍程序 stat z 此時程序已經釋放所有的資源,但是沒有被父程序釋放。殭屍程序要等到父程序結束,或者重啟系統才可以被釋放。2.程序處於 核心態 並且在等待不可獲得的資源,處於 核心態 的資源預設忽略所有訊...
oracle 中處理殺不掉的程序
一些oracle中的程序被殺掉後,狀態被置為 killed 但是鎖定的資源很長時間不釋放,有時實在沒辦法,只好重啟資料庫。但是shutdown immediate又怕可能程序殺不掉會一直停留在shutdown immediate,直接shutdown abort又怕損壞資料庫。現在提供一種方法解決這...
linux kill 9 殺不掉的程序
kill 9 傳送sigkill訊號給程序,將其終止,但對於以下兩種情況不適用 1.該程序是殭屍程序 stat z 此時程序已經釋放所有的資源,但是沒有被父程序釋放。殭屍程序要等到父程序結束,或者重啟系統才可以被釋放。2.程序處於 核心態 並且在等待不可獲得的資源,處於 核心態 的資源預設忽略所有訊...