精华内容
下载资源
问答
  • oracle创建定时任务

    千次阅读 2017-02-02 12:41:11
    oracle创建定时任务
    创建任务:
    
    declare
     jobupdate number;
     begin
        dbms_job.submit(jobupdate,'sync_data_from_dblink_db;',sysdate,'sysdate+3/1440');
     end;




    select * from user_jobs;




    --步骤三:运行刚才创建的job
     begin
     dbms_job.run(44);
     end;




    --步骤四:查询该job下次执行的时间
    select job,next_date,what from dba_jobs where job=44;
     
    --步骤五:删除该job
     begin
     dbms_job.remove(44);
     end;
    展开全文
  • Oracle创建定时任务

    万次阅读 2017-02-20 15:44:16
    Oracle创建定时任务,下面以创建一个每天凌晨3点钟执行的定时任务为实例。 1、创建定时任务 DECLARE JOB_ID PLS_INTEGER; BEGIN SYS.DBMS_JOB.SUBMIT(JOB => JOB_ID, WHAT => 'PRO_JOB;', INTERVAL =>

    Oracle创建定时任务,下面以创建一个每天凌晨3点钟执行的定时任务为实例。

    1、创建定时任务

    DECLARE
      JOB_ID PLS_INTEGER;
    BEGIN
      SYS.DBMS_JOB.SUBMIT(JOB => JOB_ID,
                          WHAT => 'PRO_JOB;',
                          INTERVAL => 'TRUNC(SYSDATE) + 1 + 3 / (24)');
      COMMIT;
    END;

    PRO_JOB是你要执行的存储过程名称,多个存储过程已分号分割,注意最后面也有一个分号。

    2、查询定时任务

    SELECT * FROM DBA_JOBS;
    SELECT * FROM USER_JOBS;
    

    3、手动执行定时任务

    BEGIN  
        DBMS_JOB.RUN(643); --643为任务的ID  
    END;

    4、任务重复运行间隔设计

    4.1 在特定时间间隔后,重复运行该任务

    SYSDATE+n’,n泛指一个以天为单位的时间间隔.eg:

    描述                                Interval参数值
    每天运行一次             ‘SYSDATE+1′
    每小时运行一次         ‘SYSDATE+1/24′
    10分钟运行一次        ‘SYSDATE+10/(60*24)’
    每30秒运行一次        ‘SYSDATE+30/(60*24*60)’
    每星期运行一次         ‘SYSDATE+7′

    注:此任务表达式不能保证任务的下一次运行时间在特定的日期或者时间,只能够指定一个任务两次运行之间的时间间隔。

    4.2 在特定的日期和时间运行任务

    定时到特定日期或时间的任务,eg:

    描述Lnterval参数值
    每天午夜12点‘TRUNC(SYSDATE+1)’
    每天早上8点30分‘TRUNC(SYSDATE+1)+(8*60+30)/(24*60)’
    每星期二中午12点‘NEXT_DAY(TRUNC(SYSDATE),”TUESDAY”)+12/24′
    每个月第一天的午夜12点‘TRUNC(LAST_DAY(SYSDATE)+1)’
    每个季度最后一天的晚上11点‘TRUNC(ADD_MONTHS(SYSDATE+2/24,3),’Q')-1/24′
    每星期六,日早上6点10分‘TRUNC(LEAST(NEXT_DAY(SYSDATE,”SATURDAY”), 
    NEXT_DAY(SYSDATE,”SUNDAY”)))+(6*60+10)/(24*60)’

     

    展开全文
  • oracle 定时任务

    2011-01-29 22:20:34
    oracle 定时任务 oracle 定时任务 oracle 定时任务
  • Oracle定时任务

    2021-05-26 17:36:10
    Oracle定时任务1、基本概念2、脚本设置定时任务2、1脚本创建存储过程2.2、脚本创建定时任务3、PL/SQL设置定时任务 1、基本概念 Oracle支持设置一个定时任务,来达到在某个固定时间点进行数据库的操作的目的,这个...

    1、基本概念

    Oracle支持设置一个定时任务,来达到在某个固定时间点进行数据库的操作的目的,这个叫做job
    

    2、脚本设置定时任务

    2、1脚本创建存储过程

    脚本的使用基于存储过程,所以我们在设置定时任务之前,先要创建一个供定时任务使用的存储过程

    create or replace procedure 存储过程名 is
    begin
    	我们的sql语句;
    end;
    

    tips:这个存储过程比较简单,具体的存储过程可以查看一下其他帖子,下面是一个简单示例

    create or replace procedure reportJob is
    begin
      INSERT INTO TB_TRANSPORT_COST_REPORT
          (
                  CONTRACT_NUMBER,
                  TRANSPORT_CODE,
                  PLATE_NUMBER,
                  CUSTOM_NAME,
                  PRINT_DATE,
                  RECEIVE_DATE,
                  P_NUMBER,
                  L_NUMBER,
                  T_NUMBER,
                  P_WEIGHT,
                  R_WEIGHT,
                  PRICE,
                  R_MILEAGE,
                  R_TRANSPORT_STOP_COST,
                  R_TRANSPORT_COST)
          (select
                  CONTRACT_NUMBER,
                  TRANSPORT_CODE,
                  PLATE_NUMBER,
                  CUSTOM_NAME,
                  PRINT_DATE,
                  RECEIVE_DATE,
                  P_NUMBER,
                  L_NUMBER,
                  T_NUMBER,
                  P_WEIGHT,
                  R_WEIGHT,
                  PRICE,
                  R_MILEAGE,
                  R_TRANSPORT_STOP_COST,
                  R_TRANSPORT_COST
             from VIEW_TRANSPORT_COST_REPROT1);
    end;
    

    2.2、脚本创建定时任务

    创建完了存储过程,我们来创建定时任务

    declare job number;
    BEGIN
    DBMS_JOB.SUBMIT(JOB => job, WHAT => 'reportJob;', NEXT_DATE => sysdate, INTERVAL => 'trunc(Sysdate+1)+(1*60)/(24*60)'); commit;
    end;
    
    1. WHAT ,该位置填写存储过程名;
    2. NEXT_DATE ,该位置填写下次执行时间(填写sysdate会立马执行一次)
    3. INTERVAL ,该位置填写时间间隔,trunc(Sysdate+1)+(160)/(2460)就代表第二天凌晨一点执行,具体可以搜索trunc用法
      里面有个commit是因为我存储过程做了添加,需要提交
      4.select * from user_jobs该语句可以拿来查询定时任务,返回的结果会有上次执行时间以及下次执行时间

    3、PL/SQL设置定时任务

    右击图片上的DBMS_Jobs
    在这里插入图片描述

    点击新建在这里插入图片描述
    填入what值以及间隔即可

    展开全文
  • oracle定时任务

    2015-01-19 10:09:42
    在plsql下新建一个sql窗口就可以执行的oracle定时任务
  • Oracle 创建定时任务

    2020-09-07 10:36:40
    1、创建任务执行的存储过程,如名称为testJob,向测试表中插入数据 create or replace procedure YxtestJob is begin insert into ztest(name,createdate) values('test',sysdate); end; 2、定时器对应的DBMS_...

    1、创建任务执行的存储过程,如名称为testJob,向测试表中插入数据

    create or replace procedure YxtestJob is
    begin
      insert into ztest(name,createdate)
      values('test',sysdate);
    
    end;

    2、定时器对应的DBMS_Jobs文件夹,右键新建(new)

    注:job的定时执行和时间间隔说明

    间隔/interval是指上一次执行结束到下一次开始执行的时间间隔,当interval设置为null时,该job执行结束后,就被从队列中删除。假如我们需要该job周期性地执行,则要用‘sysdate+m’表示。
    (1).每分钟执行
    Interval => TRUNC(sysdate,'mi') + 1/ (24*60)

    每小时执行

    Interval => TRUNC(sysdate,'hh') + 1/ (24)

    (2).每天定时执行
    例如:每天的凌晨1点执行
    Interval => TRUNC(sysdate+ 1)  +1/ (24)

    (3).每周定时执行
    例如:每周一凌晨1点执行
    Interval => TRUNC(next_day(sysdate,'星期一'))+1/24

    (4).每月定时执行
    例如:每月1日凌晨1点执行
    Interval =>TRUNC(LAST_DAY(SYSDATE))+1+1/24

    (5).每季度定时执行
    例如每季度的第一天凌晨1点执行
    Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24

    (6).每半年定时执行
    例如:每年7月1日和1月1日凌晨1点
    Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24

    (7).每年定时执行
    例如:每年1月1日凌晨1点执行
    Interval =>ADD_MONTHS(trunc(sysdate,'yyyy'),12)+1/24

    查看任务
     

    SELECT * FROM dba_jobs;

     

     

    展开全文
  • ORACLE创建定时任务

    2015-07-10 14:34:32
    创建三个定时任务,每个小时调用一次REPORT_HOUR,每天调用一次REPORT_DAY,每个月调用一次REPORT_MONTH DECLARE JOB1 NUMBER; JOB2 NUMBER; JOB3 NUMBER; BEGIN SYS.DBMS_JOB.SUBMIT(JOB => JOB1, WHAT =
  • ORACLE定时任务

    2013-10-19 12:42:26
    学些ORACLE的时候老是创建定时任务失败,这里提供一个实例
  • 创建Oracle定时任务

    千次阅读 2019-05-24 10:08:42
    PLSQL创建Oracle定时任务 用语句创建 1、创建任务执行的存储过程,如名称为testJob,向测试表中插入数据,如文章开头,此处省略。 2、创建一个 定时任务 job declare job number; BEGIN DBMS_JOB.SUBMIT( ...
  • Oracle 定时任务

    2017-09-07 12:04:15
      今天总结下oracle的任务队列管理器(job queue ),... 我们要做定时任务时,有两种办法   一种是: 操作系统的定时,win的定时任务,unix的crontab 一种是: 数据库级的定时,她的效率更高,  
  • ##ORACLE定时任务 一、首先是检查当前数据库配置 JOB_QUEUE_PROCESSES 检查方式:select value from v$parameter where name like ‘%job_queue_processes%’ 若结果为0则不会自动运行。 修改方式:alter system set...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,897
精华内容 9,558
关键字:

oracle创建定时任务