Oracle创建定时任务——-job

授权 

说明:

grant create job to xxx;

grant manage scheduler to xxx;

必须授这两个用户权限

SQL> grant create job to zxin_jzfp;授权成功。SQL> grant manage scheduler to zxin_jzfp;授权成功。SQL> grant update any table to zxin_jzfp;授权成功。SQL> grant select  any table to zxin_jzfp;授权成功。SQL> grant create any table to zxin_jzfp;授权成功。SQL> grant create any procedure to zxin_jzfp;授权成功。

任务job

创建定时任务job

DECLARE  
job_id  number;  
BEGIN  
SYS.DBMS_JOB.SUBMIT  
( job => job_id  
,what => 'poverty_sum_procedure'  --执行的存储过程
,next_date => sysdate  
,interval =>'TRUNC(sysdate,''mi'') + 1/ (24*60)' --每分钟执行  (mi 两遍的 单引号 ' 需要再加一个 单引号' 进行转义)
,no_parse => TRUE  
);  
SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(job_id));  --输出创建的jobjd
COMMIT;  
END;

查看创建的job 

   select job,broken,what,interval,t.* from user_jobs t;

执行job

declarebegin   DBMS_JOB.RUN(32);   commit;
end;

创建后未发现有调用存储过程

存储过程测试过是没有问题的。
查看 F:\oracle11g\app\Administrator\diag\rdbms\hnapp\hnapp\trace\alert_hnapp.log
发现如下报错:

1
2
3
4
5
6
7
Wed Nov 11 09:37:04 2020
Errors in file f:\oracle11g\app\administrator\diag\rdbms\hnapp\hnapp\trace\hnapp_ora_11092.trc:
ORA-12012: 自动执行作业 30 出错
ORA-06550: 第 1 行, 第 118 列:
PLS-00103: 出现符号 ""在需要下列之一时:
 := . ( @ % ;
符号 ";" 被替换为 "" 后继续。

看来是job中的语法错误导致
检查后发现,submit时的 what参数值应该以分号结尾,修改为:

DECLARE  job_id  number;  
BEGIN  SYS.DBMS_JOB.SUBMIT( job => job_id  ,what => 'poverty_sum_procedure;'  --执行的存储过程(以;号结尾),next_date => sysdate  ,interval =>'TRUNC(sysdate,''mi'') + 1/ (24*60)' --每分钟执行  (mi 两遍的 单引号 ' 需要再加一个 单引号' 进行转义),no_parse => TRUE  );  SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(job_id));  --输出创建的jobjdCOMMIT;  
END;

 移除定时任务job

1
2
3
begin    
        dbms_job.remove(31); --  /*删除自动执行的job,参数是 job的id*/
end;

停止定时任务job

1
2
3
4
5
6
declare
begin  
  dbms_job.broken(24,true,sysdate);      
 /*停止一个job,jobId, job的ID,里面参数true也可是false,next_date(某一时刻停止)也可是sysdate(立刻停止)。   */
commit;
end;

修改定时任务的间隔时间 

1
2
3
4
5
declare
begin
  dbms_job.interval(24,interval => 'TRUNC(SYSDATE)+1');  
   /*第一个参数为job的ID,第二个参数interval: 计算下一次任务执行的时间表达式*/
  commit;
end;

修改下一次执行时间

1
2
3
4
5
6
declare
begin
   dbms_job.next_date(24,to_date('2020-11-9 12:08:00','yyyy-mm-dd hh24:mi:ss'));
   /*第一个参数:job的ID;第二个参数:要修改后的计算下一次执行的时间表达式*/
   commit;
end;

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

1
2
3
4
5
6
declare
begin
    dbms_job.what(24,'testJob2();');  
     /* 第一个参数:job的ID;第二个参数:要更改的新操作名称(操作名必须存在)*/
commit;
end;

附:

1. dbms_jos的各字段含义:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
JOB              任务的唯一标识码
LOG_USER         提交任务的用户
PRIV_USER         赋予任务权限的用户
SCHEMA_USER           对用户作语法分析的用户模式
LAST_DATE         最后一次成功执行任务的时间
LAST_SEC         最后一次成功执行任务的时间的时分秒
THIS_DATE         正在执行的任务的开始时间,若没有则为空
THIS_SEC        正在执行的任务的开始时间的时分秒,若没有则为空
NEXT_DATE       下一次执行定时任务的时间
NEXT_SEC        下一次执行定时任务的时间的时分秒
TOTAL_TIME      执行当前任务所需要的时间,单位:秒
BROKEN         标志参数,Y表示任务中断,以后不会再运行
INTERTAL    计算下一次执行定时任务的时间表达式
FAILURES    当前定时任务执行失败的总次数
WHAT        执行任务的PL/SQL代码块
NLS_ENV     任务执行的NLS会话设置
MISC_ENV     定时任务运行的其他一些参数设置
INSTANCE     标识当前任务运行是否受限,0 没有受限

2. INTERVAL 部分参数值示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
每天午夜12点: 'TRUNC(SYSDATE + 1)'
 
每天早上8点30分: 'TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)'
 
每星期二中午12点: 'NEXT_DAY(TRUNC(SYSDATE ), ''TUESDAY'' ) + 12/24'
 
每个月第一天的午夜12点: 'TRUNC(LAST_DAY(SYSDATE ) + 1)'
 
每个季度最后一天的晚上11点: 'TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), 'Q' ) -1/24'
 
每星期六和日早上6点10分: 'TRUNC(LEAST(NEXT_DAY(SYSDATE, ''SATURDAY"), NEXT_DAY(SYSDATE, "SUNDAY"))) + (6×60+10)/(24×60)'
 
每月25号00:00执行: 'TRUNC(LAST_DAY(SYSDATE ) + 25)'
 
--------------------------
 
1:每分钟执行
Interval => TRUNC(sysdate,'mi') + 1/ (24*60)

Interval => sysdate+1/1440
 
2:每天定时执行
例如:每天的凌晨1点执行
Interval => TRUNC(sysdate) + 1 +1/ (24)
 
 
3:每周定时执行
例如:每周一凌晨1点执行
Interval => TRUNC(next_day(sysdate,'星期一'))+1/24
 
4:每月定时执行
例如:每月1日凌晨1点执行
Interval =>TRUNC(LAST_DAY(SYSDATE))+1+1/24
 
5:每季度定时执行
例如每季度的第一天凌晨1点执行
Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24
 
6:每半年定时执行
例如:每年7月1日和1月1日凌晨1点
Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24
 
7:每年定时执行
例如:每年1月1日凌晨1点执行
Interval =>ADD_MONTHS(trunc(sysdate,'yyyy'),12)+1/24

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/224322.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络:物理层(三种数据交换方式)

今天又学到一个知识,加油! 目录 前言 一、电路交换 二、报文交换 三、分组交换 1、数据报方式 2、虚电路方式 3、比较 总结 前言 为什么要进行数据交换? 一、电路交换 电路交换原理:在数据传输期间,源结点与…

无机物及分析化学3d虚拟实验室软件提高教学效果

VR化学虚拟仿真实验室软件可以解决以下难题: 实验场地限制:传统的化学实验室需要占用大量的物理空间,并且需要严格的安全措施。而VR技术可以提供一个虚拟的实验室环境,不受空间限制,可以同时容纳更多的学生参与实验。 …

分类信息网商业运营版源码系统:适合各类行业分类站点建站 带安装部署教程

随着互联网的快速发展,信息分类网站在各个行业中得到了广泛应用。为了满足不同行业的需求,罗峰给大家分享一款适合各类行业分类站点建站的商业运营版源码系统。该系统旨在提供一套完整的解决方案,帮助用户快速搭建自己的分类信息网站&#xf…

深入分析ClassLocader工作机制

文章目录 一、ClassLoader简介1. 概念2. ClassLoader类结构分析 二、ClassLoader的双亲委派机制三、Class文件的加载流程1. 简介2. 加载字节码到内存3. 验证与解析4. 初始化Class对象 四、常见加载类错误分析1. ClassNotFoundException2. NoClassDefFoundError3. UnsatisfiledL…

jmeter,动态参数之随机数、随机日期

通过函数助手,执行以下配置: 执行后的结果树: 数据库中也成功添加了数据,对应字段是随机值:

『番外篇三』Swift “乱弹”之带索引遍历异步序列(AsyncSequence)

概览 在 Swift 开发中,我们往往在遍历集合元素的同时希望获得元素对应的索引。在本课中,我们将向小伙伴们展示除 enumerated() 方法之外的几种实现思路。在玩转普通集合之后,我们将用“魔法棒”进一步搞定异步序列带索引遍历的实现。 在本篇博主中,您将学到以下内容: 概…

国标级联/流媒体音视频平台EasyCVR设备录像下载异常该如何解决?

视频监控TSINGSEE青犀视频平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频流,也能支…

7. 异常、断言及日志

1.异常 1).什么是异常 异常,就是不正常的意思。指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。 在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常…

2023年度总结:3个常用代理IP服务商实测对比

转眼到了2023年末,即将踏入2024新年,业务也即将走过年底冲刺暂告一段落。在这一年,为了保证公司项目的稳定运行,我们花费了大量的精力与费用测试在全球范围内的多家代理IP服务商,综合实测各家产品与服务后,…

Android 长按电源键弹出的GlobalActions菜单

长按事件动作的配置 frameworks\base\core\res\res\values\config.xml 选择1会弹出Global actions menu <!-- Control the behavior when the user long presses the power button.0 - Nothing1 - Global actions menu2 - Power off (with confirmation)3 - Power off…

【Flink on k8s】- 15 - 将 flink on yarn 迁移到 flink on k8s

目录 1、集群现状 2、与 Flink on yarn 对比 2.1 Flink on yarn 的一些痛点 2.2 Flink on k8s 的一些优点

uniApp 中实现一个骰子动效

代码如下 <template><!-- 骰子组件 --><view class"dice-wrap" tap"throwDice"><!-- 筛子运动时候的展示的图片 --><image v-if"isDicing" :src"diceAnimationImages[aniIndex]" class"dice-icon&qu…

mybatis-plus雪花算法自动生成ID到前端后精度丢失问题

问题发生 前端接收到后端的数据出现异常&#xff0c;异常如下&#xff1a; 如图这是后端正常返回的数据&#xff0c; 但是点击预览时发现这个id的数据被改变了 这就导致了我通过id去修改相关数据时无法成功 问题原因 id的长度过长&#xff08;19位&#xff09;&#xff0c;前…

前端(一):HTML+CSS

参考课程&#xff1a;23最新版web前端开发_哔哩哔哩_bilibili 文档&#xff1a;GitHub - codeNiuMa/HTML-md-file: 学习HTML课程时的资料 目录 1 HTML 1.1 骨架 DOCTYPE html标签 head标签 body标签 title标签 meta标签 1.2 标签标题h1 1.3 段落p 1.4 水平线 1.5 图片img 1.6 …

MacOS下载配置OpenCV

主要参考的是OpenCV官方的这篇文章&#xff1a;OpenCV: Installation in MacOS 安装OpenCV需要下载一些安装包&#xff1a;CMake3.9、Git、Python这些我之前已经下载好&#xff0c;这里就不过多阐述了&#xff0c;自行百度安装即可 1.从Git库获取OpenCV&#xff1a; git clon…

[NAND Flash] 3.3 Flash闪存工艺知识深度解析

依公知及经验整理&#xff0c;原创保护&#xff0c;禁止转载。 专栏 《深入理解NAND Flash》 <<<< 返回总目录 <<<< 全文 3800 字。 1. Wafer 1.1 什么是 Wafer Wafer即晶圆&#xff0c;是半导体组件“晶片”或“芯片”的基材&#xff0c;从沙子里面…

Java医院信息化建设云HIS系统源码

云HIS提供标准化、信息化、可共享的医疗信息管理系统&#xff0c;实现医患事务管理和临床诊疗管理等标准医疗管理信息系统的功能。优化就医、管理流程&#xff0c;提升患者满意度、基层首诊率&#xff0c;通过信息共享、辅助诊疗等手段&#xff0c;提高基层医生的服务能力构建和…

喜讯连连捷报传,文章累累创佳绩,平均IF 18分!!!

爱基百客专注于提供领先的表观组学服务&#xff0c;目前已在表观组学、单细胞时空组学和高通量测序等方向积累了大量的项目经验。近期&#xff08;11月23日-12月4日&#xff09;&#xff0c;高分项目文章频出&#xff0c;涉及物种有梨、腰果、蘑菇、青枯雷尔氏菌和心肌细胞&…

系统的安全性设计

要设计一个安全的系统&#xff0c;除了要了解一些前面讲到的常用的保护手段和技术措施外&#xff0c;还要对系统中可能出现的安全问题或存在的安全隐患有充分的认识&#xff0c;这样才能对系统的安全作有针对性的设计和强化&#xff0c;即“知己知彼&#xff0c;百战百胜”。 下…

【Oracle】创建表

目录 方法一&#xff1a;CREATE TABLE 语法 创建表示例1&#xff1a;创建stuinfo(学生信息表) 创建表示例2&#xff1a;添加stuinfo(学生信息表)约束 方法二&#xff1a;CREATE TABLE AS 语法 创建表示例3&#xff1a; 创建表示例4&#xff1a;实现对select查询的结果进行…