如何停止oracle 9i 中正在执行的job?

来源:百度知道 编辑:UC知道 时间:2024/09/24 09:07:53
小弟管理一个数据库,今天上午检查数据的时候发现了一个问题:一个job一直在运行(平时都是半小时执行完),但今天早上一看是执行了8个小时了,而且表空间也被占满(从前遇到这样的问题都是用alter system kill session解锁,重建一下被存储过程锁住的表,空间就会回到30%)。存储过程修改不了也drop不掉,那张表更是无法清空,报的是资源被锁的ora00054错,但不论怎么查都查不到锁,不论是job的锁还是table锁都查不到,dba_job_running里也是空的,都快崩溃了,因为在使用,又不能重启数据库服务……

在线求救各位大哥大姐!!!!
100分悬赏!!!

用orakill试试。

具体实现步骤:
1、alter system set job_queue_processes=0;
2、
select s.SID,spid,s.program
from v$process p, v$session s
where p.addr=s.PADDR and s.program like '%JOB名字%';
3、orakill prod 查出的spid
4、
begin
dbms_scheduler.drop_job('JOB名字');
end;
/
5、alter system set job_queue_process=12;

---
以上,希望对你有所帮助。

难道进程里面没有这个JOB?