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;

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

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

相关文章

2023年中国位置服务(LBS)产业链及市场规模分析[图]

卫星导航系统的高技术、高成本、高效益属性使其成为国家经济实力与科技实力的标志之一。卫星导航系统由空间段、地面段和用户段三个部分组成,已广泛用于交通运输、农林牧渔、航空航海等领域,服务载体包括手机、汽车、无人机、导弹等,对人们生…

nginx学习(3)Nginx 负载均衡

Nginx 负载均衡 实战案例 实现效果 浏览器地址栏输入地址 http://172.31.0.99/oa/a.html,负载均衡效果,平均在 8083 和 8084 端口中,刷新浏览器,显示不同 一、配置 1、先创建2个文件夹tomcat8083和tomcat8084,并将…

微信浏览器自动播放音频(兼容Android和iOS)

由于各大浏览器更新之后不再支持自动播放音频了,微信浏览器也同样如此,本人做项目有个页面需要使用到浏览器自动播放,这里需要用到微信浏览器,本人使用以下方式实现了微信浏览器在android和ios的自动播放功能 <!DOCTYPE html> <html lang"en"><head&g…

ChatGpt3.5已经应用了一段时间,分享一些自己的使用心得.

首先ChatGpt3.5的文本生成功能十分强大&#xff0c;但是chatgpt有一些使用规范大家需要注意&#xff0c;既然chat是一种工具&#xff0c;我们就需要学会它的使用说明&#xff0c;学会chatgpt的引用语句&#xff0c;会极大的方便我们的使用。我们需要做以下的准备。 明确任务和目…

挖掘PostgreSQL事务的“中间态”----更加严谨的数据一致性?

1.问题 今天在上班途中&#xff0c;中心的妹纸突然找我&#xff0c;非常温柔的找我帮忙看个数据库的报错。当然以我的性格&#xff0c;妹子找我的事情对我来说优先级肯定是最高的&#xff0c;所以立马放下手中的“小事”&#xff0c;转身向妹子走去。具体是一个什么样的问题呢…

unity-模块卸载重新安装

unity-模块卸载重新安装 发现模块错误&#xff1f;发现不可以卸载重装&#xff1f;... 依据以下步骤试试&#xff1a; 1. 删除模块文件夹&#xff08;以安卓模块为例&#xff09; 2. 找见编辑器模块json 3. 找见所有安卓相关模块修改selected为false&#xff1a;"sel…

在QGIS中加载显示3DTiles数据

“我们最近有机会在QGIS 3.34中实现一个非常令人兴奋的功能–能够以“Cesium 3D Tiles”格式加载和查看3D内容&#xff01;” ——QGIS官方的 宣传介绍。 体验一下&#xff0c;感觉就是如芒刺背、如坐针毡、如鲠在喉。 除非我电脑硬件有问题&#xff0c;要么QGIS的3Dtiles是真…

数据仓库高级面试题

数仓高内聚低耦合是怎么做的 定义 高内聚&#xff1a;强调模块内部的相对独立性&#xff0c;要求模块内部的元素尽可能的完成一个功能&#xff0c;不混杂其他功能&#xff0c;从而使模块保持简洁&#xff0c;易于理解和管理。 低耦合&#xff1a;模块之间的耦合度要尽可能的…

Redis数据类型–Geospatial 地理空间

目录 前言 命令 1、geoadd 1&#xff09;格式 2&#xff09;实例 2、geopos 1&#xff09;格式 2&#xff09;实例 3、geodist 1&#xff09;格式 2&#xff09;实例 4、georadius 1&#xff09;格式 2&#xff09;实例 前言 Redis 3.2 中增加了对GEO类型的支持。GEO&#xf…

markdown 公式编辑

参考&#xff1a;https://blog.csdn.net/qq_36584673/article/details/117167861

JavaScript闭包

JavaScript闭包 前言概念代码实例以及讲解闭包作用闭包缺点 前言 本文主要讲解JavaScript中的闭包&#xff0c;闭包是什么&#xff1f; 闭包&#xff08;closure&#xff09;是一个函数以及其捆绑的周边环境状态&#xff08;lexical environment&#xff0c;词法环境&#xff…

wpf devexpress 绑定数据编辑器

定义视图模型 打开前一个项目 打开RegistrationViewModel.cs文件添加如下属性到RegistrationViewModel类 [POCOViewModel] public class RegistrationViewModel {public static RegistrationViewModel Create() {return ViewModelSource.Create(() > new RegistrationVie…

OpenAI的Whisper蒸馏:蒸馏后的Distil-Whisper速度提升6倍

1 Distil-Whisper诞生 Whisper 是 OpenAI 研发并开源的一个自动语音识别&#xff08;ASR&#xff0c;Automatic Speech Recognition&#xff09;模型&#xff0c;他们通过从网络上收集了 68 万小时的多语言&#xff08;98 种语言&#xff09;和多任务&#xff08;multitask&am…

Golang环境搭建Win10(简洁版)

Golang环境搭建Win10 Golang环境搭建(Win10)一、前言二、Golang下载三、配置环境变量3.1、配置GOROOT3.2、配置GOPATH3.3、配置GOPROXY代理 Golang环境搭建(Win10) 一、前言 Go&#xff08;又称 Golang&#xff09;是 Google 的 Robert Griesemer&#xff0c;Rob Pike 及 Ken…

代码随想录算法训练营第五十九天 | LeetCode 739. 每日温度、496. 下一个更大元素 I

代码随想录算法训练营第五十九天 | LeetCode 503. 下一个更大元素 II、42. 接雨水 文章链接&#xff1a;下一个更大元素 II、接雨水 视频链接&#xff1a;下一个更大元素 II、接雨水 1. LeetCode 503. 下一个更大元素 II 1.1 思路 本题是给一个数组求右边第一个比当前元素大的…

大模型的语言能力

NLP作为一个领域为基础模型开辟了道路。虽然这些模型在标准基准测试中占据主导地位&#xff0c;但这些模型目前获得的能力与那些将语言描述为人类交流和思维的复杂系统的能力之间存在明显的差距。针对这一点&#xff0c;我们强调语言变异的全部范围&#xff08;例如&#xff0c…

用照片预测人的年龄【图像回归】

在图像分类任务中&#xff0c;卷积神经网络 (CNN) 是非常强大的神经网络架构。 然而&#xff0c;鲜为人知的是&#xff0c;它们同样能够执行图像回归任务。 图像分类和图像回归任务之间的基本区别在于分类任务中的目标变量&#xff08;我们试图预测的东西&#xff09;不是连续…

Perl的LWP::UserAgent库爬虫程序怎么写

Perl的LWP::UserAgent库是一个用于发送HTTP请求的Perl模块。它可以用于编写Web爬虫、测试Web应用程序、自动化Web操作等。以下是一个简单的使用LWP::UserAgent库发送HTTP GET请求的Perl脚本的例子&#xff1a; #!/usr/bin/perluse strict; use warnings; use LWP::UserAgent;# …

向量数据库——AI时代的基座

1.前言 向量数据库在构建基于大语言模型的行业智能应用中扮演着重要角色。大模型虽然能回答一般性问题&#xff0c;但在垂直领域服务中&#xff0c;其知识深度、准确度和时效性有限。为了解决这一问题&#xff0c;企业可以利用向量数据库结合大模型和自有知识资产&#xff0c;…

PY32F002B从压缩包到实现串口printf输出

最近学习使用芯领的PY32F002B开发板&#xff0c;记录学习历程供有同样需求的人参考。 本文主要讲述利用开发板实现printf语句串口输出。 开发环境的初步搭建 官方提供了一个压缩文件&#xff0c;文件名py32f002B_231026.zip&#xff0c; 链接&#xff1a;https://pan.baidu.c…