在数据库中,查看有关JOB的信息,可以通过视图:dba_jobs与dba_jobs_running
代码:
col what for a45
col interval for a30
select job,broken,to_char(last_date,’yyyy-mm-dd hh24:mi:ss’) “Last Time”,to_char(next_date,’yyyy-mm-dd hh24:mi:ss’) “Next Time”,interval,what from dba_jobs;
dba_jobs
其中:
dba_jobs记录了系统中存在的JOB,而dba_jobs_running记录了系统中正在执行的JOB。
如下:

根据上面的SID可以具体查看到正在执行JOB的会话信息:

也可以通过dba_jobs_running查看到该会话对应的操作系统进程编号:

于是,关于如何停掉JOB,选择就很多了:
1.标记JOB为Broken:
通过执行:
exec dbms_job.broken(,);
可以将JOB标记或者取消标记为:BROKEN。

JOB标记为BROKEN后,过一小段时间,将会被Oracle停掉。

2.删除会话:
alter system kill session ‘sid,serial#’;
具体操作如下:

3.操作系统中杀掉与具体JOB对应的进程:
kill -9

具体如下:

————————————————————————————
Ending。

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

隐藏
变装