sys.dbms_scheduler.create_job创建定时任务

本文详细介绍了在Oracle数据库中使用scheduler.create_job创建定时任务的全过程,包括创建表、存储过程及Job的具体步骤,并提供了多种重复执行间隔的设置示例。
部署运行你感兴趣的模型镜像

scheduler.create_job创建定时任务总共分四步:

1.创建表;2.创建存储过程;3.创建Job ;4.定时执行查看结果。

1.创建空表test(设置name,age,time,uuid四个字段)

2.创建存储过程,注意一定要提交(commit)

create or replace procedure pc_test as
  begin
   insert into test values ('leopold','30',sysdate,sys_guid());
   commit;
   end pc_test;

3.创建job(Freq=MINUTELY;Interval=5每五分钟执行一次)

begin
  sys.dbms_scheduler.create_job(job_name            => 'GIS.TEST_JOB',
                                job_type            => 'STORED_PROCEDURE',
                                job_action          => 'pc_test',
                                start_date          => to_date('06-08-2019 9:10:00', 'dd-mm-yyyy hh24:mi:ss'),
                                repeat_interval     => 'Freq=MINUTELY;Interval=5',
                                end_date            => to_date(null),
                                job_class           => 'DEFAULT_JOB_CLASS',
                                enabled             => true,
                                auto_drop           => false,
                                comments            => '测试存储过程');
end;
/

说明:


1、job_name: 任务名称
2、job_type:有三种类型,PL/SQL Block、Stored procedure、Executable
3、job_action:根据job_type的不同,有不同的含义
如果job_type指定的是存储过程,就需要指定存储过程的名字;
如果job_type指定的是PL/SQL块,就需要输入完整的PL/SQL代码;
如果job_type指定的外部程序,就需要输入script的名称或者操作系统的指令名
4、start_date:开始时间
5、repeat_interval:运行的时间间隔,上面例子是每天23点运行一次
6、end_date:到期时间
7、enabled:创建后自动激活
8、auto_drop:默认true,即当job执行完毕都到期是否直接删除job
9、comments:备注

数据循环周期设置与实例:

1.每周5的时候运行,以下3条实现功能一样
REPEAT_INTERVAL => 'FREQ=DAILY; BYDAY=FRI';   
REPEAT_INTERVAL => 'FREQ=WEEKLY; BYDAY=FRI';   
REPEAT_INTERVAL => 'FREQ=YEARLY; BYDAY=FRI'; 

2.每隔一周运行一次,仅在周5运行
REPEAT_INTERVAL => 'FREQ=WEEKLY; INTERVAL=2; BYDAY=FRI’;  

3.每月最后一天运行
REPEAT_INTERVAL => 'FREQ=MONTHLY; BYMONTHDAY=-1'; 

4.在3月10日运行
REPEAT_INTERVAL => 'FREQ=YEARLY; BYMONTH=MAR; BYMONTHDAY=10’; 
REPEAT_INTERVAL => 'FREQ=YEARLY; BYDATE=0310'; 

5.每10隔天运行
REPEAT_INTERVAL => 'FREQ=DAILY; INTERVAL=10’; 

6.每天的下午4、5、6点时运行
REPEAT_INTERVAL => 'FREQ=DAILY; BYHOUR=16,17,18’;

7.每月29日运行
REPEAT_INTERVAL => 'FREQ=MONTHLY; BYMONTHDAY=29’; 

8.每年的最后一个周5运行
REPEAT_INTERVAL => 'FREQ=YEARLY; BYDAY=-1FRI’; 

9.每隔50个小时运行
REPEAT_INTERVAL => 'FREQ=HOURLY; INTERVAL=50’;  

4.查看结果

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值