Oracle 简单的创建一个定时任务job
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的更多相关文章
- oracle利用job创建一个定时任务,定时调用存储过程
--创建表 create table TESTWP ( ID ), C_DATE DATE ); select * from TESTWP; --2.创建一个sequence create seque ...
- 使用PHP来简单的创建一个RPC服务
RPC全称为Remote Procedure Call,翻译过来为"远程过程调用".主要应用于不同的系统之间的远程通信和相互调用. 比如有两个系统,一个是PHP写的,一个是JAVA ...
- Oracle开发:创建一个用户并分配表空间和分配权限
-- 创建一个用户并分配表空间和分配权限 -- 以sysdba登录 oracle@sha-col-oracle-2:~> sqlplus / as sysdba SQL*Plus: Releas ...
- Oracle:如何创建一个只有查看权限的用户
因为工作中测试环境和开发环境是分开的,所以开发有时处理bug时需要连接测试数据库,这样出现一个问题是有些开发会为了验证某些问题任意改动数据库的表和字段,对测试库造成污染.为了能够让开发连接测试环境,同 ...
- strapi系列-如何创建一个定时任务-Cron Jobs
Cron 是什么? Cron 有多种用途. Cron Jobs 用于安排服务器上的任务运行.它们最常用于自动化系统管理或维护.然而,它们也与 Web 应用程序的构建相关. Web 应用程序可能需要在各 ...
- 使用MicroService4Net 快速创建一个简单的微服务
“微服务架构(Microservice Architecture)”一词在过去几年里广泛的传播,它用于描述一种设计应用程序的特别方式,作为一套独立可部署的服务.目前,这种架构方式还没有准确的定义,但是 ...
- IOS开发之小实例--使用UIImagePickerController创建一个简单的相机应用程序
前言:本篇博文是本人阅读国外的IOS Programming Tutorial的一篇入门文章的学习过程总结,难度不大,因为是入门.主要是入门UIImagePickerController这个控制器,那 ...
- 利用HTML5与jQuery技术创建一个简单的自动表单完成
来源:GBin1.com 在线演示 在线下载 谷歌快速搜索自带大量自动完成插件——库中甚至还有一个附带的jQuery UI共享选项.然而今天我要寻找一个替代的解决方案.由DevBridge开发的j ...
- linux 成功安装oracle后,为其创建一个登录账户
成功安装oracle后,创建一个登录账户 1.切换到oracle用户下 su -l oracle 2.使用sysdba账户登录: sqlplus / as sysdba 3.创建用户 语法:CREAT ...
- MVC CodeFirst简单的创建数据库(非常详细的步骤)
最近在学习MVC的开发,相信有过开发经验的人初学一个新的框架时候的想法跟我一样最关心的就是这个框架如何架构,每个架构如何分工,以及最最关键的就是如何与数据库通信,再下来才是学习基础的页面设计啊等 ...
随机推荐
- vscode ctrl + d 删除当前行 更改快捷键
vscode 删除当前行 更改快捷键
- git reset --soft HEAD^^ 项目提交代码冲突 提交当前merge后,别提交远程,用命令回滚2次,到未提交的版本,再拉取同事代码,冲突解决
git reset --soft HEAD^^ 项目提交代码冲突 提交当前merge后,别提交远程,用命令回滚2次,到未提交的版本,再拉取同事代码,冲突解决 当多人写一个项目,最好还是关掉vscode ...
- vue-helper 组件 跳转 | Vue Jump to Tag 好用,需自己设定快捷键 | Path Intellisense
vue-helper 组件 跳转 组件名称 除首字母大写,其他不能有大写字母,否则不能跳转 比如 mycomponent 这个名字可以 Mycomponent 这个名字可以 myComponent 这 ...
- C++4中cast类型强制转换方式
static_cast<type_id>(expr) 用于基本类型的转换,也可以将继承关系的对象指针或引用之间进行上下转型,但是在没有运行时类型检查的情况下,不保证类型安全. static ...
- 使用graphviz图形化展示路径(决策树用到此库)
问题:当出现错误 graphviz.backend.execute.ExecutableNotFound: failed to execute WindowsPath('dot'), make sur ...
- LOTO示波器_从零开始手把手测电源开环增益/电源环路频响曲线/PSM
我们之前有篇文章从理论到实践演示了如何测量电源环路的开环增益曲线,不过偏重于理论和原理,没有很多细节的展现,所以这片文章从另外的角度,从零基础开始,手把手一步一步演示如果进行实操测试. 之前的那篇文章 ...
- 使用Go语言开发一个短链接服务:五、添加和获取短链接
章节 使用Go语言开发一个短链接服务:一.基本原理 使用Go语言开发一个短链接服务:二.架构设计 使用Go语言开发一个短链接服务:三.项目目录结构设计 使用Go语言开发一个短链接服务:四.生成 ...
- KingbaseES Json 系列二:Json对象函数
KingbaseES Json 系列二--Json对象函数(JSONB_BUILD_OBJECT,JSONB_OBJECT,JSON_BUILD_OBJECT,JSON_OBJECT) JSON 数据 ...
- 【已解决】MySQL5.x和MySQL8.x 密码验证的区别(修改MySQL数据库密码的验证方式)
mysql5.x使用的是 mysql_native_password mysql8.x使用的是 caching_sha2_password 1. 进入mysql mysql -u root -p 2. ...
- ET介绍——强大的MongoBson库
强大的MongoBson库 后端开发,统计了一下大概有这些场景需要用到序列化: 对象通过序列化反序列化clone 服务端数据库存储数据,二进制 分布式服务端,多进程间的消息,二进制 后端日志,文本格式 ...