当前位置:  数据库>oracle

关于Oracle数据库中job的总结

    来源: 互联网  发布时间:2017-05-03

    本文导语: Oracle数据库采用SNP进程来管理和运行JOB,SNP进程和实例中其他进程最大区别是这个进程被杀掉后,系统就会自动重新启动一个SNP,因此并不影响Oracle实例运行.SNP进程本身也是被系统周期性地调用去查看数据字典中的JOB序列目录...

Oracle数据库采用SNP进程来管理和运行JOB,SNP进程和实例中其他进程最大区别是这个进程被杀掉后,系统就会自动重新启动一个SNP,因此并不影响Oracle实例运行.SNP进程本身也是被系统周期性地调用去查看数据字典中的JOB序列目录,看是否有JOB需要去运行,运行之后SNP就进入休眠状态.唤醒,SNP被调用的时间的设置是在数据库初始化文件里通过参数job_queue_interval设置进行的,数据库在打开的时候根据初始化文件去初始化SNP进程。

一、SNP参数说明参数

job_queue_interval的粒度不能太大,不要大于JOB执行的间隔(由参数interval来决定),否则的话可能造成有的作业无法执行.粒度也不能太细,否则会使系统频繁调用SNP而增加了系统的吞吐量,所以一定要根据具体环境中JOB而设定.

参数job_queue_interval的设定了系统中最多可运行的SNP数量。

二、当SNP开始执行一个任务时,其过程如下:

1.以任务所有者的用户名开始一个新的数据库会话。

2.当任务第一次提交或是最后一次被修改时,更改会话NLS设置和目前就绪的任务相匹配。

3.通过interval日期表达式和系统时间,计算下一次执行时间。

4.执行任务定义的PL/SQL。

5.如果运行成功,任务的下一次执行日期被更新,否则,失败则日志文件中的计数加1。

6.经过JOB_QUEUE_INTERVAL秒后,又到了另一个SNP运行时间,重复上边的过程。

三、作业失败如何处理   

网上和书本上理论讲,当作业失败后,系统会在1分钟后重新运行这个JOB,如果还是失败,就在和第1次失败间隔2分钟的时候继续运行这个JOB,如果还是失败,就在和第2次失败相隔4分钟后运行这个JOB(可以用T=2t-1表 示,t表示第1次失败后检测的次数),直到T≥interval(JOB正常工作的时间设置参数)后,系统检测的时间间隔就为interval.直到第16次失败就会将这个job置为broken.但是这些介绍都很粗略,如果需要真正设计一些合理的job的时候就会忽略一些细微的问题,而这些细微的问题恰好是关键的地方.

提出问题:说明在Oracle后台有这样的机制,就是需要判断T是否T≥interval,那么在job失败后是先判断呢,还是等1分钟后检测之后才判断.

实验之后得出结果:先判断,然后才检测,其中由于操作误差,和理论值稍有轻微偏差.


    
 
 

您可能感兴趣的文章:

  • Oracle认证:学好Oracle的六条总结
  • oracle服务启动与停止经验总结
  • Linux下Oracle常见安装错误总结及参考案例
  • Oracle中三种表连接算法的总结
  • Oracle、DB2、PostgreSQL之Sequence大总结
  • Oracle索引(B*tree与Bitmap)的学习总结
  • [Oracle] dbms_metadata.get_ddl 的使用方法总结
  • Oracle数据库中的字符处理技巧总结
  • Oracle数据字典的学习总结
  • Oracle 数据库优化实战心得总结
  • 深入ORACLE迁移到MYSQL的总结分析
  • oracle数据库sql的优化总结
  • Oracle 游标使用总结
  • oracle 日期时间函数使用总结
  • Oracle 存储过程总结(一、基本应用)
  • Oracle 存储过程总结 二、字符串处理相关函数
  • ORACLE 常用函数总结(80个)第1/2页
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • Oracle 数据库开发工具 Oracle SQL Developer
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • 关于JDBC连接Oracle数据库,是否必须有Oracle客户端
  • ORACLE数据库常用字段数据类型介绍
  • win2000+jbuilder6+oracle817编出的程序,在win2000下执行很好,在win98下却访问不了oracle数据库
  • oracle数据库导出和oracle导入数据的二种方法(oracle导入导出数据)
  • Oracle发布Oracle SQL Developer 1.2数据库开发工具 帮助用户简化开发工作
  • 怎样调出ORACLE数据库中的数据,该如何连接?
  • Oracle收购TimesTen 提高数据库软件性能
  • 卸载oracle数据库
  • Oracle数据库恢复后心得
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 虚拟机装Oracle R12与Oracle10g iis7站长之家
  • jsp文件上传smartupload到oracle数据库中没有longblob的数据类型如何处理的?
  • 将Oracle 8i数据成功移植Oracle 10g的方法
  • 我从JSP页将数据插入到oracle数据库中,为何汉字插入后数据库中显示为乱码呢?
  • 紧急求救:对Oracle数据库中long 型数据进行模糊查询 如何查?
  • Linux下Oracle数据库,dbstart持续不动,数据库无法启动解决
  • 紧急求救:jsp对Oracle数据库中long 型数据进行模糊查询 如何查?
  • 请问:ORACLE中的数据取出来后,需不需要进行一定的转换才能变为C语言的数据类型啊?
  • 手把手教你Oracle数据库导出数据库结构到PowerDesigner
  • Oracle与FoxPro两数据库的数据转换步骤
  • Oracle 对数据文件大小的限制
  • 数据库服务器 Oracle
  • 关于系统重装后Oracle数据库完全恢复的解决办法
  • 取数据库前几条数据(sql server、oracle、mysql)的sql写法
  • oracle数据库入门知识简述
  • linux下用什么办法连接oracle数据库并且读取数据呢?(用c++代码实现时)
  • 深入理解Oracle数据库的启动和关闭
  • 轻松理解Oracle数据库中的物理结构
  • 用java怎样实现oracle数据库表和excel数据表的转换
  • 高手相送,jsp连接oracle数据库后,显示数据为乱码?
  • jbuilder6 中怎样引入oracle 数据访问包
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle 10g和Oracle 11g网格技术介绍
  • Oracle EBS R12 支持 Oracle Database 11g
  • ORACLE日期相关操作
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,