oracle定时任务失效

发现系统数据没有更新,查看oracle定时任务,估计没有执行。

发现next_date变成了4000/1/1 ,broken被选中。

select * from user_jobs发现该任务失败次数达16次。

查得如下原因:

当任务运行失败时,SNP过程在1分钟后将再次试图运行该任务。如果这次运行又失败了,下一次尝试将在2分钟后进行,再下一次在4分钟以后。任务队列每次 加倍重试间隔直到它超过了正常的运行间隔。在连续16次失败后,任务就被标记为中断的(broken),如果没有用户干预,任务队列将不再重复执行。

当将一个任务的next_date参数赋值为null时,则该任务下一次运行的时间将被指定为4000年1月1 日,也就是说该任务将永远不再运行。在大多数情况下,这可能是我们不愿意看到的情形。但是,换一个角度来考虑,如果想在任务队列中保留该任务而又不想让其 运行,将next_date设置为null却是一个非常简单的办法。

手动test该定时任务,发现了报错原因,是插入ipv6的ip失败,将其删除。将定时任务恢复,重新执行,执行成功则失败次数将重置0.

将任务停掉的方法:

dbms_job.broken(v_job,true,next_date); //停止一个job,v_job可写job号,里面参数true也可是false,next_date(某一时刻停止)也可是sysdate(立刻停止)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值