Chinaunix首页 | 论坛 | 博客
  • 博客访问: 882386
  • 博文数量: 101
  • 博客积分: 2256
  • 博客等级: 大尉
  • 技术积分: 1481
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-19 17:52
文章存档

2017年(1)

2013年(2)

2012年(25)

2011年(73)

分类: Oracle

2012-07-06 09:40:51

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个小时内是可以回复正常的;如果想监控的时间更加长或短可以灵活修改这个执行的间隔时间;网友们可以自己判断下;
 
 
阅读(8118) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~