当前位置: 首页 > news >正文

oracle数据库中job和dbms_job比较

oracle中job和dbms_job比较

一、概述

Oralce中的任务有2种:Job和Dbms_job,两者的区别有:
①、Job是通过调用dbms_scheduler.create_job包创建的,Dbms_job则是通过调用dbms_job.submit包创建的。
②、两种任务的查询视图都分为dba和普通用户的,Job对应的查询视图是dba_scheduler_jobs和user_scheduler_jobs,dbms_jobs对应的查询视图为dba_jobs和user_jobs。
③、在plsql developer中job位于jobs菜单、dbms_job位于dbms_jobs菜单。
在oracle10g以后就推荐采用dbms_scheduler包来取代dbms_job来创建定时任务。

二、使用例子

1、dbms_job的使用
  • 1、语法:
BEGIN
DBMS_JOB.SUBMIT(JOB OUT BINARY_INTERGER,--输出变量,是此任务在任务队列中的编号,也可以自定义,一般不传WHAT IN VARCHAR2,--执行的任务的名称及其输入参数NEXT_DATE IN DATE DEFAULT SYSDATE,--任务执行的时间INTERVAL IN VARCHAR2 DEFAULT NULL,--任务执行的时间间隔NO_PARSE IN BOOLEAN DEFAULT FALSE,--用于指定是否需要解析与作业相关的过程INSTANCE IN BINARY_INTEGER DEFAULT ANY_INSTANCE,--用于指定哪个例程可以运行作业FORCE IN BOOLEAN DEFAULT FALSE--用于指定是否强制运行与作业相关的例程
);
END

例子:

CREATE OR REPLACE PROCEDURE PROC_ADD_TEST AS
BEGININSERT INTO A8 VALUES (TO_CHAR(SYSDATE, 'YYYY-MM-DD HH:MI'));/*向测试表插入数据*/COMMIT;
END;
---------------------------------------------------------------------
declarejob number;
BEGINDBMS_JOB.SUBMIT(  JOB => job,  /*自动生成JOB_ID*/  WHAT => 'proc_add_test;',  /*需要执行的存储过程名称或SQL语句*/  NEXT_DATE => sysdate+3/(24*60),  /*初次执行时间-下一个3分钟*/  INTERVAL => 'trunc(sysdate,''mi'')+1/(24*60)' /*每隔1分钟执行一次*/); commit;
end;
  • 2、删除job:
    dbms_job.remove(jobno); – jobno任务号

  • 3、修改要执行的操作:
    job:dbms_job.what(jobno, what); --指定任务号以及存储过程

  • 4、修改下次执行时间:
    dbms_job.next_date(jobno, next_date); --指定任务号的时间

  • 5、修改间隔时间:
    dbms_job.interval(jobno, interval); --指定任务号的间隔时间

  • 6、改变与作业相关的所有信息,包括作业操作,作业运行日期以及运行时间间隔等.

dbms_job.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
);
--例子
dbms_job.change(2,null,null,'sysdate+2');
  • 7、启动job:
    dbms_job.run(jobno); --指定任务号启动

  • 8、停止job:
    dbms.broken(jobno, broken, nextdate); –broken为boolean值 N代表启动,Y代表没启动(STOP)

2、job的使用

使用dbms_scheduler创建job需要具有create job权限,对定时任务一些操作需要具有MANAGE SCHEDULER权限,如:dbms_scheduler.stop_job(‘my_job_test’,true)。

--1.创建表
create table bak_job_test(date_time date,mark varchar2(200));
--2.创建一个存储过程,用于创建表
create or replace procedure my_test authid current_user isv_count number := 0;v_mess varchar2(200) := '';beginselect count(1) into v_count from user_tables t where t.TABLE_NAME = 'BAK_JOB_TABLES';if  v_count > 0 thenexecute immediate 'drop table bak_job_tables purge';end if;execute immediate 'create table bak_job_tables as select * from user_tables where 1=2';insert into bak_job_test(date_time,mark) values(sysdate,'success');
exception
when others then
v_mess := substr(SQLERRM,0,200);
insert into bak_job_test(date_time,mark) values(sysdate,v_mess);end;
--3.创建存储过程
BEGINdbms_scheduler.create_job(job_name        => 'my_job_test',job_type        => 'STORED_PROCEDURE',job_action      => 'my_test',start_date      => sysdate,repeat_interval => 'sysdate + 1/1440',enabled         => TRUE,comments        => 'test');
END;

相关文章:

oracle数据库中job和dbms_job比较

oracle中job和dbms_job比较 一、概述 Oralce中的任务有2种:Job和Dbms_job,两者的区别有: ①、Job是通过调用dbms_scheduler.create_job包创建的,Dbms_job则是通过调用dbms_job.submit包创建的。 ②、两种任务的查询视图都分为db…...

# Python基础:输入输出详解-读写文件(还需完善)

open() 返回一个 file object ,最常使用的是两个位置参数和一个关键字参数:open(filename, mode, encodingNone) f open(workfile, w, encoding"utf-8")第一个实参是文件名字符串。第二个实参是包含描述文件使用方式字符的字符串。mode 的值…...

【Spring】 Spring中的IoC(控制反转)

以往在定义业务层实现时,在指定具体地Dao时候需要具体地定义出其实现: public class BookServiceImpl implements BookService{private BookDao bookDao new BookDaoImpl();public void save(){bookDao.save()} }public class BookDaoImpl implements …...

playwright在vscode+jupyter中出现NotImplementedError问题

近期因个人需要接触playwright,由于playwright新接触,想用jupyter进行API测试学习。刚开始使用sync_playwright,在playwright的Conda运行环境中,以console模式和单文件直接运行模式,都能正常运行。但是进入jupyter中后…...

js 实现文件上传

input 类型为file <inputtype"file"class"absolute "change"fileUpload"/> const fileUpload (e: any) > {const formData new FormData(); // form-data数据类型formData.append(file, e.target.files[0]);// 获取文件信息&#xff…...

5. Spring源码篇之BeanDefinition

简介 在spring中BeanDefinition是一个接口&#xff0c;下面也有很多的实现类 大致如下 BeanDefinitionAbstractBeanDefinitionRootBeanDefinition 最终每个BeanDefinition都是一个 RootBeanDefinitionChildBeanDefinition 现在不用了废弃&#xff…...

kotlin--2.面向对象

目录 一.概念 Kotlin 类/对象 二.创建类 1.创建类 2.构造函数 2.getter 和 setter 实例 3.主构造器 实例 4.次构造函数 实例 5.抽象类 6.嵌套类 7.内部类 8.匿名内部类 9.类的修饰符 实例 三.继承 1.概念 2.构造函数 (1)子类有主构造函数 (2)子类没有主构…...

Linux安装RabbitMQ详细教程

一、下载安装包 下载erlang-21.3-1.el7.x86_64.rpm、rabbitmq-server-3.8.8-1.el7.noarch.rpm 二、安装过程 1、解压erlang-21.3-1.el7.x86_64.rpm rpm -ivh erlang-21.3-1.el7.x86_64.rpm2、安装erlang yum install -y erlang3、查看erlang版本号 erl -v4、安装socat …...

rviz是如何获取图像里选择的点云的3D坐标的

以前以为rviz是用OpenGL渲染绘图&#xff0c;那么获取图像里像素点对应的真实3D坐标是采用的OpenGL里提供的API实现的&#xff0c;结果一看代码还真不是这样&#xff0c;rviz也就渲染用了OpenGL&#xff0c;其他都是自己实现的&#xff0c;图像界面的实现完全是遵循MVC设计模式…...

响应体和状态码

后端响应体和状态码设计 主流技术&#xff1a;响应体 和 状态码结合使用 响应体&#xff1a;数据 响应 给前端的 格式 1、为什么要设计统一响应体? 1、系统默认提供许多的状态码&#xff0c;但HTTP的状态码数量有限。 通过修改响应返回的JSON数据&#xff0c;更好的表达业务中…...

CNN进展:AlexNet、VGGNet、ResNet 和 Inception

一、说明 对于初学者来说&#xff0c;神经网络进展的历程有无概念&#xff1f;该文综合叙述了深度神经网络的革命性突破&#xff0c;从AlexNet开始&#xff0c;然后深度VGG的改进&#xff0c;然后是残差网络ResNet和 Inception&#xff0c;如果能讲出各种特色改进点的和改进理由…...

数据的存储--MongoDB文档存储

MongoDB文档存储 NoSQL&#xff0c;全称为Not Only SQL&#xff0c;意为不仅仅是SQL&#xff0c;泛指非关系型数据库。NoSQL是基于键值对的&#xff0c;而且不需要经过SQL层的解析&#xff0c;数据之间没有耦合性&#xff0c;性能非常高。 非关系行数据库又可细分如下。 键值存…...

Notepad++ 通过HexEditor插件查看.hprof文件、heap dump文件的堆转储数据

文章目录 需求场景插件安装查看notepad的版本&#xff0c;看看是32位的还是64位的下载对应的版本解压导入插件打开notepad插件文件夹&#xff1a;Notepad安装目录新建一个HexEditor文件夹选中插件文件导入 重启notepad使用 需求场景 想要查看app内存的某个域的数据。 利用Andr…...

微服务学习 | Eureka注册中心

微服务远程调用 在order-service的OrderApplication中注册RestTemplate 在查询订单信息时&#xff0c;需要同时返回订单用户的信息&#xff0c;但是由于微服务的关系&#xff0c;用户信息需要在用户的微服务中去查询&#xff0c;故需要用到上面的RestTemplate来让订单的这个微…...

spring boot集成quartz

目录 1.定时任务实现 2.quartz说明 3.存储方式 4.示例 5.定时任务的重新定制&#xff0c;恢复&#xff0c;暂停及删除 1.定时任务实现 定时任务的实现方式有很多&#xff0c;如下&#xff1a; 1.启动类中添加EnableScheduling&#xff0c;开启定时任务功能&#xff0c;然…...

[Linux] yum仓库相关

一、yum仓库 1.1 yum简介 yum 是一种基于 RPM 软件包&#xff08;Red-Hat Package Manager 的缩写&#xff09;的软件更新机制&#xff0c;可自动解决软件包之间的依赖关系。这就解决了日常工作中花费大量时间寻找安装包的问题。 为什么会出现依赖 linux 本身就有简化系统的优…...

2023.11.15-hivesql之炸裂函数explode练习

把一个容器的多个数据炸裂出单独展示: explode(容器) 需求:将NBA总冠军球队数据使用explode进行拆分&#xff0c;并且根据夺冠年份进行倒序排序。 1.建表 --step1:建表 create table the_nba_championship(team_name string,champion_year array<string> ) row format…...

Linux - 内核 - 安全机制 - 内存页表安全

说明 内核页表安全的最终目标是&#xff1a;将内核使用到的内存页&#xff08;内核与module占用&#xff09;的属性&#xff08;读/写/可执行&#xff09;配置成安全的&#xff0c;即&#xff1a;代码段和rodata段只读&#xff0c;非代码段不能执行等&#xff0c;用来防御堆栈…...

Linux---(七)Makefile写进度条(三个版本)

文章目录 一、前提引入&#x1f397;️下面的代码什么现象&#xff1f;&#x1f397;️下面的代码什么现象&#xff1f; 二、缓冲区三、回车换行&#x1f397;️注意&#x1f397;️图解&#x1f397;️老式回车键造型&#xff08;意思是充当两个动作&#xff09;&#x1f397;…...

数据库分页查询

数据库只所以要分页查询&#xff0c;其实是界面显示的需要&#xff0c;不是数据库的需要。 数据库本身查询是很快的。本文章是针对这种情况的。 如果数据库本身查询慢&#xff0c;那是优化查询语句的事情了。不在本文章范围内。 今天遇到了这个问题。 是个老项目。在原有的查询…...

一套万能的异步处理方案!(珍藏版)

前言 良好的系统设计必须要做到开闭原则&#xff0c;随着业务的不断迭代更新&#xff0c;核心代码也会被不断改动&#xff0c;出错的概率也会大大增加。但是大部分增加的功能都是在扩展原有的功能&#xff0c;既要保证性能又要保证质量&#xff0c;我们往往都会使用异步线程池…...

ai辅助硬件设计:让快马智能解析并生成db9接口与mcu连接的完整原理图与代码

在硬件开发中&#xff0c;DB9接口的设计与连接是个常见但容易出错的环节。最近我在一个嵌入式项目里需要实现STM32与DB9接口的RS-232通信&#xff0c;发现传统设计流程存在几个痛点&#xff1a; 引脚定义容易混淆 DB9公头和母头的引脚定义是相反的&#xff0c;比如母头的2号引脚…...

EmuELEC 3.9 vs 4.0+:不同版本写入EMMC的详细操作指南(附常见问题解决)

EmuELEC 3.9与4.0版本EMMC写入全流程实战解析 1. 版本差异与核心机制解析 EmuELEC作为开源游戏系统&#xff0c;其3.9与4.0版本在EMMC写入机制上存在根本性架构差异。理解这些差异是避免操作失误的前提。 3.9版本的技术特点&#xff1a; 采用传统的installtointernal.sh脚本…...

Ubuntu 20.04 下 Zotero 文献管理神器:从安装到插件配置的完整避坑指南

Ubuntu 20.04 下 Zotero 文献管理神器&#xff1a;从安装到插件配置的完整避坑指南 第一次在Linux环境下配置文献管理工具时&#xff0c;我盯着终端里密密麻麻的命令行输出&#xff0c;突然意识到学术研究的数字化工具链竟如此脆弱。直到遇见Zotero&#xff0c;这款跨平台的开源…...

利用快马平台快速构建技能评估系统原型:以skill-vetter为例

利用快马平台快速构建技能评估系统原型&#xff1a;以skill-vetter为例 最近在做一个前端开发技能评估系统&#xff0c;需要快速验证产品原型。传统开发流程从搭建环境到功能实现至少需要1-2周&#xff0c;但通过InsCode(快马)平台的AI辅助和现成模板&#xff0c;我只用了3天就…...

多平台资源下载解决方案:res-downloader实现数字内容自由获取

多平台资源下载解决方案&#xff1a;res-downloader实现数字内容自由获取 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 在数…...

AgentCPM-Report研报系统实操:Pixel Epic贤者响应延迟优化教程

AgentCPM-Report研报系统实操&#xff1a;Pixel Epic贤者响应延迟优化教程 1. 认识Pixel Epic智识终端 Pixel Epic是一款基于AgentCPM-Report大模型构建的创新研究报告辅助系统。与传统AI工具不同&#xff0c;它将枯燥的科研过程转化为一场像素风格的RPG冒险。在这个系统中&a…...

基于cv_unet_image-colorization的Python爬虫实战:自动化图像数据集着色

基于cv_unet_image-colorization的Python爬虫实战&#xff1a;自动化图像数据集着色 为计算机视觉项目快速构建高质量的彩色图像数据集 在计算机视觉项目中&#xff0c;获取高质量的标注数据集往往是最耗时耗力的环节。特别是当我们需要大量彩色图像数据时&#xff0c;手动收集…...

初识Git,带你深入学习Git相关的知识

在之前的博客中&#xff0c;我都会在博客的开头放一个gitee的链接。Gitee是什么呢&#xff1f;它是一个远程的代码托管库。在我们学习和项目管理的时候起着非常重要的作用。 本期我就带领着大家一起学习Git相关的知识内容。学习它的操作&#xff0c;了解其在企业级开发中的作用…...

从云端到指尖:巧用Aspose组件实现Office/PDF文档秒级HTML预览,攻克移动端大文件访问瓶颈

1. 移动端大文件预览的痛点与解决思路 最近接手一个企业级项目时&#xff0c;遇到了一个非常典型的场景&#xff1a;用户通过PC端上传各种办公文档&#xff08;Word、Excel、PPT、PDF&#xff09;&#xff0c;需要在移动端随时查看。但当文件体积较大时&#xff08;比如超过50M…...