zoukankan      html  css  js  c++  java
  • 使用dbms_scheduler包创建定时任务

    本文使用dbms_scheduler的create_job创建执行存储过程的定时任务

    • 创建一个job
      • job_type指定'STORED_PROCEDURE'
      • job_action中填入要执行的存储过程名字
      • start_date指定起始时间,用于计算后续执行的时间
      • repeat_interval说明时间间隔,可以参考Calendaring Syntax
    BEGIN
    dbms_scheduler.create_job(
            job_name       => 'test_scan',
            job_type       => 'STORED_PROCEDURE',
            job_action     => 'p_task_scan_used_test',
            start_date     =>  sysdate,
            repeat_interval=>  'FREQ=MINUTELY;INTERVAL=10');
    END;
    
    • 创建后通过系统视图检查
    select * from user_scheduler_jobs;
    
    • 取消AUTO_DROP
      默认会在任务正确执行完成后删除任务,此处修改该属性不删除。
    begin
    dbms_scheduler.set_attribute(
             name      => 'test_scan',
             attribute => 'AUTO_DROP',
             value     => FALSE);
    end;
    
    • 执行时传入参数

      • 设置参数个数
      begin
      dbms_scheduler.set_attribute(
               name      => 'mac_scan',
               attribute => 'NUMBER_OF_ARGUMENTS',
               value     => 2);
      end;
    
    • 设置参数值
      begin
      dbms_scheduler.SET_JOB_ARGUMENT_VALUE (
          job_name => 'test_scan',
          argument_position => 1,
          argument_value => '1000');
      end;
          
      begin
      dbms_scheduler.SET_JOB_ARGUMENT_VALUE (
          job_name => 'test_scan',
          argument_position => 2,
          argument_value => '5000');
      end;
    
    • 测试job是否可以正确执行
    select * from user_scheduler_job_run_details;
    select * from user_scheduler_job_log;
    
    • 启动定时任务
    begin
        dbms_scheduler.enable(
            name =>  'test_scan');
    end;
    

    至此,定时任务部署完毕。
    -- EOF --

  • 相关阅读:
    oracle查找前几条记录
    linux主要目录
    openstack搭建3、部署xinetd服务
    openstack搭建1、前期准备
    openstack搭建2、部署Mariadbgalera
    Java 基础(类的加载与ClassLoader的理解)
    K8S 查看资源使用情况
    Java 基础 (Java 反射机制)
    Java 基础 (网络编程 TCP 例子)
    Java 基础 (网络编程 UDP 例子, URL)
  • 原文地址:https://www.cnblogs.com/shenfeng/p/dbms_scheduler_create_job.html
Copyright © 2011-2022 走看看