一、DBMS_JOBS
1、查看正在运行的job;
SELECT * FROM USER_SCHEDULER_RUNNING_JOBS
2、根据sid查出对应的session;
select SID,SERIAL# from V$Session where SID=‘SESSION_ID‘;
3、kill对应的session;
alter system kill session ‘&SID,&SERIAL‘;
接着把JOB删掉就可以了
有些JOBS在被kill对应session,虽然状态已经被设置Wiekilled,但是由于还无法马上释放资源,JOBS还会继续运行。这时候如果要马上结束脚本运行,可以再进一步杀死系统进程。
1、通过上面的命令来杀死进程,进程的状态会被置为"killed",但是锁定的资源没有被释放,那么可以在os一级再杀死相应的进程(线程),首先执行下面的语句获得进程(线程)号:
select spid,osuser,s.program
from v$session s,v$process p
where s.paddr = p.addr and s.sid = ‘SID‘
注:这里的就是第一段语句查出来的SID,
执行上述语句,得出来的SPID
2、在OS 上通关cmd命令来杀死这个进程(线程)
1)第一种,在UNIX OS 上,用ROOT 身份执行下面的命令:
#kill -9 728 (728 1中的语句查询出来的SPID)
2)第二种,在WINDOWS,用orakill杀死线程,
语法为:orakill sid thread
注:SID,这里的SID 为你杀死该进程的数据库的实例名
THREAD,指的是你要杀掉该进程的线程号,为1中查询出来的SPID
例子如下:
C:Documents and SettingsAdministrator>orakill zghx 728
Kill of thread id 728 in instance zghx successfully signalled.