//查询job信息
select * from user_jobs;
//查询job是否正在执行
select * from dba_jobs_running where job='job号';
//想要杀job
select b.sid,b.serial# from dba_jobs_running a, v$session b where a.sid=b.sid and a.job='job号';
alter system kill session '会话编号sid,会话序列号serial#';
补充:
如果报错--ORA-00031:标记要终止的会话
可以通过下列语句查询:
select a.spid,b.sid,b.serial#,b.username
from v$process a,v$session b
where a.addr=b.paddr
and b.status='KILLED';
如果利用上面的命令杀死一个进程后,进程状态被置为"killed",但是锁定的资源很长时间没有被释放,那么可以在OS级再杀死相应的进程(线程),首先执行下面的语句获得进程(线程)号:
select b.spid,a.osuser,b.program
from v$session a,v$process b
where a.paddr=b.addr
and a.sid=579 ---579用查询到的sid
在OS上杀死这个进程(线程)
用root身份执行命令:#kill -9 12345(12345 即查询出的进程ID)