Oracle 简单的创建一个定时任务job

Oracle 简单的创建一个定时任务job

没有什么前置步骤,无非就是把存储过程或者SQL提前写好,就不说了,直接执行一下下面的语句即可创建一个job

declare
job number;
BEGIN
DBMS_JOB.SUBMIT(
JOB => job, /*自动生成JOB_ID,放着就行,不用管*/
WHAT => 'send_email_main;', /*换成你需要执行的存储过程名称或SQL,如果是包则要具体到方法*/
NEXT_DATE => sysdate+1/(24*60), /*初次执行时间-设置为当前时间的1分钟后*/
INTERVAL => 'TRUNC(SYSDATE + 1)+(7*60+55)/(24*60)' /*每天早上7点55执行*/
);
commit;
end;

创建以后可以通过执行下面的语句查询当前数据库的job(第一列为job_id)

SELECT * FROM dba_jobs

创建job的语句的参数就这些

比较谜团的就是INTERVAL部分,以下是从网上各个地方看到的感觉会常用的内容,使用的话直接替换或者加加改改就行

每秒:sysdate + 1/(24*60*60)
每30秒:sysdate + 30/(24*60*60)
每分钟:sysdate + 1/(24*60)
每两分钟:sysdate + 2/(24*60)
每五分钟:sysdate + 5/(24*60)
每小时:sysdate + 1/24
每两小时:sysdate + 2/24
每天:sysdate + 1
每两天:sysdate + 2
每周:sysdate + 7
每天午夜12点:trunc(sysdate + 1)
每天早上8点30分:trunc(sysdate + 1) + (8 * 60 + 30)/(24 * 60)
每星期二中午12点:next_day(trunc(sysdate), '星期二') + 12/24
每周六和周日早上6点10分:trunc(least(next_day(sysdate, '星期六'), next_day(sysdate, '星期日'))) + (6 * 60 + 10) / (24 * 60)
每个月第一天的午夜12点:trunc(last_day(sysdate)) + 1
每季度的第一天凌晨0点执行:trunc(add_months(sysdate,3),'q')
每个季度最后一天的晚上11点:trunc(add_months(sysdate + 2/24,3),'q') - 1/24
每年7月1日和1月1日凌晨1点:add_months(trunc(sysdate,'yyyy'),6) + 1/24
每年1月1日凌晨1点执行:add_months(trunc(sysdate,'yyyy'),12) + 1/24

手动执行job

 begin
DBMS_JOB.RUN(job_id); /*job的id*/
end;

删除job

begin
dbms_job.remove(241); /*参数是job的id*/
commit;
end;

修改执行时间

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

修改下次执行时间

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

修改执行任务

begin
dbms_job.what('newProcedures();'); /*要更改的新操作名称,函数或者包名*/
commit;
end;

查询job执行日志

select * from dba_scheduler_job_run_details where job_name = 'DBMS_JOB$_109'--DBMS_JOB$_109是拼接的,109为jobid
order by log_date desc;

以上

Oracle 简单的创建一个定时任务job的更多相关文章

  1. oracle利用job创建一个定时任务,定时调用存储过程

    --创建表 create table TESTWP ( ID ), C_DATE DATE ); select * from TESTWP; --2.创建一个sequence create seque ...

  2. 使用PHP来简单的创建一个RPC服务

    RPC全称为Remote Procedure Call,翻译过来为"远程过程调用".主要应用于不同的系统之间的远程通信和相互调用. 比如有两个系统,一个是PHP写的,一个是JAVA ...

  3. Oracle开发:创建一个用户并分配表空间和分配权限

    -- 创建一个用户并分配表空间和分配权限 -- 以sysdba登录 oracle@sha-col-oracle-2:~> sqlplus / as sysdba SQL*Plus: Releas ...

  4. Oracle:如何创建一个只有查看权限的用户

    因为工作中测试环境和开发环境是分开的,所以开发有时处理bug时需要连接测试数据库,这样出现一个问题是有些开发会为了验证某些问题任意改动数据库的表和字段,对测试库造成污染.为了能够让开发连接测试环境,同 ...

  5. strapi系列-如何创建一个定时任务-Cron Jobs

    Cron 是什么? Cron 有多种用途. Cron Jobs 用于安排服务器上的任务运行.它们最常用于自动化系统管理或维护.然而,它们也与 Web 应用程序的构建相关. Web 应用程序可能需要在各 ...

  6. 使用MicroService4Net 快速创建一个简单的微服务

    “微服务架构(Microservice Architecture)”一词在过去几年里广泛的传播,它用于描述一种设计应用程序的特别方式,作为一套独立可部署的服务.目前,这种架构方式还没有准确的定义,但是 ...

  7. IOS开发之小实例--使用UIImagePickerController创建一个简单的相机应用程序

    前言:本篇博文是本人阅读国外的IOS Programming Tutorial的一篇入门文章的学习过程总结,难度不大,因为是入门.主要是入门UIImagePickerController这个控制器,那 ...

  8. 利用HTML5与jQuery技术创建一个简单的自动表单完成

    来源:GBin1.com 在线演示   在线下载 谷歌快速搜索自带大量自动完成插件——库中甚至还有一个附带的jQuery UI共享选项.然而今天我要寻找一个替代的解决方案.由DevBridge开发的j ...

  9. linux 成功安装oracle后,为其创建一个登录账户

    成功安装oracle后,创建一个登录账户 1.切换到oracle用户下 su -l oracle 2.使用sysdba账户登录: sqlplus / as sysdba 3.创建用户 语法:CREAT ...

  10. MVC CodeFirst简单的创建数据库(非常详细的步骤)

       最近在学习MVC的开发,相信有过开发经验的人初学一个新的框架时候的想法跟我一样最关心的就是这个框架如何架构,每个架构如何分工,以及最最关键的就是如何与数据库通信,再下来才是学习基础的页面设计啊等 ...

随机推荐

  1. end_of_line = lf 选择行尾序列 .editorconfig - 老项目不动代码存盘 文件变动 CRLF 的问题 vscode

    end_of_line = lf 选择行尾序列 .editorconfig - 老项目不动代码存盘 文件变动 CRLF 的问题 缘由 vscode 老项目代码,没有变动,ctrl + s后 文件有变化 ...

  2. iview select 下拉 多选 数组 外面包一层 数组改逗分,外层不能用v-model 要用 :value @input,input里面要把对象解构下,才能过验证 - vue

    iview select 下拉 多选 数组 外面包一层 数组改逗分,外层不能用v-model 要用 :value @input,input里面要把对象解构下,才能过验证 - vue

  3. Windows 安装 Rust 并设置镜像加速

    目录 下载rustup-init.exe(Rust安装工具) 使用镜像加速rustup安装 安装Rust 安装标准库源码 使用镜像加速cargo包下载 安装结果确认 更新.卸载和文档查看 参考文档 下 ...

  4. 项目升级到Android31版本dlopen找不到系统so库文件

    简介 最近有个海外项目需要把之前项目从30版本升级到31版本,升级后发现就发现一个问题: 因为我们的项目是系统签名的apk,所以集成到系统中后是没有任何问题的,但是当我们手动安装后就会出现使用dlop ...

  5. JNI中AttachCurrentThread和DetachCurrentThread的问题

    在<Java与CC++交互JNI编程>中有讲过AttachCurrentThread和DetachCurrentThread的使用. 我们知道在jni中我们可以使用pthread或者std ...

  6. union all 优化案例

    遇到个子查询嵌套 UNION ALL 的SQL语句很慢,谓词过滤条件不能内推进去,需要优化这段 UNION ALL这块的内容. UNION ALL 慢SQL: SELECT * FROM ((SELE ...

  7. Java课堂

    import java.awt.*; import java.awt.event.*; import java.util.*; public class Main{ public static dou ...

  8. KingbaseES数据库适配Activiti7 didn't put process definition问题处理过程

    一.Activiti介绍 Activiti是一个轻量级的java开源BPMN 2工作流引擎.目前以升级至7.x,支持与springboot2.x集成. 二.项目环境 Spring Boot版本2.2. ...

  9. 【已解决】xml映射找不到类名java.lang.ClassNotFoundException

    XMLUtil文件里的Class.forName 参数要写相对于项目根目录的绝对路径,除了类名要加上对应的包路径!

  10. JS前后端交互(1)项目BotBattle

    目录 交互逻辑图解 后端 前端 jQuery的ajax的编程 项目地址 交互逻辑图解 图片来源:XZHongAN 后端 RequestMapping("/pk/") public ...