在windows上运行的oracle,在操作系统中只会有一个oracle.exe进程,如果在关库的时候alert日志中告警hang在某个进程上,此时可以通过orakill来杀除该会话
1.orakill命令怎么用?
通过在command命令行直接使用orakill命令便可得到简单但清晰的实用使用指导。
需要注意的是:“sid”指的是“instance name”,不要被名字误导!
C:>orakill
Usage: orakill sid thread
where sid = the Oracle instance to target
thread = the thread id of the thread to kill
The thread id should be retrieved from the spid column of a query such as:
select spid, osuser, s.program from
v$process p, v$session s where p.addr=s.paddr
2.orakill命令何时用?
1)当手工使用“alter system kill session ‘sid,serial#’;”命令杀数据库中的session后,会话信息可能还会驻留在数据库中。使用这个orakill命令便可在操作系统一级可以彻底清除之;
2)从操作系统一级直接杀掉某个异常的会话。
3.orakill命令这样用。
select s.sid, s.serial#, p.spid, s.osuser, s.program from vprocessp,vprocess p, vprocessp,vsession s where p.addr=s.paddr order by s.sid;
SID SERIAL# SPID OSUSER PROGRAM
147 9 2300 aaa sqlplus.exe
17 rows selected.
数据库的实例名字是orcl,我们打算杀死SPID是“2300”这个session,那么方法如下:
orakill orcl 2300