1.查找死进程的操作系统 id,SPID
select s.username, s.osuser, s.sid, s.serial#, p.spid
from 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';
Oracle 在Oracle Home/bin 目录下提供了一个 orakill.exe 命令,这个命令的参数与ALTER SYSTEM KILL SESSION 相同,但是不要求数据库连接。要定位一个特定的线程,需要寻找一个能够显示属于一个进程的所有线程的程序。Windows 任务管理器只能显示线程数和进程。
简单地在 orakill 命令后输入线程 ID(以十进制表示)和 SID 即可:
orakill <sid> <spid>
orakill ORCL 2760
"Kill of thread id 2760 in instance ORCL successfully signalled[sic]."
|