zoukankan      html  css  js  c++  java
  • 【Oracle】创建定时任务

    背景:

    项目有个前端功能实现依赖于后台数据库定时触发某项任务。

    测试环境准备创建此项数据库任务,以满足前端的测试。

    参考:

    https://www.cnblogs.com/linjiqin/p/3152638.html

    https://www.cnblogs.com/yscit/p/10376005.html

    Oralce中的任务有2种:Job和Dbms_job,两者的区别有:

    1.  jobs是oracle数据库的对象, dbms_jobs只是jobs对象的一个实例, 就像对于tables, emp和dept都是表的实例。

    2.  创建方式也有差异,Job是通过调用dbms_scheduler.create_job包创建的,Dbms_job则是通过调用dbms_job.submit包创建的。

    3.  两种任务的查询视图都分为dba和普通用户的,Job对应的查询视图是dba_scheduler_jobs和user_scheduler_jobs,dbms_jobs对应的查询视图为dba_jobs和user_jobs。

    主要介绍Dbms_job

    BEGIN
    DBMS_JOB.SUBMIT(
       JOB OUT BINARY_INTERGER,--输出变量,是此任务在任务队列中的编号,也可以自定义,一般不传
       WHAT IN VARCHAR2,--执行的任务的名称及其输入参数
       NEXT_DATE IN DATE DEFAULT SYSDATE,--任务执行的时间
       INTERVAL IN VARCHAR2 DEFAULT NULL,--任务执行的时间间隔
       NO_PARSE IN BOOLEAN DEFAULT FALSE,--用于指定是否需要解析与作业相关的过程
       INSTANCE IN BINARY_INTEGER DEFAULT ANY_INSTANCE,--用于指定哪个例程可以运行作业
       FORCE IN BOOLEAN DEFAULT FALSE--用于指定是否强制运行与作业相关的例程
    );
    END

    练习

    --1.创建表:
    create table testa (cola date);
    
    --2.创建存储过程:
    create or replace procedure testp as
    begin
    insert into testa values(sysdate);
    end;
    /
    
    --3.创建job任务(1分钟执行一次):
    variable jobno number;
    begin
       dbms_job.submit(:jobno,'testp;', sysdate, 'sysdate+1/24/60');
       commit;
    end;
    /
    
    --4.查看任务定时执行结果:
    select to_char(cola,'yyyy/mm/dd hh24:mi:ss') 时间 from testa;
    
    --5.跟踪任务的情况(查看任务队列):
    select job, next_date, next_sec, failures, broken from user_jobs;
    
    --6.停止定时任务(取上一步的JOB号,停止后Broken变为Y且NEXT_SEC变为0):
    begin
       dbms_job.broken(37301, true, sysdate);
       commit;
    end;
    /
    
    --7.再次启动定时任务
    begin
    dbms_job.run(37301);
    end;
    /

     

  • 相关阅读:
    PrefixSpan序列模式挖掘算法
    PrefixSpan序列模式挖掘算法
    CBA算法---基于关联规则进行分类的算法
    CBA算法---基于关联规则进行分类的算法
    CBA算法---基于关联规则进行分类的算法
    RoughSets属性约简算法
    RoughSets属性约简算法
    hdu Proud Merchants
    hdu I NEED A OFFER!
    hdu Watch The Movie
  • 原文地址:https://www.cnblogs.com/cathygx/p/14115303.html
Copyright © 2011-2022 走看看