`

Oracle定时执行存储过程

阅读更多
  定时执行存储过程在平时开发中经常会用到,年前的时候自己也做了一个,由于时间关系一直没能记录,现记录下来。
  
   首先用一个完整的例子来实现定时执行存储过程。

任务目标:每小时向test表中插入一条数据

实现方案:
    1.通过 oracle 中 dbms_job 完成存储过程的定时调用
    2.在存储过程中完成相应的逻辑操作

实现步骤:
  1.创建一个测试表
create table test(dTime date);
 
  2.创建一个存储过程
create or replace procedure p_test as
begin
insert into test values(sysdate);
end;

  3.创建执行计划:每小时运行一次存储过程
Declare
  i Integer;
Begin
   dbms_job.submit(i,'p_test;',Sysdate,'sysdate+1/24');
end;

  4.运行执行计划
Declare
  jobno Integer;
Begin
-- 查找计划号
Select t.JOB into jobno From User_Jobs t ;
-- 运行制定的执行计划
dbms_job.run(jobno);
end;

  5.查看任务队列情况
select job,next_date,next_sec,failures,broken from user_jobs;

  6.查看任务执行情况
select to_char(dTime ,'yyyy/mm/dd hh24:mi:ss') from test order By dTime;

  7.停止执行计划
Declare
  jobno Integer;
Begin
  -- 查找计划号
  Select t.JOB into jobno From User_Jobs t ;
  -- 停止计划,不再继续执行
  --dbms_job.broken(jobno,True);
  -- 停止计划,并在两分钟后继续执行
  dbms_job.broken(jobno,True,Sysdate+(2/24/60));
end;

  8.删除执行计划
Declare
  jobno Integer;
Begin
  -- 查找计划号
  Select t.JOB into jobno From User_Jobs t ;
  dbms_job.remove(jobno);
end;

  9.修改执行计划
Declare
  jobno Integer;
Begin
  -- 查找计划号
  Select t.JOB into jobno From User_Jobs t ;
  -- 修改为:每分钟执行一次
  dbms_job.interval(jobno, 'sysdate+1/(24*60)');
end;

参数说明:
DBMS_JOB.SUBMIT(jobno =>jobID,//对应的唯一id(jobID <-> jobName)唯一映射
               procedureName=> 'your_procedure;',  //调用的存储过程名称
                 next_date => sysdate,   //下次执行的时间(第一次执行的时间)
                 interval => 'sysdate+1/1440');  //每次执行间隔的时间

以上就是定时执行存储过程的全部内容,留待后用吧。
3
1
分享到:
评论

相关推荐

    oracle定时执行存储过程.pdf

    oracle定时执行存储过程,方便大家备份数据,执行复杂操作

    oracle定时存储过程导出用户表或者指定表及数据导出CSV文件

    定时导出oracle指定用户下指定表的所有数据及格式生成CSV文件,通过存储过程; 1.使用特定用户或者system登陆到oracle执行"存储过程.txt"里面的脚本生成对应的存储过程; (说明:存储过程.txt脚本说明,查询指定用户下...

    plsql创建存储过程并创建job定时任务执行-详细笔记文档总结

    plsql创建存储过程并创建job定时任务执行-详细笔记文档总结

    Oracle JOB 定时任务

    Oracle JOB 定时任务 定时执行存储过程

    job(oracle定时任务)界面管理工具

    job的界面配置管理工具,为你更方便快捷定制定时任务,提高维护者的时间成本,更加安全实用

    oracle定时任务创建、查询等

    job_action =&gt; 'AGENT_LIQUIDATION.LIQUIDATION', --存储过程名 start_date =&gt; sysdate, repeat_interval =&gt; 'FREQ=MONTHLY; INTERVAL=1; BYMONTHDAY=1;BYHOUR=1;BYMINUTE=0;BYSECOND=0', -- 按月,间隔为1个...

    job定时器操作存储过程

    定时执行存储过程,创建job、删除job等等

    Oracle数据库表定时备份表 表名动态拼接时间戳存储过程

    3、备份策略是存储过程,方便执行,每次备份表都有时间戳。 4、若备份文件过大,可以考虑增加备份频率或分批备份。 5、如遇到表正在被使用或锁定的情况,可能导致备份失败。建议在备份前确保表处于可备份状态。 6、...

    oracle中的job的用法

    主要介绍的是oracle中的job用法,oracle中定时执行存储过程

    dbsync2.rar

    数据同步工具是针对 ORACLE 数据表之间数据同步而开发的一款软件。该工具具有以下特 性: 1) ORACLE 表之间数据的同步或增量同步功能;...8) 支持常用的数据库记录操作(添加记录,修改记录,删除记录,执行存储过程)

    oracle数据库定时任务dbms_job的用法详解

    ',—-执行的存储过程, ';'不能省略 next_date, —-下次执行时间 'interval' —-每次间隔时间,interval以天为单位 ); –系统会自动分配一个任务号jobno。 2、删除job: dbms_job.remove(jobno); 3、修改要执行的...

    ORACLE之常用FAQ V1.0(整理)

    [Q]怎么样加密存储过程 7 [Q] 7 [Q] 7 [Q]如果存在就更新,不存在就插入可以用一个语句实现吗 8 [Q]怎么实现左联,右联与外联 9 [Q]怎么实现一条记录根据条件多表插入 10 [Q]如何实现行列转换 11 [Q]怎么样实现分组...

    文件自动同步数据库管理工具

    如清除系统日志,数据同步,数据备份,整理数据库空间,调用存储过程等。已测试支持Oracle、SqlServer、MySql等数据库、及Access、Excel等OleDb数据库。 文件操作任务:同步服务器上的文件,或删除服务器上的日志...

    小排骨网站采集器|通用的网页采集器

    小排骨采集器的主要功能: ※ 多任务 & 多线程:可以同时执行多个采集任务,每...※ 支持存储过程调用,可以与现有数据库进行整合,构造一个数据处理层。 ※ 支持采集结果在线发布,即以在线方式发布到现有的网站系统。

    PowerJob-其他

    有定时执行需求的业务场景:如每天凌晨全量同步数据、生成业务报表等。 有需要全部机器一同执行的业务场景:如使用广播执行模式清理集群日志。 有需要分布式处理的业务场景:比如需要更新一大批数据,单机执行耗时...

    Activiti6.0.0最新源码

    定时器作业在新的版本存储于单独的表中,一个线程会定时轮训需要执行的作业,快到期的作业会被添加到suspended jobs表中。重试的作业已经被干掉了,需要重试的作业会被添加到deadletter jobs表中。这样的重构意义...

    asp.net知识库

    发布Oracle存储过程包c#代码生成工具(CodeRobot) New Folder XCodeFactory3.0完全攻略--序 XCodeFactory3.0完全攻略--基本思想 XCodeFactory3.0完全攻略--简单示例 XCodeFactory3.0完全攻略--IDBAccesser ...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例244 将文本文件中数据存储到数据库中 316 4.5 文件的压缩与解压 318 实例245 PHP中压缩RAR文件 319 实例246 PHP中将上传文件转换成RAR文件 320 实例247 PHP中对RAR文件进行解压 321 实例248 PHP中压缩ZIP文件 ...

Global site tag (gtag.js) - Google Analytics