1.这里提供一个监控JOB的方法;
1.1先创建一个存储过程;
create or replace procedure j
as
chk date;
new date;
job1 int;
n int;
begin
select next_date,job into chk,job1 from user_jobs where job=61;
n:=chk-sysdate;
if n>10 then
dbms_output.put_line(chk);
dbms_job.run(job1);
end if;
end;
/
大体的意思就是查看61这个JOB的next_date是不是4000-1-1这个异常时间,这里是用和当前时间的差来简单判断了,也可以修改为是否next_date=to_date('4000-01-01','yyyy-mm-dd'),各位网友自己判断;
1.2然后再创建一个JOB来执行这个存储过程J,
variable job_jiankong number;
begin
dbms_job.submit(:job_jiankong,'j;',sysdate,'sysdate+1/24');
commit;
end;
/
这里设置的是1个小时执行下这个存储过程;因为JOB是执行16次才损坏,所以如果设置一个小时,则如果在16个小时内是可以监控的,如果存储过程可以再次有效,16个小时内是可以回复正常的;如果想监控的时间更加长或短可以灵活修改这个执行的间隔时间;网友们可以自己判断下;
阅读(8291) | 评论(0) | 转发(0) |