使用Oracle杀死进程的命令示范(Oracle杀进程命令)

Oracle中通过SQL来终止/杀死/终结/Kill一个进程,其实是一个技巧,非常的简单易读。

在我们的生活中,由Oracle引擎管理的数据库服务器一般会执行大量的进程;这些进程可能是系统正常的,也可能是异常的。尤其当数据库的运行状况出现异常时,数据库管理员可能需要杀死某些进程,特别是可能出现死锁的会话。

Oracle提供多种方法可以终止/杀死/终结/Kill一个进程,其中包括:使用UNIX/Linux命令”kill -9 ” ,使用Solaris命令”kill -9 “,还可以使用 Oracle内置SQL来达到相同的目的,这是极为简单的一种方法。

具体的实现可以通过以下的SQL语句来实现:

ALTER SYSTEM KILL SESSION 'SID,SERIAL#'; 

上面的SQL语句后面跟着的是要杀死的某个会话的SID和Serial Number,其中SID 代表会话号,而 Serial Number 代表会话当前正执行语句在库中所处的位置。

为了更详细的获取所需要终止/结束/Kill进程的会话信息,可以先运行:

SELECT SID,SERIAL#,PROGRAM,PROCESS,MACHINE
FROM V$SESSION
WHERE USERNAME = '&username'
ORDER BY WHEN;

查询出来的结果是一个表,其中SID和Serial#就是对应的进程或会话号,而不同的进程还有一些其他的详细信息,比如运行的程序的名称,正在运行的进程,机器等等。

有了这些信息,Oracle数据库管理员就可以使用上面讲述的“ALTER SYSTEM KILL SESSION”来Kill掉一个进程了。

总结起来, Oracle提供了一个简单易读的SQL语句来杀死一个进程,只需要通过一个查询来获取一个会话的号,然后再将这个号设置到 SQL 语句“ALTER SYSTEM KILL SESSION”的参数中来杀死这个进程。这确实是一个非常简单的技巧,能够方便地解决数据库异常的情况。


数据运维技术 » 使用Oracle杀死进程的命令示范(Oracle杀进程命令)