社区
基础和管理
帖子详情
ORACLE JOB 失败自动重试 设置
along1
2010-01-05 10:50:00
job如果由于某种原因未能成功之行,oracle将重试16次后,还未能成功执行,将被标记为broken
我想问的是,如果设置让JOB失败后不再重试?
谢谢各位
...全文
1163
7
打赏
收藏
ORACLE JOB 失败自动重试 设置
job如果由于某种原因未能成功之行,oracle将重试16次后,还未能成功执行,将被标记为broken 我想问的是,如果设置让JOB失败后不再重试? 谢谢各位
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
suiziguo
2010-01-05
打赏
举报
回复
[Quote=引用 3 楼 along1 的回复:]
引用 1 楼 suiziguo 的回复:
当一个job运行时返回一个error是,oracle会再次设法执行它,第一次尝试是在一分钟后,第二次是在2分钟后,第三次是4分钟后,以此类推。每次尝试的周期加倍,直到下一次的运行时刻来到,又再次尝试,当尝试执行失败16次时,oracle自动标示此job为broken,不再执行此任务。
注意:当一个job的执行周期是3分钟执行一次,而你设参数job_queue_interval=600(10分钟),而你只有一个SNP进程的话,你的这个JOB将10分钟执行一次,失败16次后将标示为broken。因为你的job的执行周期被SNP进程的唤醒周期限制。那么每次尝试的时间间隔成倍的情况不会出现。
为什么失败后不再重试?Oracle是负责任的。
如果你想该JOB只运行一次,那么不指定间隔和下次执行时间。
谢谢 我这个JOB不是只运行一次的,因业务需要,每一次如果执行失败,不希望他重试执行,所以想知道怎么设置
[/Quote]
查了下dbms_job参数,没发现更改这个机制的参数。我汗,你的要求有点奇特,哈哈。等高手解析。
iqlife
2010-01-05
打赏
举报
回复
不要设置下次执行时间就可以了
http://guyuanli.itpub.net/post/37743/484763
along1
2010-01-05
打赏
举报
回复
[Quote=引用 1 楼 suiziguo 的回复:]
当一个job运行时返回一个error是,oracle会再次设法执行它,第一次尝试是在一分钟后,第二次是在2分钟后,第三次是4分钟后,以此类推。每次尝试的周期加倍,直到下一次的运行时刻来到,又再次尝试,当尝试执行失败16次时,oracle自动标示此job为broken,不再执行此任务。
注意:当一个job的执行周期是3分钟执行一次,而你设参数job_queue_interval=600(10分钟),而你只有一个SNP进程的话,你的这个JOB将10分钟执行一次,失败16次后将标示为broken。因为你的job的执行周期被SNP进程的唤醒周期限制。那么每次尝试的时间间隔成倍的情况不会出现。
为什么失败后不再重试?Oracle是负责任的。
如果你想该JOB只运行一次,那么不指定间隔和下次执行时间。
[/Quote]
谢谢 我这个JOB不是只运行一次的,因业务需要,每一次如果执行失败,不希望他重试执行,所以想知道怎么设置
oraclemch
2010-01-05
打赏
举报
回复
[Quote=引用楼主 along1 的回复:]
job如果由于某种原因未能成功之行,oracle将重试16次后,还未能成功执行,将被标记为broken
我想问的是,如果设置让JOB失败后不再重试?
谢谢各位
[/Quote]
这个机制是oracle默认设置的,是比较负责任的机制,如果你不想重复执行的话,你把job任务设置成只执行一次好了。
suiziguo
2010-01-05
打赏
举报
回复
当一个job运行时返回一个error是,oracle会再次设法执行它,第一次尝试是在一分钟后,第二次是在2分钟后,第三次是4分钟后,以此类推。每次尝试的周期加倍,直到下一次的运行时刻来到,又再次尝试,当尝试执行失败16次时,oracle自动标示此job为broken,不再执行此任务。
注意:当一个job的执行周期是3分钟执行一次,而你设参数job_queue_interval=600(10分钟),而你只有一个SNP进程的话,你的这个JOB将10分钟执行一次,失败16次后将标示为broken。因为你的job的执行周期被SNP进程的唤醒周期限制。那么每次尝试的时间间隔成倍的情况不会出现。
为什么失败后不再重试?Oracle是负责任的。
如果你想该JOB只运行一次,那么不指定间隔和下次执行时间。
wisdomhxz
2010-01-05
打赏
举报
回复
变个法子,弄多个配置表和过程~~多次判断~
crazylaa
2010-01-05
打赏
举报
回复
[Quote=引用 3 楼 along1 的回复:]
引用 1 楼 suiziguo 的回复:
当一个job运行时返回一个error是,oracle会再次设法执行它,第一次尝试是在一分钟后,第二次是在2分钟后,第三次是4分钟后,以此类推。每次尝试的周期加倍,直到下一次的运行时刻来到,又再次尝试,当尝试执行失败16次时,oracle自动标示此job为broken,不再执行此任务。
注意:当一个job的执行周期是3分钟执行一次,而你设参数job_queue_interval=600(10分钟),而你只有一个SNP进程的话,你的这个JOB将10分钟执行一次,失败16次后将标示为broken。因为你的job的执行周期被SNP进程的唤醒周期限制。那么每次尝试的时间间隔成倍的情况不会出现。
为什么失败后不再重试?Oracle是负责任的。
如果你想该JOB只运行一次,那么不指定间隔和下次执行时间。
谢谢 我这个JOB不是只运行一次的,因业务需要,每一次如果执行失败,不希望他重试执行,所以想知道怎么设置
[/Quote]
执行失败?楼主看看在调用的存储过程里面有没有办法来处理失败,把错误处理掉,记下日志,直接结束过程,下次调用看看失败记录是否存在,存在就直接跳到过程末尾,当作过程正常结束吧,然后你可以自己去监控日志表,看看有没有错误。
另外,就算有这个参数可以让你改,但,其他的job怎么办?其他数据库用户的job怎么办呢?呵呵。
个人意见,仅供参考。
Oracle
入门课程
12、
Oracle
集合运算 13、
Oracle
视图 14、
Oracle
序列 15、
Oracle
索引 16、
Oracle
基本语法 17、
Oracle
数据类型 18、
Oracle
变量 19、
Oracle
运算符 20、
Oracle
条件控制 21、
Oracle
循环 22、
Oracle
循环控制 23、
Oracle
...
Oracle
数据库
JOB
失败
后的
重试
规律解密
由于官方文档上没有找到相关的说明,所以这里进行了如下测试,为了找到
oracle
数据库中
job
失败
后
重试
时间的规律。
Oracle
job
执行
失败
,retry的次数
check_mk告警, 记录有
job
执行
失败
,使用如下sql去复核,没有
job
执行
失败
select * from dba_
job
s where failures<>0 我猜应该是开始执行
失败
,后面retry成功,但是前面执行
失败
的时候刚好被check_mk抓到,才...
oracle
job
执行
失败
后重新执行
当一个
job
运行时返回一个error时,
oracle
会再次设法执行它,第一次尝试是在一分钟后,第二次是在2分钟后,第三次是4分钟后,以此类推。每次尝试的周期加倍,直到下一次的运行时刻来到,又再次尝试,当尝试执行失...
oracle
的
job
引起数据库崩溃,
JOB
忽然停止工作了
当前位置:我的异常网» 数据库»
JOB
忽然停止工作了
JOB
忽然停止工作了www.myexceptions.net网友分享于:2015-08-26浏览:79次
JOB
突然停止工作了本文通过一次
Oracle
Job
任务异常案例诊断,分析其原因及解决过程,从...
基础和管理
17,377
社区成员
95,128
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章