oracle scheduler_job(一种新的JOB类型)

--39.scheduler_job(一种新的JOB类型)

1.提交scheduler_job(同一个job_name不能重复提交,不区分大小写)(start_date的参数比当前数据库时间小的话,scheduler_job不会立马执行!!!,JOB就会)

样例:

begin
dbms_scheduler.create_job (
    job_name        => 'j_p_test_1110',
    job_type        => 'STORED_PROCEDURE',
    job_action      => 'p_test_1110',
    start_date      => sysdate,
    repeat_interval => 'FREQ=DAILY;INTERVAL=1',
    enabled         => true
  );
commit;
end;


-----------------------------------------------------------------------------------------------

job_name        : 必选, 任务名称
job_type        : 必选, 任务类型(
                    PLSQL_BLOCK,      -- 执行一个PL/SQL匿名快
                    STORED_PROCEDURE, -- 执行一个存储过程
                    EXECUTABLE,       -- 执行一个外部程序
                    CHAIN             -- 执行一个CHAIN
                  )
job_action      : 必选, 任务内容, 与job_type配合使用
start_date      : 可选, 首次执行时间, 为空时表示立即执行
repeat_interval : 可选, 执行频率, 为空时表示只执行一次(
                    FREQ=MINUTELY; -- 表示间隔单位, 可选值有YEARLY, MONTHLY, WEEKLY, DAILY, HOURLY, MINUTELY, SECONDLY
                    INTERVAL=1     -- 表示间隔周期
                  )
enabled         : 可选, 是否启用任务
-----------------------------------------------------------------------------------------------

2.开启scheduler_job(scheduler_job运行时运行报错,必须要杀掉进程才能执行)(如果START_DATE小于当前数据库时间,开启scheduler_job后不会立即执行)

BEGIN
dbms_scheduler.enable('j_p_test_1110');
Commit;
END;


3.关闭scheduler_job(scheduler_job运行时运行报错,必须要杀掉进程才能执行)

BEGIN
dbms_scheduler.disable('j_p_test_1110');
Commit;
END;


4.查看已创建的scheduler_job

select * from dba_scheduler_jobs;


5.查看scheduler_job运行日志(只有当进程结束后才有日志产生)

select log_id, log_date, status from dba_scheduler_job_run_details where lower(job_name)='j_p_test_1110';


6.删除scheduler_job

begin
dbms_scheduler.drop_job ('j_p_test_1110');
commit;
end;

7.根据运行的scheduler_job查询进程号ID

SELECT S.SID, S.SERIAL#
  FROM GV$SESSION S
 WHERE S.STATUS = 'ACTIVE'
   AND S.ACTION = 'J_P_TEST_1110';

参考案例:Oracle定时任务dbms_scheduler
https://blog.csdn.net/WuLex/article/details/81868928

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值