ITPub博客

首页 > 数据库 > Oracle > 调度管理大总结

调度管理大总结

原创 Oracle 作者:lusklusklusk 时间:2015-12-10 16:32:26 0 删除 编辑

不管program、schedule、job_class、window、window group怎么去定义,最后都是为job服务的,即这些东西功能都是DBMS_SCHEDULER.CREATE_JOB所用到的一部分

 

Program:对所要执行的任务的描述

DBMS_SCHEDULER.CREATE_PROGRAM (

program_name IN VARCHAR2,

program_type IN VARCHAR2,

program_action IN VARCHAR2,

number_of_arguments IN PLS_INTEGER DEFAULT 0,

enabled IN BOOLEAN DEFAULT FALSE,

comments IN VARCHAR2 DEFAULT NULL);

 

 

schedule:对执行任务时的时间信息的描述,比如时候开始,间隔时间,结束时间

DBMS_SCHEDULER.CREATE_SCHEDULE (

schedule_name IN VARCHAR2,

start_date IN TIMESTAMP WITH TIMEZONE DEFAULT NULL,

repeat_interval IN VARCHAR2,

end_date IN TIMESTAMP WITH TIMEZONE DEFAULT NULL,

comments IN VARCHAR2 DEFAULT NULL);

 

 

job:把Program和schedule结合起来即任务(或job_class、window、window group结合起来)

Creates a job using a named schedule object and a named program object:

DBMS_SCHEDULER.CREATE_JOB (

job_name IN VARCHAR2,

program_name IN VARCHAR2,

schedule_name IN VARCHAR2,

job_class IN VARCHAR2 DEFAULT 'DEFAULT_JOB_CLASS',

enabled IN BOOLEAN DEFAULT FALSE,

auto_drop IN BOOLEAN DEFAULT TRUE,

comments IN VARCHAR2 DEFAULT NULL,

job_style IN VARCHAR2 DEFAULT 'REGULAR',

credential_name IN VARCHAR2 DEFAULT NULL,

destination_name IN VARCHAR2 DEFAULT NULL);

 

当然没有program和schedule也可以创建job的,具体做法是

Creates a job in a single call without using an existing program or schedule:

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);

 

schedule_name:The name of the schedule, window, or window group associated with this

job.

 

auto_drop This flag, if TRUE, causes a job to be automatically dropped after it has

completed or has been automatically disabled. A job is considered

completed if:

■ Its end date (or the end date of the job schedule) has passed.

■ It has run max_runs number of times. max_runs must be set with SET_

ATTRIBUTE.

■ It is not a repeating job and has run once.

 

DBMS_SCHEDULER.SET_ATTRIBUTE (

name IN VARCHAR2,

attribute IN VARCHAR2,

value IN VARCHAR2,

value2 IN VARCHAR2 DEFAULT NULL);

 

attribute 之max_runs This attribute specifies the maximum number of consecutive scheduled

runs of the job. Once max_runs is reached, the job is disabled and its state

is changed to COMPLETED.

max_runs can be an integer between 1 and 1,000,000. By default, it is set to

NULL, which means that it repeats forever or until end_date or max_

failures is reached.

 

 

 

Job class:用来将若干个相关的任务关联起来作为一个组,一般与某个资源用户组或service关联(资源用户组和service只能关联一个,不能同时关联两者)

DBMS_SCHEDULER.CREATE_JOB_CLASS (

job_class_name IN VARCHAR2,

resource_consumer_group IN VARCHAR2 DEFAULT NULL,

service IN VARCHAR2 DEFAULT NULL,

logging_level IN PLS_INTEGER DEFAULT DBMS_SCHEDULER.LOGGING_RUNS,

log_history IN PLS_INTEGER DEFAULT NULL,

comments IN VARCHAR2 DEFAULT NULL);

 

 

Window:表示一个时间段,比如早上8点到下午6点可以为一个window,window可以与某个计划关联也可以与某个schedule关联(两者可同时关联),其实作用就是一个schedule

Creates a window using a named schedule object:

DBMS_SCHEDULER.CREATE_WINDOW (

window_name IN VARCHAR2,

resource_plan IN VARCHAR2,

schedule_name IN VARCHAR2,

duration IN INTERVAL DAY TO SECOND,

window_priority IN VARCHAR2 DEFAULT 'LOW',

comments IN VARCHAR2 DEFAULT NULL);

Creates a window using an inlined schedule:

DBMS_SCHEDULER.CREATE_WINDOW (

window_name IN VARCHAR2,

resource_plan IN VARCHAR2,

start_date IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,

repeat_interval IN VARCHAR2,

end_date IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,

duration IN INTERVAL DAY TO SECOND,

window_priority IN VARCHAR2 DEFAULT 'LOW',

comments IN VARCHAR2 DEFAULT NULL);

 

Window group:把若干个相关的window关联起来,作为一个组,其实作用就是一个schedule

DBMS_SCHEDULER.CREATE_WINDOW_GROUP (

group_name IN VARCHAR2,

window_list IN VARCHAR2 DEFAULT NULL,

comments IN VARCHAR2 DEFAULT NULL);

group_name就是windows group的名称,window_list就是window的名称,多个window则用逗号隔开


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30126024/viewspace-1869832/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Welcome to Lukes DB HOME。 Oracle OCM、Mysql OCP, 10年DBA工作经验,博客仅记录自己的一个学习过程,不代表完全准确,如有需要,欢迎转载。

注册时间:2015-02-02

  • 博文量
    348
  • 访问量
    1174883