Oracle 定时任务详解(dbms |
您所在的位置:网站首页 › 数据库设置定时任务 › Oracle 定时任务详解(dbms |
文章目录
1 概述2 dbms_job2.1 提交2.2 暂停2.3 修改2.4 运行2.5 删除
1 概述
1. 数据来源包:dbms_job,Oracle 10g 前常用
2. 目前已被 dbms_scheduler 所取代,且 Oracle 建议使用 dbms_scheduler
扩展:Oracle 定时任务详解(dbms_scheduler)
dbms_job 包头部分: 基础数据准备: create table dbms_job_history ( message varchar2(100), create_date date ); create or replace procedure p_dbms_job_test as begin -- 记录 job 信息 insert into dbms_job_history (message, create_date) values ('dbms_job', sysdate); commit; end; 2.1 提交 procedure submit(job out binary_integer, what in varchar2, next_date in date default sysdate, interval in varchar2 default 'null', no_parse in boolean default false, -- 是否需要解析与 job 相关的过程 instance in binary_integer default 0, -- 指定哪个实例可以运行 job force in boolean default false); -- 是否强制运行与 job 相关的实例 说明:参数 no_parse、instance、force 一般不指定示例:每三分钟调用一次过程 p_dbms_job_test: declare job binary_integer; begin dbms_job.submit(job => job, what => 'p_dbms_job_test();', next_date => sysdate, -- 立即执行 interval => 'sysdate + 3/1440' -- 1天 = 24*60*60 = 1440 ); -- 记得哦 commit; end;查询结果: 示例:暂停上述定时任务 declare begin dbms_job.broken(job => 28, broken => true); commit; end;查询截图: 示例:修改上述定时任务的时间间隔为:每 5 分钟执行一次 declare begin dbms_job.interval(job => 28, interval => 'sysdate + 5/1440'); -- 记得提交 commit; end;查询截图: 示例:运行上述已暂停的定时任务 declare begin dbms_job.run(job => 28); commit; end; -- 等同于 -- declare -- begin -- dbms_job.broken(job => 28, broken => false, next_date => sysdate); -- commit; -- end;查询截图: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |