文章目录

  • 1 概述
  • 2 dbms_job
    • 2.1 提交
    • 2.2 暂停
    • 2.3 修改
    • 2.4 运行
    • 2.5 删除

1 概述

1. 数据来源包:dbms_job,Oracle 10g 前常用2. 目前已被 dbms_scheduler 所取代,且 Oracle 建议使用 dbms_scheduler
  • 扩展:Oracle 定时任务详解(dbms_scheduler)

2 dbms_job

1. 查看数据库中定时任务的最多并发数(默认:1000)(1) show parameter job_queue_processes -- 超过了,就得排队2. 设置数据库中定时任务的最多并发数(比如:10)(1) alter system set job_queue_processes = 103. 主要视图(1) select * from dba_jobs t; -- 所有 job 信息(2) select * from dba_jobs_running t; -- 执行中的 job 信息4. 主要参数(1) job       : job 序列号(来自 sys.jobseq)(2) what      : 具体要做的事情,常为要调用的 '存储过程名'(3) next_date: 下次运行时间(4) interval : 时间间隔(周期),格式同平常咱写 日期一样,如:-- 不区分大小写<1> 每 30 秒运行一次   'SYSDATE + 30/(24*60*60)'<2> 每天午夜 12 点 'trunc(sysdate + 1)'5. 日期函数select sysdate 当前时间,sysdate + 1 每天,sysdate + 1 / 24 每小时,sysdate + 1 / (24 * 60) 每分钟,sysdate + 1 / (24 * 60 * 60) 每秒,sysdate + 7 每周,trunc(sysdate + 1) 每天午夜12点,trunc(sysdate + 1) + (8 * 60 + 30) / (24 * 60) 每天早上8点30分,-- show parameter nls_date_language;  'TUESDAY'next_day(trunc(sysdate), '星期二') + 12 / 24 每星期二中午12点,trunc(last_day(sysdate)) + 1 每个月第一天的午夜12点,trunc(add_months(sysdate + 2 / 24, 3), 'Q') - 1 / 24 每个季度最后一天的晚上11点,-- 周六 saturday,周日 sundaytrunc(least(next_day(sysdate, '星期六'), next_day(sysdate, '星期日'))) +(6 * 60 + 10) / (24 * 60) 每周六和周日早上6点10分from dual;

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, -- 指定哪个实例可以运行 jobforce     in boolean default false); -- 是否强制运行与 job 相关的实例说明:参数 no_parse、instance、force 一般不指定

示例:每三分钟调用一次过程 p_dbms_job_test:

declarejob binary_integer;
begindbms_job.submit(job       => job,what      => 'p_dbms_job_test();',next_date => sysdate, -- 立即执行interval  => 'sysdate + 3/1440' -- 1天 = 24*60*60 = 1440);-- 记得哦         commit;
end;

查询结果:

2.2 暂停

procedure broken(job       in binary_integer,broken    in boolean,next_date in date default sysdate);

示例:暂停上述定时任务

declare
begindbms_job.broken(job => 28, broken => true);commit;
end;

查询截图:

2.3 修改

procedure change(job       in binary_integer,what      in varchar2,next_date in date,interval  in varchar2,instance  in binary_integer default null,force     in boolean default false);其它都只是 chagne 的一部分,如
(1) what
(2) next_date
(3) interval
(4) instance

示例:修改上述定时任务的时间间隔为:每 5 分钟执行一次

declare
begindbms_job.interval(job => 28, interval => 'sysdate + 5/1440');-- 记得提交commit;
end;

查询截图:

2.4 运行

procedure run(job   in binary_integer,force in boolean default false);

示例:运行上述已暂停的定时任务

declare
begindbms_job.run(job => 28);commit;
end;-- 等同于
-- declare
-- begin
--   dbms_job.broken(job => 28, broken => false, next_date => sysdate);
-- commit;
-- end;

查询截图:

2.5 删除

declare
begindbms_job.remove(job => 28);commit;
end;

Oracle 定时任务详解(dbms_job)相关推荐

  1. Oracle ASM 详解 收藏

    Oracle ASM 详解 ASM:Automatic Storage Management, 是Oracle 主推的一种面向Oracle的存储解决方案, ASM 和 RDBMS 非常相似,ASM 也 ...

  2. oracle分区表编程,Oracle分区表详解

    当前位置:我的异常网» 编程 » Oracle分区表详解 Oracle分区表详解 www.myexceptions.net  网友分享于:2013-10-28  浏览:25次 Oracle分区表详解 ...

  3. oracle有哪两种内存结构,Oracle体系结构详解(物理构造,内存结构和逻辑结构)...

    当前位置:我的异常网» 数据库 » Oracle体系结构详解(物理构造,内存结构和逻辑结构 Oracle体系结构详解(物理构造,内存结构和逻辑结构) www.myexceptions.net  网友分 ...

  4. Oracle 冷备份详解【实战案例】

    Oracle 冷备份详解 --准备工作 select * from v$database; select file_name from dba_data_files; create tablespac ...

  5. oracle里面asm的作用,Oracle ASM 详解

    Oracle ASM 详解 ASM:Automatic Storage Management, 是Oracle 主推的一种面向Oracle的存储解决方案, ASM 和 RDBMS 非常相似,ASM 也 ...

  6. Oracle 存储过程详解(上)

    目录 一.存储过程与存储函数的定义 二.创建 / 执行存储过程所需的权限 1.resource权限 2.create.execute procedure权限 三.创建 / 执行存储过程 四.变量与参数 ...

  7. navicat创建MySql定时任务详解

    目录 navicat创建MySql 定时任务详解 一.开起定时任务 二.通过navicat创建定时任务 三.关闭.启动.别名.移动.删除event 四.查询Event信息 navicat创建MySql ...

  8. Oracle 数据字典详解

    Oracle 数据字典详解 什么叫数据字典? 数据字典指的是描述数据的数据. 举个例子:我们在数据库里面创建了一个表,这个表位于哪个数据文件.这个表有哪些列.这个表的每一个列的数据类型.这个表的约束等 ...

  9. kettle工具下载、安装、数据迁移、定时任务详解

    kettle工具下载.安装.数据迁移.定时任务详解 篇幅有点长,将这五个内容放在了一篇文章里,其中最主要的是数据迁移和定时任务 目录 目录 一.简单介绍 二.下载 三.安装 四.数据迁移:包括单表整体 ...

  10. Oracle索引详解(索引的原理,创建索引,删除索引,修改索引等)

    Oracle索引详解 一.索引概述 Oracle作为关系型数据库,用户查找数据与行的物理位置无关,表中的每一行均用一个ROWID来标识,当Oracle数据库中存储海量的记录时,就意味着有大量的ROWI ...

最新文章

  1. java中synchronized修饰静态方法和非静态方法有什么区别?
  2. Oracle 原理:DML触发器和数据库触发器
  3. CSS3实现的响应式字体:自适应视图窗口大小的新单位
  4. 如何构建“正确的”云平台存储
  5. how-to-change-the-windows-pagefile-size win10分页虚存大小
  6. 教老婆学python
  7. Example文件简介
  8. C++17 关键新特性介绍及代码讲解 (6) — fold expression
  9. 面向对象与面向过程(尚学堂视频学习总结_001)
  10. python爬虫模拟点击和输入_爬虫笔记关于鼠标点击和内容输入
  11. javaweb-39:文件上传及拓展鸡汤
  12. 3月18日短线黑马牛股公开验证
  13. wangeditor上传本地视频的方法
  14. 应聘人工智能岗位?这10个必问的面试题,你准备好了吗
  15. linux系统虚拟鼠标的实现
  16. 与MP3相关的技术总结
  17. Django-APIView
  18. JAVA 面试知识点(个人总结)
  19. matcher 类 group(int i) shart(int i) end(int i)用法
  20. 【总结】最全1.5万字长文解读7大方向人脸数据集v2.0版,搞计算机视觉怎能不懂人脸...

热门文章

  1. K610D i7 D2 HM86 HD4600 安装 Mac OS 10.15.2 提供工具和EFI
  2. thinkpad x270 加装内置4G模块实现移动上网的记录
  3. 某型火炮随动控制系统测试研究
  4. Robocup 2D仿真足球机器人环境搭建(Ubuntu 16.04)
  5. 微信小程序上传图片到云储存
  6. protoc安装使用
  7. Windows源码编译运行pgAdmin4
  8. 转载-极化码系列(1)-极化码的起源和概述
  9. 植被抽稀lisp程序_地形图缩编中植被符号抽稀方法.doc
  10. 千月双端影视APP源码