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]);// 获取文件信息ÿ…...
5. Spring源码篇之BeanDefinition
简介 在spring中BeanDefinition是一个接口,下面也有很多的实现类 大致如下 BeanDefinitionAbstractBeanDefinitionRootBeanDefinition 最终每个BeanDefinition都是一个 RootBeanDefinitionChildBeanDefinition 现在不用了废弃ÿ…...
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渲染绘图,那么获取图像里像素点对应的真实3D坐标是采用的OpenGL里提供的API实现的,结果一看代码还真不是这样,rviz也就渲染用了OpenGL,其他都是自己实现的,图像界面的实现完全是遵循MVC设计模式…...
响应体和状态码
后端响应体和状态码设计 主流技术:响应体 和 状态码结合使用 响应体:数据 响应 给前端的 格式 1、为什么要设计统一响应体? 1、系统默认提供许多的状态码,但HTTP的状态码数量有限。 通过修改响应返回的JSON数据,更好的表达业务中…...
CNN进展:AlexNet、VGGNet、ResNet 和 Inception
一、说明 对于初学者来说,神经网络进展的历程有无概念?该文综合叙述了深度神经网络的革命性突破,从AlexNet开始,然后深度VGG的改进,然后是残差网络ResNet和 Inception,如果能讲出各种特色改进点的和改进理由…...
数据的存储--MongoDB文档存储
MongoDB文档存储 NoSQL,全称为Not Only SQL,意为不仅仅是SQL,泛指非关系型数据库。NoSQL是基于键值对的,而且不需要经过SQL层的解析,数据之间没有耦合性,性能非常高。 非关系行数据库又可细分如下。 键值存…...
Notepad++ 通过HexEditor插件查看.hprof文件、heap dump文件的堆转储数据
文章目录 需求场景插件安装查看notepad的版本,看看是32位的还是64位的下载对应的版本解压导入插件打开notepad插件文件夹:Notepad安装目录新建一个HexEditor文件夹选中插件文件导入 重启notepad使用 需求场景 想要查看app内存的某个域的数据。 利用Andr…...
微服务学习 | Eureka注册中心
微服务远程调用 在order-service的OrderApplication中注册RestTemplate 在查询订单信息时,需要同时返回订单用户的信息,但是由于微服务的关系,用户信息需要在用户的微服务中去查询,故需要用到上面的RestTemplate来让订单的这个微…...
spring boot集成quartz
目录 1.定时任务实现 2.quartz说明 3.存储方式 4.示例 5.定时任务的重新定制,恢复,暂停及删除 1.定时任务实现 定时任务的实现方式有很多,如下: 1.启动类中添加EnableScheduling,开启定时任务功能,然…...
[Linux] yum仓库相关
一、yum仓库 1.1 yum简介 yum 是一种基于 RPM 软件包(Red-Hat Package Manager 的缩写)的软件更新机制,可自动解决软件包之间的依赖关系。这就解决了日常工作中花费大量时间寻找安装包的问题。 为什么会出现依赖 linux 本身就有简化系统的优…...
2023.11.15-hivesql之炸裂函数explode练习
把一个容器的多个数据炸裂出单独展示: explode(容器) 需求:将NBA总冠军球队数据使用explode进行拆分,并且根据夺冠年份进行倒序排序。 1.建表 --step1:建表 create table the_nba_championship(team_name string,champion_year array<string> ) row format…...
Linux - 内核 - 安全机制 - 内存页表安全
说明 内核页表安全的最终目标是:将内核使用到的内存页(内核与module占用)的属性(读/写/可执行)配置成安全的,即:代码段和rodata段只读,非代码段不能执行等,用来防御堆栈…...
Linux---(七)Makefile写进度条(三个版本)
文章目录 一、前提引入🎗️下面的代码什么现象?🎗️下面的代码什么现象? 二、缓冲区三、回车换行🎗️注意🎗️图解🎗️老式回车键造型(意思是充当两个动作)🎗…...
数据库分页查询
数据库只所以要分页查询,其实是界面显示的需要,不是数据库的需要。 数据库本身查询是很快的。本文章是针对这种情况的。 如果数据库本身查询慢,那是优化查询语句的事情了。不在本文章范围内。 今天遇到了这个问题。 是个老项目。在原有的查询…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...
深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
tomcat指定使用的jdk版本
说明 有时候需要对tomcat配置指定的jdk版本号,此时,我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...
Ubuntu系统多网卡多相机IP设置方法
目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机,交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息,系统版本:Ubuntu22.04.5 LTS;内核版本…...
Redis上篇--知识点总结
Redis上篇–解析 本文大部分知识整理自网上,在正文结束后都会附上参考地址。如果想要深入或者详细学习可以通过文末链接跳转学习。 1. 基本介绍 Redis 是一个开源的、高性能的 内存键值数据库,Redis 的键值对中的 key 就是字符串对象,而 val…...
