1、Oracle 10g引入了dbms_scheduler用来替换之前的dbms_job,在功能特性等方面,它拥有着比dbms_job更强大的以及更加灵活可控的机制。
2、对比DBMS_JOB的优点:
1.有执行的日志,包含但不限于下列表
select * from user_scheduler_job_log;
select * from user_scheduler_job_run_details;
select * from user_scheduler_chains;
select * from user_scheduler_jobs;
2.简单强大的时间计划语法(类似CRON语法)
3.与操作系统联系更加方便,可以执行系统指令
4.方便管理不同类的job5. use of job arguments including passing of objects into stored procedures6.privilege-based security model for jobs7.naming of jobs and comments in jobs8.stored, reusable schedules
3、它主要由几大块构成:
1.作业(job): 10g版本中SCHEDULER将JOB分成了多个部分,program负责做什么,schedule负责啥时候做,job就简单了,一个字:做。
4、2.调度(scheduler):schedule负责啥时候做
begin
2 DBMS_SCHEDULER.CREATE_SCHEDULE (
3 schedule_name => ¨my_first_schedule¨,
4 start_date => SYSDATE,
5 repeat_interval => ¨FREQ= DAILY ; INTERVAL=1¨,
6 comments => ¨Every 1 weeks¨);
7 END;
8 /
5、3.程序(program):program负责做什么,
BEGIN
2 DBMS_SCHEDULER.CREATE_PROGRAM (
3 program_name => ¨my_program1¨,
4 program_action => ¨/bin/date¨,
5 program_type => ¨EXECUTABLE¨,
6 enabled => TRUE);
7 END;
8 /
6、4.链(chain):
7、5.作业类(job_class):
8、6.窗口(window):
9、7.窗口组(window_group):