多语言展示
当前在线:728今日阅读:2今日分享:38

oracle数据库中的JOB无法停止

如果oracle数据库的JOB无法停止,总是显示正在运行,解决方法如下:
工具/原料
1

电脑

2

oracle数据库

方法/步骤
1

select * from dba_jobs_running; 查询正在运行的JOB

2

如果上述的SQL语句查询不到,则需要在表v$scheduler_running_jobs中查找正在运行的JOB:select * from v$scheduler_running_jobs;记录下SESSION_ID及JOB_ID的值。

3

select b.SID,b.SERIAL#,c.SPID from v$scheduler_running_jobs a,v$session b,v$process c where a.session_id = b.sid and b.PADDR = c.ADDR;使用该语句查询确定要停掉的job的SID和SERIAL#值。

4

使用alter system kill session 'SID,SERIAL#';语句杀掉会话。

5

最后使用SQL语句:execute dbms_job.broken(job_id,true);commit;彻底将JOB停止并提交。

推荐信息