Oracle 19c 中,若想创建个定时任务,可以通过 DBMS_SCHEDULER 、实战

最近的项目中用到定时任务,做了个小小笔记,分享给大家。

在 Oracle 19c 中,若想创建个定时任务,可以通过 DBMS_SCHEDULER 或 DBMS_JOB 来创建定时任务,确保存储过程 pro_test 每天零点自动执行一次。

1. 创建作业
1.1.授权说明
-- 授权创建JOB权限
GRANT CREATE JOB TO <USER>

-- 若要存储过程属于其他用户,需要授权
GRANT EXECUTE ON PRO_TEST TO <USER>;

1.2.创建作业(Job)

1.2.1
BEGIN
  DBMS_SCHEDULER.CREATE_JOB (
    job_name        => 'JOB_PRO_TEST_DAILY',  -- 作业名称
    job_type        => 'STORED_PROCEDURE',    -- 作业类型(存储过程)
    job_action      => 'PRO_TEST',            -- 存储过程名
    start_date      => SYSTIMESTAMP,          -- 开始时间(立即生效)
    repeat_interval => 'FREQ=DAILY; BYHOUR=0; BYMINUTE=0; BYSECOND=0', -- 每天零点执行
    end_date        => to_date(null),
    job_class       => 'DEFAULT_JOB_CLASS',
    enabled         => TRUE,-- 启用作业
    auto_drop       => false,--是否定时任务停掉不要了就自动删除改定时任务
    comments        => 'Daily execution of PRO_TEST at midnight'
  );
END;

1.2.2
begin
  sys.dbms_scheduler.create_job(job_name            

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值