2.1.1.3_1 Oracle SYS.DBMS_SCHEDULER 目录


相关链接


一、基本概念

[转载]
Oracle Scheduler包含的主要对象包括:Schedule,Program,Job,Job Class,Chain,Window,Database Destination,File Watcher,Credential …具体介绍如下:

  • Schedule (时间表)

    • 通过 DBMS_SCHEDULER 包中的过程 CREATE_SCHEDULE 定义调度的开始时间,结束时间以及重复间隔
    • CREATE_EVENT_SCHEDULE 过程用来创建由事件触发的时间表,由一个特定时间段内的一个事件调起一项任务
  • Program (程序)

    • 定义了作业的形式及内容,作业形式可以是PL/SQL 匿名块,也可以是存储过程或者外部可执行文件,执行的存储过程带有输入参数时必须以匿名块运行
  • Job (作业)

    • 通过CREATE_JOB创建一个作业,这个存储过程使用了重载,所以输入参数的选择可以非常灵活,既可以独立设置作业的时间、内容、Job Class,也可以引用已 - 经存在的Schedule 和 Program 来简化作业的创建
  • Job Class (作业类)

    • 作业类中定义了Resource Consumer Group ,Service(RAC),日志等级,日志保留时间。要注意的一点是在Resource Manager中,service 参数会将会话映射到一个 资源用户组,如果同时指定了RAC节点和用户组,用户组参数优先
  • Chain (链)

    • 说白了就是一系列的作业通过链来建立起一套依赖关系,大概的思路是这样的:先使 CREATE_CHAIN 创建一个链,再通过 DEFINE_CHAIN_STEP 和 DEFINE_CHAIN_EVENT_STEP 给要链接的 Program、Sub Chain、Event Condition、Event Schedule 分别定义一个别名(step_name),然后拿 DEFINE_CHAIN_RULE 定义这些 Step 的依赖规则,一通判断、分支、嵌套之后,链就算创建完成了,在 CREATE_JOB 时 (job_type => ‘CHAIN’,job_action => ‘chain_name’) 就可以了,做人得讲究,这个必须上图:
      在这里插入图片描述
  • Window (窗口)

    • 窗口指的是一个时间段,,通常用来调起作业,或者在不同的时间段激活不同的 Resource Plan 以调整作业之间的资源分配,文档中还提到了 Overlapping Windows ,有图有真相:
      在这里插入图片描述
  • Database Destination (数据库路径)

    • 通过 CREATE_DATABASE_DESTINATION 创建,在 CREATE_JOB 中作为一个输入参数,用来执行远程调度
  • Credential (证书)

    • 证书用来保存OS或者数据库的用户密码,在执行External Job 或者远程数据库作业时使用
  • File Watcher (文件监视器)

    • 可以用来检测一个OS文件是否存在,根据文件大小判断传输是否完成,继而触发一个 Event Schedule

二、SYS.DBMS_SCHEDULER

2.1 Job Tasks and Their Procedures

主 要 工 作 任 务

Task
任务
Procedure
存储过程(名称)
Privilege Needed
所需权限
Create a job
创建一个作业
CREATE_JOB or CREATE_JOBSCREATE JOB or CREATE ANY JOB
Alter a job
修改一个作业
SET_ATTRIBUTE or SET_JOB_ATTRIBUTESALTER or CREATE ANY JOB or be the owner
Run a job
运行一个作业
RUN_JOBALTER or CREATE ANY JOB or be the owner
Copy a job
复制一个作业
COPY_JOBALTER or CREATE ANY JOB or be the owner
Drop a job
删除一个作业
DROP_JOBALTER or CREATE ANY JOB or be the owner
Stop a job
停止一个作业
STOP_JOBALTER or CREATE ANY JOB or be the owner
Disable a job
使一个作业不可用
DISABLEALTER or CREATE ANY JOB or be the owner
Enable a job
使一个作业可用
ENABLEALTER or CREATE ANY JOB or be the owner

2.2 Stopping Chains

To stop a running chain, you call DBMS_SCHEDULER.STOP_JOB, passing the name of the chain job (the job that started the chain). When you stop a chain job, all steps of the chain that are running are stopped and the chain ends.
调用DBMS_SCHEDULER.STOP_JOB可以停止运行链,调用存储过程需传入name参数(启动链的作业)。停止一个链作业时,链上正在运行的所有步骤都会停止,链也会结束。


20/09/14

M

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值