Oracle 定时任务详解(dbms_job)
文章目录
- 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)相关推荐
- Oracle ASM 详解 收藏
Oracle ASM 详解 ASM:Automatic Storage Management, 是Oracle 主推的一种面向Oracle的存储解决方案, ASM 和 RDBMS 非常相似,ASM 也 ...
- oracle分区表编程,Oracle分区表详解
当前位置:我的异常网» 编程 » Oracle分区表详解 Oracle分区表详解 www.myexceptions.net 网友分享于:2013-10-28 浏览:25次 Oracle分区表详解 ...
- oracle有哪两种内存结构,Oracle体系结构详解(物理构造,内存结构和逻辑结构)...
当前位置:我的异常网» 数据库 » Oracle体系结构详解(物理构造,内存结构和逻辑结构 Oracle体系结构详解(物理构造,内存结构和逻辑结构) www.myexceptions.net 网友分 ...
- Oracle 冷备份详解【实战案例】
Oracle 冷备份详解 --准备工作 select * from v$database; select file_name from dba_data_files; create tablespac ...
- oracle里面asm的作用,Oracle ASM 详解
Oracle ASM 详解 ASM:Automatic Storage Management, 是Oracle 主推的一种面向Oracle的存储解决方案, ASM 和 RDBMS 非常相似,ASM 也 ...
- Oracle 存储过程详解(上)
目录 一.存储过程与存储函数的定义 二.创建 / 执行存储过程所需的权限 1.resource权限 2.create.execute procedure权限 三.创建 / 执行存储过程 四.变量与参数 ...
- navicat创建MySql定时任务详解
目录 navicat创建MySql 定时任务详解 一.开起定时任务 二.通过navicat创建定时任务 三.关闭.启动.别名.移动.删除event 四.查询Event信息 navicat创建MySql ...
- Oracle 数据字典详解
Oracle 数据字典详解 什么叫数据字典? 数据字典指的是描述数据的数据. 举个例子:我们在数据库里面创建了一个表,这个表位于哪个数据文件.这个表有哪些列.这个表的每一个列的数据类型.这个表的约束等 ...
- kettle工具下载、安装、数据迁移、定时任务详解
kettle工具下载.安装.数据迁移.定时任务详解 篇幅有点长,将这五个内容放在了一篇文章里,其中最主要的是数据迁移和定时任务 目录 目录 一.简单介绍 二.下载 三.安装 四.数据迁移:包括单表整体 ...
- Oracle索引详解(索引的原理,创建索引,删除索引,修改索引等)
Oracle索引详解 一.索引概述 Oracle作为关系型数据库,用户查找数据与行的物理位置无关,表中的每一行均用一个ROWID来标识,当Oracle数据库中存储海量的记录时,就意味着有大量的ROWI ...
最新文章
- java中synchronized修饰静态方法和非静态方法有什么区别?
- Oracle 原理:DML触发器和数据库触发器
- CSS3实现的响应式字体:自适应视图窗口大小的新单位
- 如何构建“正确的”云平台存储
- how-to-change-the-windows-pagefile-size win10分页虚存大小
- 教老婆学python
- Example文件简介
- C++17 关键新特性介绍及代码讲解 (6) — fold expression
- 面向对象与面向过程(尚学堂视频学习总结_001)
- python爬虫模拟点击和输入_爬虫笔记关于鼠标点击和内容输入
- javaweb-39:文件上传及拓展鸡汤
- 3月18日短线黑马牛股公开验证
- wangeditor上传本地视频的方法
- 应聘人工智能岗位?这10个必问的面试题,你准备好了吗
- linux系统虚拟鼠标的实现
- 与MP3相关的技术总结
- Django-APIView
- JAVA 面试知识点(个人总结)
- matcher 类 group(int i) shart(int i) end(int i)用法
- 【总结】最全1.5万字长文解读7大方向人脸数据集v2.0版,搞计算机视觉怎能不懂人脸...