1.查詢死程序的作業系統id,spid
select s.username, s.osuser, s.sid, s.serial#, p.spid
from v$session s,v$process p
where s.paddr = p.addr
and s.username is not null;
2.資料庫級別殺死程序
alter system kill session 'sid,serial#';
alter system kill session '9,203';
在乙個 unix 資料庫中,下一步是 ps 命令輸出的 unix 提示中定位程序(同樣是查詢 osuser 和 spid 等 id)然後使用 kill -9 spid 結束失控的後台程序。然而,在 windows 中,只有乙個程序 oracle.exe,而且使用者連線是在 windows 執行緒中處理的,而不在程序中處理的。如果使用 windows 任務管理器結束 oracle 執行緒,就有可能影響所有使用者和後台執行緒,並導致資料庫崩潰。
oracle 在oracle home/bin 目錄下提供了乙個 orakill.exe 命令,這個命令的引數與alter system kill session 相同,但是不要求資料庫連線。要定位乙個特定的執行緒,需要尋找乙個能夠顯示屬於乙個程序的所有執行緒的程式。windows 任務管理器只能顯示執行緒數和程序。你需要從微軟的資源工具包中尋找乙個用於 windows 2000 和 nt 的工具程式,比如免費的quickslice,或者qslice.exe(該工具是基於 windows 的),或者pstat(pstat.exe 是乙個命令列工具)。簡單地在 orakill 命令後輸入執行緒 id(以十進位制表示)和 sid 即可:
orakill
orakill orcl 2760
"kill of thread id 2760 in instance orcl successfully signalled[sic]."
應該只有在不能訪問資料庫來執行alter system kill session 的情況才使用orakill。如果意外結束了乙個必要的後台程序,比如 pmon,那麼很可能會導致資料庫崩潰。新手永遠不要這樣做。
windows 下安裝SVN伺服器
2.安裝 3.配置 1 建立空資料夾d svndata webdemo 2 命令列svnadmin create d svndata webdemo 3 開啟d svndata webdemo conf svnserve.conf取消注釋並設定 anon access none auth acess...
windows下配置nginx伺服器
c server nginx start nginxc server nginx nginx.exe 強制停止 c server nginx nginx.exe s stop 儲存並停止 c server nginx nginx.exe s quit c server nginx nginx.exe...
windows下cvs伺服器管理
兩年前從現在的公司離職,回來發現以前的文件都被後來者丟了,故開始以博文代替工作筆記 服務端新增使用者,修改密碼 1.設定cvsroot環境 也可以直接用cvs login命令進入 set cvsroot pserver color red cvsuser color 127.0.0.1 color ...