oracle scheduler(一)创建…

Oracle Scheduler 提供了一种强大的任务调度能力,通过DBMS_SCHEDULER包中的CREATE_JOB过程来创建任务。本文介绍了如何创建JOBS,包括指定任务名称、类型、执行操作以及调度信息。示例展示了创建一个存储过程任务,并详细解释了各参数的含义,如JOB_NAME、JOB_TYPE、JOB_ACTION、START_DATE和REPEAT_INTERVAL。此外,还涵盖了管理JOBS的方法,如启用、禁用、修改、执行、停止和删除。最后强调了手动执行JOBS以及查看执行日志的重要性。
摘要由CSDN通过智能技术生成
Scheduler 可以简单简单的帮助我们调度成百上千的tasks。Oracle Scheduler 通过在 DBMS_SCHEDULER PL/SQL 包中存储的过程来执行。

一. 使用Jobs

 
          JOBS,其实就是Scheduler 管理的一个(或多个)任务的执行调度。

1.1 创建Jobs

            通过DBMS_SCHEDULER 包来创建Jobs,是使用其CREATE_JOB 过程。在创建Job 时,用户可以指定要执行的任务,调度信息(什么时候执行,执行周期,终止日期等)以及其它一些任务相关的属性。例如:

create table TEST (id number);

CREATE OR REPLACE PROCEDURE IT

AS

BEGIN

insert into TEST VALUES(1);

END;

 

SQL> BEGIN

DBMS_SCHEDULER.CREATE_JOB (

job_name => 'JobTest',

job_type => 'STORED_PROCEDURE',

job_action => 'SYSTEM.IT',

start_date => sysdate,

repeat_interval => 'FREQ=MINUTELY;INTERVAL=10');

END;

/

            事实上,有权限的话,用户也可以创建其它SCHEMA 下的JOB,只需要在指定JOB_NAME 时,按照schema.job_name 的格式即可。这种情况下创建的JOB,其CREATED 与OWNER 有可能并不相同。当使用CREATE_JOB 过程创建JOB 时,可指定的参数值很多,只不过多数情况下用户仅指定部分参数即可满足需求。

其中,上例中指定的参数,分别代表的含义如下:

JOB_NAME:指定任务的名称,必选值,注意要确保指定的名称唯一。

JOB_TYPE:任务执行的操作类型,必选值,有下列几个可选值:

(1) PLSQL_BLOCK:表示任务执行的是一个PL/SQL 匿名块。

(2)STORED_PROCEDURE:表示任务执行的是ORACLE 过程(含PL/SQL PROCEDURE 和JAVA PROCEDURE),本例中正是指定这一参数值。

(3)EXECUTABLE:表示任务执行的是一个外部程序,比如说操作系统命令。

(4)CHAIN:表示任务执行的是一个CHAIN。

JOB_ACTION:任务执行的操作,必选值,应与JOB_TYPE 类型中指定的参数相匹配。比如说对于PL/SQL 匿名块,此处就可以放置PL/SQL 块的具体代表,类似DECLARE .. BEGIN ..END这类;如果是ORACLE 过程,那么此处应该指定具体的过程名,注意由于任务执行,即使过程中有OUT之类参数,实际执行时也不会有输出的。

START_DATE:指定任务初次执行的时间,本参数可为空,当为空时,表示任务立刻执行,效果等同于指定该参数值为SYSDATE。

REPEAT_INTERVAL:指定任务执行的频率,比如多长时间会被触发再次执行。本参数也可以为空,如果为空的话,就表示当前设定的任务只执行一次。REPEAT_INTERVAL 参数与标准JOB 中的INTERVAL 参数有很大区别,相比之下&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值