千家信息网

Oracle数据库JOB失败怎么解决

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,今天小编给大家分享一下Oracle数据库JOB失败怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我
千家信息网最后更新 2025年11月07日Oracle数据库JOB失败怎么解决

今天小编给大家分享一下Oracle数据库JOB失败怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

数据库版本:11.2.0.3

测试说明:这里创建了一个日志表以及一个运行时必定出错的procedure,用于job的运行。这里只要记录下每次job执行时视图user_jobs 中的 next_date就可以推断出job 执行失败后的重试规律。

为了测试job的重试规律我做了如下工作

日志表以及序列:

  1. create table job_exec_logs (id number ,current_date date , next_date date ,failures number ,broken varchar2( 2)) ;

  2. create sequence seq_job_exec_logs_id ;

测试procedure

  1. create or replace procedure pro_my_test is

  2. begin

  3. insert into job_exec_logs select

  4. seq_job_exec_logs_id.nextval , sysdate , next_date , failures , broken from user_jobs ;

  5. commit ;

  6. execute immediate 'select * from ddddsfs' ;

  7. end ;

其中ddddsfs表示不存在的,也就是说只要运行pro_my_test存储过程到最后都会出错(但是日志表还是可以正常插入进去的)

创建job:

  1. var job number ;

  2. begin

  3. sys.dbms_job.submit(job => :job,

  4. what => 'pro_my_test ;',

  5. next_date => sysdate,

  6. interval => 'sysdate+5' );

  7. commit;

  8. end;

  9. /

其实整个测试过程没什么可说的,让job自动运行即可,但是需要等待job下次重试时间。

最后测试的结果:

  1. dexter@REPO>select trunc((next_date-lag(next_date,1) over (order by 4))*24*60) from (

  2. 2 select * from job_exec_logs

  3. 3 union all

  4. 4 select 11111, sysdate , next_date ,failures , broken from user_jobs

  5. 5 order by 4 nulls first) ;

  6. TRUNC((NEXT_DATE-LAG(NEXT_DATE,1)OVER(ORDER BY 4))*24*60)

  7. -------------------------------------------------------

  8. 2

  9. 4

  10. 8

  11. 15

  12. 32

  13. 64

  14. 128

  15. 256

  16. 512

  17. 1024

  18. 1440

  19. 1440

  20. 已选择13行。

如上结果以及笔者的其他测试可以判断出:

1、每次重试时间都是递增的,第一次2分钟,4分钟,8分钟,16分钟 ... 依此类推。

2、当超过1440分钟,也就是24小时的时候,固定的重试时间为1天。

3、笔者还经过其他实验得知,超过16次重试后,job 就会被标记为broken ,next_date 为4000-1-1,也就是不再进行job重试。

4、oracle数据库重试的时间到达设定的下次执行时间后,以设定的job执行时间为准。

以上就是"Oracle数据库JOB失败怎么解决"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。

时间 测试 数据 数据库 知识 篇文章 运行 也就是 内容 笔者 结果 规律 过程 志表 不同 很大 依此类推 没什么 也就是说 大部分 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 汕头软件开发学费 数据库服务器网络地址如何配置 正规软件开发定做 为保证税务网络安全 杭州同欣网络技术有限公司企业 plc能建立自己的数据库吗 库存监控软件开发 阿里云服务器挂软件 新世纪网络课程教材数据库 南京 软件开发外包 国内服务器安全 网络安全十大公司排名 观安 最新网络技术科技 数据仓库与数据库技术的用途 武汉参考网络安全维护资费 梦洋网络技术(北京)有限公司 软件开发集成测试用例设计 石嘴山app软件开发靠谱吗 静安区个人数据库服务内容 分布式 事务 数据库 天希网络技术有限 实时数据库的压缩问题 武汉旅游团软件开发 服务器怎么获得自己头颅 中国网络安全与信息化产业协会 监控硬盘服务器安装 用什么技术访问数据库 云服务器安全组可以防病毒吗 济南软件开发前景 加强网络安全公民该怎么做
0