一、Oracle定时任务基础

简介

oracle job 是应用在数据库层面,用来定时执行存储过程或者 SQL 语句的定时器。

查询

--当前库中运行的 job

SELECT t.* FROM  dba_jobs t 

创建

(1)SQL语句执行创建

declare
job number;
BEGIN
DBMS_JOB.SUBMIT(
JOB => job, /*自动生成JOB_ID*/
WHAT =>'PRO_USER_ORDER(to_char(SYSDATE,'yyyyMMdd'));', /*需要执行的存储过程名称或SQL语句*/
NEXT_DATE => sysdate, /*初次执行时间(立即执行)*/
INTERVAL => 'trunc(sysdate,''mi'')+1/(24*60)' /*执行间隔(每隔1分钟执行一次)*/
);
commit;
end;

(2)pl/sql图形化界面创建

查询某job的下一次执行时间

--查询定时任务的下一次执行时间

SELECT job,next_date,what FROM dba_jobs WHERE JOB = 14;  --14:定时任务的唯一标识码(即job编号)

手动执行某个job

--手动调用job

BEGIN
DBMS_JOB.RUN (14) ; --14:job的id
END ;

手动停止某个job

--手动停止job

/*
格式:dbms_job.broken(jobId,broken,next_date);
jobId:job的ID。
broken:值为true时,表示禁用job,false时,表示启用job。
next_date:(某一时刻停止),也可是sysdate(立刻停止)(默认值为sysdate)。
*/
BEGIN
dbms_job.broken (jobId, TRUE, next_date) ;
COMMIT ;
END ;

手动删除某个job

--手动删除job

begin
dbms_job.remove(83); --删除自动执行的job,参数是 job的id
commit;
end;

修改定时任务的执行间隔

--修改job的间隔时间

/*
job:job的ID
interval: 任务执行间隔的时间表达式
*/
begin
dbms_job.interval(job,interval);
commit;
end;

修改定时任务的下一次执行时间

--修改job的下一次执行时间

/*
job:job的ID
next_date: 下一次任务执行的时间表达式
*/
begin
dbms_job.next_date(job,next_date);
commit;
end;

修改定时任务 job 要执行的操作

--修改定时任务 job 要执行的操作

/*
jobId:job的ID
newProcedures(): 新的存过
*/
begin
dbms_job.what(jobId,'newProcedures();');
commit;
end;

参考资料

Oracle学习(十)Oracle定时任务的更多相关文章

  1. Oracle学习笔记—oracle体系架构及状态(nomount、mount和open)简介

    oracle体系架构简介 先来简要了解一下Oracle数据库体系架构以便于后面深入理解,Oracle Server主要由实例(instance)和数据库(database)组成.实例(instance ...

  2. 【Oracle学习笔记】定时任务(dbms_job)

    一.概述 Oralce中的任务有2种:Job和Dbms_job,两者的区别有: 1.  jobs是oracle数据库的对象, dbms_jobs只是jobs对象的一个实例, 就像对于tables, e ...

  3. oracle学习 十二 使用.net程序调用带返回值的存储过程(持续更新)

    数据库返回的是结果集,存储过程返回的是一个或者多个值,所以不要使用while循环去读取,也不要使用datareader函数去调用.v_class_name是返回函数 使用.net调用oracle数据库 ...

  4. oracle学习 十 数据库的语句优化(持续更)

    平时关注Oracle数据库的网友都知道,Oracle性能优化保证了Oracle数据库的健壮性.下面就此提出需要注意的两个原则.   原则一:注意WHERE子句中的连接顺序: ORACLE采用自下而上的 ...

  5. Oracle学习(十二):存储过程/存储函数

    1.知识点 --第一个存储过程 /* 打印Hello World create [or replace] PROCEDURE 过程名(參数列表) AS PLSQL子程序体: 调用存储过程: 1. ex ...

  6. Oracle学习(十):视图,索引,序列号,同义词

    1.知识点:能够对比以下的录屏进行阅读 视图,序列,索引,同义词 SQL> --视图:虚表 SQL> --视图的长处:简化复杂查询.限制数据訪问(银行用的多).提供数据的相互独立.相同的数 ...

  7. Oracle学习(十四):管理用户安全性

    --用户(user) SQL> --创建一个名为 grace password是password 的用户,新用户没有不论什么权限 SQL> create user grace identi ...

  8. Oracle学习笔记—Oracle左连接、右连接、全外连接以及(+)号用法(转载)

    转载自: Oracle左连接.右连接.全外连接以及(+)号用法 对于外连接,Oracle中可以使用“(+)”来表示. 关于使用(+)的一些注意事项: (+)操作符只能出现在WHERE子句中,并且不能与 ...

  9. Oracle学习之Oracle 树操作(select…start with…connect by…prior)

    转自:http://www.cnblogs.com/linjiqin/archive/2013/06/24/3152674.html oracle树查询的最重要的就是select…start with ...

  10. ORACLE学习笔记-ORACLE(基本命令)

    --查看VGA信息: show sga; select * from v$sgastat;--可以通过以下几个动态性能视图查看信息: V$sysstat                系统统计信息 V ...

随机推荐

  1. OpenStack 服务心跳机制和状态监控

    参考链接: OpenStack服务心跳机制和状态监控 https://blog.csdn.net/qqhappy8/article/details/79304221

  2. 牛客网PAT练兵场-锤子剪刀布

    题目地址:https://www.nowcoder.com/questionTerminal/79db907555c24b15a9c73f7f7d0e2471 题解:无 /** * *作者:Ycute ...

  3. Java算法——分治法

         一.基本概念 在计算机科学中,分治法是一种很重要的算法.字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简 ...

  4. 关于C#.WinForm 与 WinApi的SendMessage 方法

    介绍: Windows Api 的 SendMessage 该函数将指定的消息发送到一个或多个窗口.此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回.而和函数PostMessage不同,P ...

  5. 一个神奇的jq插件----zTree

    最近在公司做项目中用到了一个树(ztree)的插件,使用起来非常顺手,便写下这篇博客,用来记录一下,以便后续使用 首先先放上ztree官方的地址:http://www.treejs.cn/v3/mai ...

  6. 用Java写编译器(1)- 词法和语法分析

    词法和语法分析器构建 ANTLR简介 ANTLR全称ANother Tool for Languate Recognition,是基于LL(*)算法实现的语法分析器生成器和词法分析器生成器,由旧金山大 ...

  7. Java 实例 - 三目条件运算符

    package guyu.day0903; /** * @Author: Fred * @Date: 2020/9/3 10:59 */ public class Demo01 { public st ...

  8. 【学习中】Unity插件之NGUI 完整视频教程

    课程 章节 内容 签到 Unity插件之NGUI 完整视频教程 第一章 NGUI基础控件和基础功能学习 1.NGUI介绍和插件的导入 6月29日 2.创建UIRoot 6月29日 3.学习Label控 ...

  9. lombok配置

    lombok在springboot中无需配置即可在控制台输出. 一般使用backlog.xml作为配置文件. 在application中指定backlog位置 不做任何配置时候,logback.xml ...

  10. P1004 方格取数(四维动态规划)

    题目描述 设有N \times NN×N的方格图(N \le 9)(N≤9),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字00.如下图所示(见样例): A 0 0 0 0 0 0 0 0 ...