深入探究Oracle的Job参数配置(oraclejob参数)

Job参数配置是Oracle提供的Scheduler的一项功能,可以让用户安排任务来定期执行程序。它使用Job参数,这些参数都可以自定义,让我们更加深入地控制任务的行为。下面是Oracle的一些Job参数配置的深入探究:

1.可重复性:

可重复性参数可以设定任务是一次性任务,还是会定期重复执行任务。设置可重复性参数很容易,只要在创建周期性Job时添加“REPEAT_INTERVAL”参数即可,参数值用interval字符串表示,分钟数,小时数,天数和月份,例如,定期每15分钟执行一次的 Job,可重复性参数的参数值为:”FREQ=Minutely ;INTERVAL=15″ 。

例:

/* 以下SQL语句创建一个Job,每隔15分钟执行一次 */

BEGIN

DBMS_SCHEDULER.CREATE_JOB(

job_name =>’update_stat’,

job_type =>’PLSQL_BLOCK’,

job_action =>’BEGIN update statistic; END;’,

enabled =>true,

repeat_interval =>’FREQ=MINUTELY;INTERVAL=15′) ;

END ;

/

2.任务时间安排:

任务时间安排参数可以使用“START_DATE” 和“END_DATE”两个参数,以精确控制任务什么时候开始,什么时候结束。“START_DATE”参数的参数值可以是时间戳或者是伪时间戳,“END_DATE”的参数值只能是时间戳,否则会报错。

例:

/* 以下SQL语句创建一个Job,每隔15分钟执行一次,但只能在2018-2-1 09:00:00到2018-2-2 18:30:00之间执行 */

BEGIN

DBMS_SCHEDULER.CREATE_JOB(

job_name => ‘update_stat’,

job_type => ‘PLSQL_BLOCK’,

job_action => ‘BEGIN update statistic; END;’,

enabled => true,

repeat_interval => ‘FREQ=MINUTELY;INTERVAL=15’,

start_date => ‘2018-02-01 09:00:00’,

end_date => ‘2018-02-02 18:30:00’

);

END ;

/

3.Job调度策略:

默认情况下,Oracle Scheduler采用随机调度策略,即Job到了触发时间后,会随机执行一个Job,但通过参数“SCHEDULE_POLICY”可以自定义Job调度策略,参数值有四种:

– “First Available”表示按照进入队列先后次序依次调度,也就是先进入队列的先执行;

– “Least-pending”表示运行优先调度,所有正在等待的任务都优先于等待更久的任务;

– “Least-runtime”表示响应时间优先调度,与“Least-pending”相比,它只是重新确定任务之间的优先级;

-“Sequential”表示顺序调度,按照计划表中Job名称的字母顺序调度任务。

例:

/* 以下SQL语句创建一个Job,每隔15分钟执行一次,在2018-2-1 09:00:00到2018-2-2 18:30:00之间执行,并使用顺序调度策略 */

BEGIN

DBMS_SCHEDULER.CREATE_JOB(

job_name => ‘update_stat’,

job_type => ‘PLSQL_BLOCK’,

job_action => ‘BEGIN update statistic; END;’,

enabled => true,

repeat_interval => ‘FREQ=MINUTELY;INTERVAL=15’,

schedule_policy => ‘SEQUENTIAL’,

start_date => ‘2018-02-01 09:00:00’,

end_date => ‘2018-02-02 18:30:00’

);

END ;

/

以上就是Oracle Job参数配置的一个深入探究,我们可以使用以上参数,让Oracle Scheduler任务更加定制化,从而更好地满足我们的任务安排需求。


数据运维技术 » 深入探究Oracle的Job参数配置(oraclejob参数)