不管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/ ,如需转载,请注明出处,否则将追究法律责任。