很多情况下,数据库管理员或用户需要自动调度和运行很多类型的作业,例如,执行维护工作(如数据库备份);数据加载和验证例程;
生成报表;收集优化程序统计信息或执行业务流程。可以使用调度程序功能指定任务在将来某个时间点运行。作业可以在数据库中、在驻
留数据库实例的机器上甚至在远程机器上运行。
可以结合使用调度程序和Resource Manager(资源管理器)。调度程序可以激活Resource Manager计划,并按照为各种Resource Manager
使用者组指定的优先级来运行作业。
调度程序是在Oracle 10g版本中引入的,在11g版本中得到了大大增强。较早的数据库版本通过DBMS_JOB功能提供作业调度功能。为了达
达到向后兼容的目的,当前版本依然支持此功能,但它的功能多样性远不及调度程度。

1、调度程序体系结构
数据字典包含一个作为所有调度程序作业的存储点的表。可以通过DBA_SCHEDULER_JOBS视图查询此表。作业队列协调器后台进程CJQ0
监视此表,根据需要启动作业队列进程Jnnn来运行作业。如果在任何定义的、活动的调度程序作业,就自动启动CJBQ0进程。根据需要启
动Jnnn进程,但是最大数量受JOB_QUEUE_PROCESSES实例参数限制,该参数可以是0-1000(默认值)的任何值。如果将值设为0,那么将不会
运行调程。
作业队列协调器从作业队列表中选取作业,将它们传递给作业队列进程执行。它还根据需要启动和终止作业队列进程。要查看当前正在
运行的进程,可查询V$PROCESS视图。
select program from v$process where program like '%J%';

定义为过程的作业在数据库中运行。作业也可以定义为操作系统命令或shell脚本:这些将作为外部操作系统任务运行。作业的触发因素
可以是时间或事件。基于时间的作业根据时间表可能运行一次或重复运行。基本事件的作业在特定条件出现时运行。有一些预配置的事件,
也可以使用用户定义的事件。作业可以连接成链,根据作业成功与否对分支使用简单规则。
调度程度的一项高级功能是将期与Resource Manager相关联。某些作业可能需要优先运行,为此,可以链接作业与Resource Manager
使用都组,以便达到这个目的。还可以使用调度程序激活Resource Manager计划,而不需要通过更改RESOURCE_MANAGER_PLAN实例参数或使
用DBMS_RESOURCE_MANAGER.SWITCH_PLAN过程调用手动激活计划。
可以使用一个API-DBMS_SCHEDULER包来配置调度程序,通过一组数据字典视图监视它,或是用Database Control管理它。

2、调度程序对象
调度程序对象中最基本的对象是作业。作业可以是完全自包含的:它可以定义要执行的动作和执行时间。在更高级的配置中,作业只是
由大量各种类型的调度程序对象组成的结构的一部分。

2.1 作业
作业(job)指定了要执行的动作以及执行动作的时间。
“ 要执行的动作”可以是匿名的PL/SQL块(可能由单条SQL语句构成)、PL/SQL存储过程(可调用JAVA存储过程或外部过程)、
或在服务器的文件系统中存储任何可执行文件(既可以是二进制可执行文件,也可以是SHELL脚本)。特别强大的功能(超出OCP
课程的范围)是远程外部作业,该作业在一台单独的机器上运行。
“执行动作的时间”指定了启动作业时的时间戳以及用于今后运行的重复时间间隔,或是触发事件。
DBMS_SCHEDULER.CREATE_JOB

2.2 程序
程序(program)在作业与其将要执行的动作之间提供了一个抽象层。程序是使用DBMS_SCHEDULER.CREATE_PROGRAM过程创建的。
通过从作业定义中取出作业内容并在程序中加以定义,就可以在不同的作业中引用相同的程序,从而不必进行多次定义就可以将
它与不同的时间表和作业类关联在一起。需要记住的是:就是作业而言,只有启用程序才能使用它。默认是不启用。

2.3 时间表
时间表(schedule)是指定作业运行时间与频率的规范。时间表的基本原理是从作业中取出执行作业的时间,然后将其与不同的的
作业关联。是时间表是使用DBMS_SCHEDULER.CREATE_SHEDULE

2.4 作业类
作业类用于将一个或多个作业与一个Resource Manager使用者组关联在一起,并且也可以用于失控制日志记录级别。
DBMS_SCHEDULER.CREATE_JOB_CLASS

2.5 窗口
时间表准确地指定了作业应当启动的时间。通过使用Oracle能够更自由地决定启动作业的时间,窗口(window)进一步扩展了
时间表的概念。一个窗口在特定时间打开,并且在持续一定的时间之后关闭:指定在某个窗口中运行的作业可以根据Oracle的判断
在该窗口期间的任何时刻启动。窗口本身可以根据时间表重复打开。结合类与Resource Manager时使用窗口具有特殊的意义:Oracle
能够根据相对优先权在窗口内调度作业来运行。此外窗口也可以激活Resource Manager计划。
DBMS_SCHEDULER.CREATE_WINDOW

从什么时间点开始,续继多久时间,能过Resource Plan限制资源使用。

操作如图所示:

SCHEDULE(调度程序)相关推荐

  1. GitHub: ProxyPool 爬虫代理IP池

    hello,小伙伴们,大家好,今天给大家分享的开源项目是:proxy_pool,这个开源项目是抓取个大免费代理IP网站,感兴趣的爬虫可以尝试把代码clone下载然后尝试应用一下,加油!!! _____ ...

  2. Linux系统编程(二)–信号

    文章目录 1 Hello signal 1.1 hello signal 程序 1.2 向 hello signal 发信号 1.3 招待你的"客人" 1.3.1 signal 函 ...

  3. 快速获得CNVD证书

    首先要明确什么样的通用漏洞可以发证书 收录标准 这里的收录标准是能获得证书的标准   事件型 事件型漏洞必须是三大运营商(移动.联通.电信)的中高危漏洞,或者党政机关.重要行业单位.科研院所.重要企事 ...

  4. 使用proxy_pool来为爬虫程序自动更换代理IP

    文章目录 1. 前言 2. 教程 3. 官网 4. 在线demo 4.1. 本地部署 4.2. 安装 4.2.1. Python源码构建安装 4.2.1.1. 安装redis数据库 4.2.1.1.1 ...

  5. 分子模拟可视化_fanviz数据可视化狂热分子

    分子模拟可视化 Fanatics BI和数据工程总监Amit Jain (Amit Jain, Director BI, and Data Engineering at Fanatics) Fanat ...

  6. 急速水CNVD证书,小水怡情、大水伤身、强水灰飞烟灭

    文章目录 收录标准 刷洞方法 审核流程 从另一个角度,以黑盒的方式快速刷CNVD通用漏洞证书 https://www.cnvd.org.cn 首先要明确什么样的通用漏洞可以发证书 收录标准 这里的收录 ...

  7. Linux + ProxyPool 搭建属于爬虫代理IP池

    前言: 当爬虫达到一定速度时,大家都会遇到封Ip的情况,而搭建代理ip池是解决的最好方法,网络上有很多优秀的付费代理,但是作为白嫖党的我们又怎么能付钱那,本文将教会大家用一个成熟的开源项目搭建代理池. ...

  8. requests模块代理IP池搭建视频爬取

    requests模块&代理IP池搭建 一 requests模块使用 1.1 get请求 1.2 url编码和解码 1.3 携带请求头 1.4 携带cookie 1.5 发送post请求 1.6 ...

  9. 1. 爬虫之Beautifulsoup解析库在线解析图片验证码

    1. 解析库beautifulsoup 1.1 介绍 BeautifulSoup是一个可以从HTML或XML文件中提取数据的Python库. 官方文档: https://www.crummy.com/ ...

  10. ProxyPool 爬虫代理IP池(分享)

    GitHub - jhao104/proxy_pool: Python爬虫代理IP池(proxy pool)https://github.com/jhao104/proxy_pool/ProxyPoo ...

最新文章

  1. R语言cut函数实现数据分箱及因子化实战
  2. centos7 怎么封装自己的镜像_「10」-CentOS7.5(1804)
  3. Android深入浅出系列之实例应用—弹出消息Toast对象的使用自定义方式(二)
  4. Visual Studio 2019 使用 Live Share
  5. React Native实现js调用安卓原生代码
  6. mysql 外键和事务_Mysql (五)事务和外键
  7. mybatis传参问题总结
  8. 去马赛克神器 JavPlayer TG Modle 最新版
  9. [Java][内存模型]
  10. Linux中ftp密码输错无响应,psftp登陆输入正确用户名和密码后无响应解决办法
  11. 苹果 5G 掉队?!
  12. python极客项目编程 豆瓣_《Python极客项目编程》
  13. repeater 的编辑功能
  14. Linux内核部件分析 设备驱动模型之driver
  15. 【定位】TOF与TDOA
  16. 从零开始学java系列第一季第一期:简单的了解java并安装jdk以及环境配置
  17. 智安网络丨网络架构,是数据中心的“神经脉络”
  18. 技术创新研究所安全系统研究中心与普渡大学合作开展颠覆性无人驾驶飞行器安全项目
  19. Python PDF转JPG
  20. eclipse平台的手机程序开发步骤整理

热门文章

  1. oracle账户用root权限执行sh,安装Oracle执行orainstRoot.sh与root.sh作用
  2. 软件测试都需要哪些工具呢?一文带你看清
  3. 408中的计算机组成原理,2021考研计算机大纲408计算机组成原理部分原文解析
  4. linux下矩阵键盘设备名,Linux下矩阵键盘驱动分析与移植
  5. android 按钮列表,android – 如何使按钮看起来像列表
  6. 监管码服务器维修,云风的 BLOG
  7. 接口自动化持续集成实战
  8. 面试高级测试工程师修炼之接口测试平台开发
  9. 华为nova2s云相册在哪里_华为反人类的用户体验
  10. php 月份查询生日_PHP----------php根据生日(时间戳)计算星座