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

虚谷数据库-定时作业

虚谷数据库提供定时作业机制,用于定时、定期、自动的进行某些操作,可通过系统包 dbms_scheduler 进行定时作业创建、调度、查看、删除等。

DBMS_SCHEDULER 系统包封装了以下过程/函数:ENABLE、DISABLE、SET_JOB_ARGUMENT_VALUE、DROP_JOB、RUN_JOB。

过程/函数含义如下:

DBMS_SCHEDULER.ENABLE(job_name):表示启用作业。 DBMS_SCHEDULER.DISABLE(job_name,TURE):表示禁用作业。 DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE(job_name,param_order,param_val):表示对 job 调用存储过程进行参数赋值,param_order 为参数序,param_val 为参数值。 DBMS_SCHEDULER.RUN_JOB(job_name,TRUE):表示显式调用定时作业。 DBMS_SCHEDULER.DROP_JOB(job_name,TRUE):表示删除定时作业。

1、作业的创建

语法格式

DBMS_SCHEDULER.CREATE_JOB (job_name             IN VARCHAR2,job_type             IN VARCHAR2,job_action           IN VARCHAR2,number_of_arguments  IN PLS_INTEGER              DEFAULT 0,start_date           IN TIMESTAMP                DEFAULT NULL,repeat_interval      IN VARCHAR2                 DEFAULT NULL,end_date             IN TIMESTAMP                 DEFAULT NULL,job_class            IN VARCHAR2                 DEFAULT 'DEFAULT_JOB_CLASS',enabled              IN BOOLEAN                  DEFAULT FALSE,auto_drop            IN BOOLEAN                  DEFAULT TRUE,comments             IN VARCHAR2                 DEFAULT NULL);

参数解释:

  • job_name:作业名称。
  • job_type:作业类型,可指定为stored_procedure、plsql_block或plsql_command;若为stored_procedure则job_action内容为数据库存储过程名称;若为plsql_block则job_action为可执行块语句;若为plsql_command则job_action可调用包中的存储过程或存储函数。
  • job_action:作业动作,与job_type相关。
  • number_of_arguments:作业中存储过程、存储函数或包的参数个数。
  • start_date:作业开始时间。
  • repeat_interval:作业重复间隔说明。
  • end_date:作业结束时间。
  • job_class:作业类型——该参数暂时无效,预留。
  • enabled:作业是否已激活,若该参数置为true则表示该作业默认为启用状态,作业根据其计划自动运行,若该参数置为false则该作业为禁用状态,不会自动执行,需手动执行作业或将该作业启用后方可自动执行。
  • auto_drop:作业执行完是否自动删除。若该参数置为true则在作业完成后将自动删除作业,反之不会删除该作业。
  • comments:作业备注说明。

参数说明:

  • repeat_interval结构为REPEAT_INTERVAL=>’Freq=Minutely;Interval=5’ Freq关键字用于指定作业间隔的时间周期,可选参数包括:YEARLY(年)、MONTHLY(月)、WEEKLY(周)、DAILY(日)、HOURLY(小时)、MINUTELY(分)、SECONDLY(秒)。
  • Interval关键字用于指定作业间隔频度,该值为一个整数,默认为1,可指定范围为1-999。
  • repeat_interval参数除了以上两个限制条件外,还可指定:
    • BYHOUR:指示定时作业在指定小时执行,可指定范围 0-23,若要指定多个时间参数使用逗号进行分割,如BYHOUR=2,5,7。
    • BYDAY:指示在每周的第几天运行,可使用数字或英文缩写,如:MON|TUE|WED|THU|FRI|SAT|SUN等。
    • BYMONTHDAY:指示在每月的第几天运行。
    • BYMONTH:指示在每年的月份,可使用数字或英文缩写,如:JAN|FEB|MAR|APR|MAY|JUN等。

示例1

基于存储过程的定时作业。

CREATE TABLE JOB_TEST(ID INT,DT DATETIME);CREATE OR REPLACE PROCEDURE JOB_PROC1(INPUT INTEGER) IS
BEGININSERT INTO JOB_TEST VALUES (INPUT, SYSDATE);
END;EXEC dbms_scheduler.create_job('job1','stored_procedure','JOB_PROC1',1,sysdate,'freq=secondly;INTERVAL=30;byhour=5,14;','2029-01-01 01:00:00','default_class',FALSE,TRUE,'这是一个测试');

示例2
基于PLSQL块语句的定时作业

EXEC dbms_scheduler.create_job('job2','plsql_block','DECLARE BEGIN FOR i IN 1..10 LOOP INSERT INTO JOB_TEST VALUES(i,sysdate);END LOOP;END;',0,sysdate,'freq=secondly;INTERVAL=30;byhour=5,14;','2029-01-01 01:00:00','default_class',FALSE,TRUE,'这是一个测试');

2、过程/函数的使用

(1)DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE

DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE该过程用于设置作业的参数信息。可通过位置绑定参数也可以通过参数名称绑定参数。

语法格式

-- argument_value支持VARCHAR2、TINYINT、SMALLINT、INTEGER、BIGINT、FLOAT、DOUBLE、NUMERIC、BOOLEAN、TIME、DATE、DATETIME数据类型,此处语法仅列出VARCHAR2类型作为参考。DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE (job_name               IN VARCHAR2,argument_position      IN PLS_INTEGER,argument_value         IN VARCHAR2);DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE (job_name               IN VARCHAR2,argument_name          IN VARCHAR2,argument_value         IN VARCHAR2);

参数解释:

  • job_name:需要设置参数的作业名称。
  • argument_position:需要设置参数值的参数位置。
  • argument_name:需要设置参数值的参数名称。
  • argument_value:设置的参数值,该处根据参数值类型自动选择重载的存储过程。

示例:

SET_JOB_ARGUMENT_VALUE
BEGINDBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE(job_name        => 'job1',argument_name   => 'INPUT',argument_value  => 100);
END;
/


上面这个示例是使用 ​DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE​ 过程来更新名为 ​job1​ 的作业的参数 ​INPUT​ 的值为 ​100​。

(2)SET_ATTRIBUTE

​DBMS_SCHEDULER.SET_ATTRIBUTE​ 该存储过程用于修改定时作业属性值,而不是参数。如果你想修改作业的某些属性,例如作业的名称、作业的开始时间、作业的结束时间等,你可以使用​SET_ATTRIBUTE​。

语法格式如下:

DBMS_SCHEDULER.SET_ATTRIBUTE (name           IN VARCHAR2,attribute      IN VARCHAR2,value          IN {VARCHAR2 | TIMESTAMP | PLS_INTEGER | BOOLEAN});

参数解释:

  • name:需要修改属性的作业名称。
  • attribute:需要修改的属性名称。
  • value:修改的属性对应的新值,该参数可接受VARCHAR2、TIMESTAMP、PLS_INTEGER、BOOLEAN数据类型的值。

示例:

BEGINDBMS_SCHEDULER.SET_ATTRIBUTE(name => 'job1',attribute => 'repeat_interval',value => 'freq=secondly;INTERVAL=15;byhour=5,14;');
END;
/


在这个例子中,展示了如何使用 ​SET_ATTRIBUTE​ 来修改作业的间隔时间,我们将 ​job1​ 作业的重复间隔从原来的 ​30​ 秒修改为 ​15​ 秒,并且保持 ​byhour​ 属性为 ​5,14​,这意味着作业将在每天的 ​5​ 点和 ​14​ 点执行。


(3)RUN_JOB

RUN_JOB该存储过程用于显式调用作业

语法格式如下:

DBMS_SCHEDULER.RUN_JOB (job_name                IN VARCHAR2,use_current_session     IN BOOLEAN DEFAULT TRUE);

参数解释:

  • job_name:调用的作业名称。
  • use_current_session:参数选用true时表示使用当前会话执行该作业,若作业未执行完成则当前连接会话一直处于阻塞状态直至作业完成后方可执行其他SQL;若参数选用false则表示使用其他会话执行该作业,当前会话可继续执行其他SQL。

示例:

BEGINDBMS_SCHEDULER.RUN_JOB(job_name => 'job1');
END;
/


DBMS_SCHEDULER.RUN_JOB​ 函数被调用来立即运行名为 ​job1​ 的作业。这个函数会立即触发作业的执行,即使作业的计划时间还没有到达。

(4)ENABLE、DISABLE

ENABLE存储过程用于启用作业,将作业是否启用属性设置为true,然后作业根据其开始时间、结束时间和间隔时间自动运行作业。
DISABLE存储过程用于禁用作业同ENABLE作用相反。

语法格式如下:

DBMS_SCHEDULER.ENABLE (name                  IN VARCHAR2);DBMS_SCHEDULER.DISABLE (name                  IN VARCHAR2,force                 IN BOOLEAN DEFAULT FALSE);

参数解释:

  • name:禁用或启用的作业名称。
  • force:如果设置为true则需先停止正在运行的作业实例,再禁用作业;如果设置为false则允许正在运行的作业执行完成,然后再禁用作业。

示例:

--enable启用作业
BEGINDBMS_SCHEDULER.ENABLE(name => 'job1');
END;
/--disable禁用作业
BEGINDBMS_SCHEDULER.DISABLE(name => 'job1');
END;
/

在这两个例子中,​name => 'job1'​ 参数指定了要启用或禁用的作业的名称。执行 ​DBMS_SCHEDULER.ENABLE​ 后,作业将开始按照其计划运行。执行 ​DBMS_SCHEDULER.DISABLE​ 后,作业将停止运行,直到再次被启用

(5)DROP_JOB

DROP_JOB该存储过程用于删除作业。

语法格式如下:

DBMS_SCHEDULER.DROP_JOB (job_name               IN VARCHAR2,force                  IN BOOLEAN DEFAULT FALSE);

参数解释:

  • job_name:删除的作业名称。
  • force:如果设置为true则需先停止正在运行的作业实例,再删除作业;如果设置为false则允许正在运行的作业执行完成,然后再删除这些作业。

示例:


BEGINDBMS_SCHEDULER.DROP_JOB(job_name => 'job1');
END;
/


在这个例子中,​job_name => 'job1'​ 参数指定了要删除的作业的名称。执行 ​DBMS_SCHEDULER.DROP_JOB​ 后,名为 ​job1​ 的作业将从数据库中被永久删除。

相关文章:

虚谷数据库-定时作业

虚谷数据库提供定时作业机制,用于定时、定期、自动的进行某些操作,可通过系统包 dbms_scheduler 进行定时作业创建、调度、查看、删除等。 DBMS_SCHEDULER 系统包封装了以下过程/函数:ENABLE、DISABLE、SET_JOB_ARGUMENT_VALUE、DROP_JOB、R…...

AWD攻防比赛流程手册

AWD简单介绍: AWD:Attack With Defence,即攻防对抗,比赛中每个队伍维护多台服务器(一般两三台,视小组参赛人数而定),服务器中存在多个漏洞(web层、系统层、中间件层等&am…...

Golang的json解析--Gjson库的使用举例

目录 简介 安装 原生的json解析 Gjson使用举例 基本使用 键路径 使用示例 其他资源 简介 在 Golang 中,解析 JSON 数据是一项非常常见的任务。Go提供了标准的JSON包,可以轻松地将JSON数据序列化和反序列化。但是,在使用标准JSON包…...

基于Langchain构建本地大型语言模型(LLM)问答系统的经验分享

基于Langchain构建本地大型语言模型(LLM)问答系统的经验分享 https://download.csdn.net/download/xziyuan/89334371?spm1001.2101.3001.9500 最近,我一直在探索如何利用Langchain来构建一个本地的大型语言模型问答系统。在这个过程中&…...

对抗式生成模仿学习(GAIL)

目录 1 预先基础知识 1.1 对抗生成网络(GAN) 1.1.1 基本概念 1.1.2 损失函数 1.1.2.1 固定G,求解令损失函数最大的D 1.1.2.2 固定D,求解令损失函数最小的G 1.2 对抗式生成模仿学习特点 2 对抗式生成模仿学习(…...

信息系统项目管理师 | 新一代信息技术

关注WX:CodingTechWork 物联网 定义 The Internet of Things是指通过信息传感设备,按约定的协议,将任何物品与互联网连接,进行信息交互和通信,以实现智能化识别。定位、跟踪、监控和管理的一种网络。物联网主要解决…...

安全宣传咨询日活动向媒体投稿记住这个投稿好方法

在信息爆炸的时代,作为单位的信息宣传员,我肩负着将每一次重要活动,特别是像“安全宣传咨询日”这样的公益活动,有效传达给公众的重任。这份工作看似简单,实则充满了挑战,尤其是在我初涉此领域时,那段曲折而又难忘的投稿经历,至今记忆犹新。 初探投稿之海,遭遇重重困难 起初,我…...

第7章:系统架构设计基础知识-软件架构风格

由于历史原因,研究者和工程人员对Sofiware Architecture(简称SA)的翻译不尽相同,其软件的“体系结构”和“架构”具有相同的含义。 系统架构其实就是系统的结构,系统架构设计其实就是要给相关利益方说清楚通过什么样的结构来解决需求中功能和…...

自制调色小工具给图片加滤镜,修改图片红、绿、蓝通道及亮度,修改图片颜色

上篇: 上篇我们给地图添加了锐化、模糊等滤镜,这篇来写一个小工具给图片调色。 调色比锐化等滤镜要简单许多,直接拿到像素值修改即可。不需要用到卷积核。。。(*^▽^*) 核心原理就是图像结构,使用context.getImageData获取图像像…...

【Redis】java客户端(SpringData和jedis)

https://www.oz6.cn/articles/58 https://www.bilibili.com/video/BV1cr4y1671t/?p16 redis官网客户端介绍&#xff1a;https://redis.io/docs/latest/develop/connect/clients/ jedis maven引入依赖 <dependencies><!--引入Jedis依赖--><dependency><…...

大数据安全经典面试题及回答(上)

目录 一、大数据安全的主要挑战及应对策略 二、大数据安全中的“五个V”及其影响 三、在Hadoop集群中实施数据加密的步骤和注意事项 四、在大数据环境中实施访问控制和身份认证 五、大数据环境中数据备份和恢复的策略 六、大数据处理过程中保护用户隐私的策略 七、大数据…...

vi/vim使用命令

你是否在编辑文件时以为键盘坏了&#xff0c;为什么不能删除呢&#xff0c;为什么不能敲代码呢&#xff0c;当你初识vi&#xff0c;会觉得这个东西设计很难用&#xff0c;这篇教程带你熟练得用上这款经典的工具&#xff0c;当你熟练了这款工具就会真正体会到高效率打码 Vi 是在…...

webpack打包gz文件,nginx开启gzip压缩

wepback配置 webpack4配合"compression-webpack-plugin": "^6.1.2"打包压缩gz chain.plugin("compression").use(new CompressionPlugin({test: /\.js$|\.html$|\.css$/,threshold: 10240, // 超过10KB的压缩deleteOriginalAssets: false,// 保…...

微服务开发与实战Day11 - 微服务面试篇

一、分布式事务 1. CAP定理 1998年&#xff0c;加州大学的计算机科学及Eric Brewer提出&#xff0c;分布式系统有三个指标&#xff1a; Consistency&#xff08;一致性&#xff09;Availability&#xff08;可用性&#xff09;Partition tolerance&#xff08;分区容错性&am…...

基于Spring Boot+VUE职称评审管理系统

1管理员功能模块 管理员登录&#xff0c;通过填写注册时输入的用户名、密码、角色进行登录&#xff0c;如图1所示。 图1管理员登录界面图 管理员登录进入职称评审管理系统可以查看首页、个人中心、用户管理、评审员管理、省份管理、评审条件管理、职称申请管理、结果公布管理、…...

MySQL 基本语法讲解及示例(上)

第一节&#xff1a;MySQL的基本操作 1. 创建数据库 在 MySQL 中&#xff0c;创建数据库的步骤如下&#xff1a; 命令行操作 打开 MySQL 命令行客户端或连接到 MySQL 服务器。 输入以下命令创建一个数据库&#xff1a; CREATE DATABASE database_name;例如&#xff0c;创建一…...

6.18作业

完善对话框&#xff0c;点击登录对话框&#xff0c;如果账号和密码匹配&#xff0c;则弹出信息对话框&#xff0c;给出提示”登录成功“&#xff0c;提供一个Ok按钮&#xff0c;用户点击Ok后&#xff0c;关闭登录界面&#xff0c;跳转到其他界面 如果账号和密码不匹配&#xff…...

Excel文件转换为HTML文件

文章目录 前言安装python包python代码 前言 将一个Excel文件转换为HTML文件 安装python包 使用pandas和openpyxl库来实现这个功能 pip install pandas openpyxlpython代码 1、首先使用tkinter库中的filedialog模块弹出一个对话框来选择要转换的Excel文件 2、使用pandas库…...

MySQL数据库入门

1、MySQL概述 MySQL官方网站 https://www.mysql.com/downloads/ MySQL被Oracle公司收购了&#xff0c;作者又重新编写了一个开源的数据库管理系统&#xff0c;Mariadb 2、MySQL产品&版本 2、数据库在网站架构中的角色 LAMP LNMP网站架构 3、安装MySQL-基于yum 查…...

vue element-ui 下拉框 以及 input 限制输入,小数点后保留两位 界面设计案例 和 例子:支持mp4和m3u8视频播放

vue input 限制输入&#xff0c;小数点后保留两位 以及 图片垂直居中显示 和 分享 git 小技巧-CSDN博客文章浏览阅读430次&#xff0c;点赞5次&#xff0c;收藏4次。error:Your local changes to the following files would be overwritten by merge:_error: your local change…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹&#xff0c;并新增内容 3.创建package文件夹...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; ①每个分类下的菜品保持一份缓存数据…...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例&#xff0c;模拟20个网页的爬取&#xff0c;每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程&#xff1a;允许程序同时执行多个任务&#xff0c;提高IO密集型任务&#xff08;如网络请求&#xff09;的效率…...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

SQL慢可能是触发了ring buffer

简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...

毫米波雷达基础理论(3D+4D)

3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文&#xff1a; 一文入门汽车毫米波雷达基本原理 &#xff1a;https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...

多元隐函数 偏导公式

我们来推导隐函数 z z ( x , y ) z z(x, y) zz(x,y) 的偏导公式&#xff0c;给定一个隐函数关系&#xff1a; F ( x , y , z ( x , y ) ) 0 F(x, y, z(x, y)) 0 F(x,y,z(x,y))0 &#x1f9e0; 目标&#xff1a; 求 ∂ z ∂ x \frac{\partial z}{\partial x} ∂x∂z​、 …...

pgsql:还原数据库后出现重复序列导致“more than one owned sequence found“报错问题的解决

问题&#xff1a; pgsql数据库通过备份数据库文件进行还原时&#xff0c;如果表中有自增序列&#xff0c;还原后可能会出现重复的序列&#xff0c;此时若向表中插入新行时会出现“more than one owned sequence found”的报错提示。 点击菜单“其它”-》“序列”&#xff0c;…...