日期:2014-05-16  浏览次数:20407 次

11g调度--job使用

DBMS_SCHEDULER.CREATE_JOB (
   job_name             IN VARCHAR2,
   job_type             IN VARCHAR2,
   job_action           IN VARCHAR2,
   number_of_arguments  IN PLS_INTEGER              DEFAULT 0,
   start_date           IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
   repeat_interval      IN VARCHAR2                 DEFAULT NULL,
   end_date             IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
   job_class            IN VARCHAR2                 DEFAULT 'DEFAULT_JOB_CLASS',
   enabled              IN BOOLEAN                  DEFAULT FALSE,
   auto_drop            IN BOOLEAN                  DEFAULT TRUE,
   comments             IN VARCHAR2                 DEFAULT NULL,
   credential_name      IN VARCHAR2                 DEFAULT NULL,
   destination_name     IN VARCHAR2                 DEFAULT NULL);

JOB_NAME:指定任务的名称,必选值,注意要确保指定的名称唯一。
JOB_TYPE:任务执行的操作类型,必选值,有下列几个可选值:
PLSQL_BLOCK:表示任务执行的是一个PL/SQL 匿名块。
STORED_PROCEDURE:表示任务执行的是ORACLE 过程(含PL/SQL PROCEDURE 和JAVA PROCEDURE),本例中正是指定这一参数值。
EXECUTABLE:表示任务执行的是一个外部程序,比如说操作系统命令。

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

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

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

于指定该参数值为SYSDATE。

NUMBER_OF_ARGUMENTS:指定该JOB 执行时需要附带的参数的数量,默认值为0,注意当JOB_TYPE 列值为PLSQL_BLOCK 或CHAIN 时,本参数必须设置为0,因为上述两种情况下不支持附带参数。

END_DATE:指定任务的过期时间,默认值为NULL。任务过期后,任务的STATE 将自动被修改为COMPLETED,ENABLED 被置为FALSE。如果该参数设置为空的话,表示该任务永不过期,将一直按照REPEAT_INTERVAL 参数设置的周期重复执行,直到达到设置的MAX_RUNS 或MAX_FAILURES 值。

JOB_CLASS:指定任务关联的CLASS,默认值为DEFAULT_JOB_CLASS。关于JOB CLASS 的信息就关注本系列的后续文章。

ENABLED:指定任务是否启用,默认值为FALSE。FALSE 状态表示该任务并不会被执行,除非被用户手动调用,或者用户将该任务的状态修改为TRUE。

AUTO_DROP:当该标志被置为TRUE 时,ORACLE 会在满足条件时自动删除创建的任务
 任务已过期;
任务最大运行次数已达MAX_RUNS 的设置值;
任务未指定REPEAT_INTERVAL 参数,仅运行一次;

该参数的默认值即为TRUE。用户在执行CREATE_JOB 过程时可以手动将该标志指定为FALSE,当参数值设置为FALSE 时,即使满足上述提到的条件任务也不会被自动删除这种情况下,唯一能够导致任务被删除的情况,就是用户主动调用DROP_JOB 过程。

整理自三思笔记