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

达梦数据库作业管理

一、基本功能

作业系统大致包含作业,警报,操作员三部分。
作业可运行DMPL/SQL脚本,定期备份数据库,检查等。可定时执行,也可通过警报触发执行,可产生警报通知用户状态。一个作业由多个步骤组成,对应数据库动作。
普通用户配置作业需要ADMIN JOB权限。
GRANT ADMIN JOB TO T_USER;
注意: ADMIN JOB 没有作业环境初始化SP_INIT_JOB_SYS(1)和作业环境销毁 SP_INIT_JOB_SYS(0)的权限。

1.1 创建作业环境

要使用作业,需要先创建作业环境。创建环境会在SYSJOB模式下创建十张表用来存储作业相关的对象,历史记录等。

SYSJOBS(保存作业信息)
SYSJOBSTEPS(保存步骤信息)
SYSJOBSCHEDULES(保存调度信息)
SYSMAILINFO(作业管理系统管理员信息)
SYSJOBHISTORIES2(保存作业的执行情况日志)
SYSSTEPHISTORIES2(保存作业步骤的执行情况)
SYSALERTHISTORIES(存储警报发生的历史记录日志)
SYSOPERATORS(已定义的操作员信息)
SYSALERTS(已定义的报警信息)
SYSALERTNOTIFICATIONS(警报需要通知的操作员信息,即警报与操作员的关联信息,只能有一个关联信息)
管理系统表
创建/删除作业相关系统表有两种方式:使用SP_INIT_JOB_SYS或用MANAGER工具。

使用系统过程创建表:

SP_INIT_JOB_SYS(1);

查看创建的系统表:

SELECT NAME AS "表名" FROM SYSOBJECTS WHERE SUBTYPE$='UTAB' AND SCHID IN (SELECT A.ID FROM SYSOBJECTS A,ALL_USERS B WHERE A.TYPE$='SCH' AND A.PID=B.USER_ID AND A.NAME='SYSJOB');

删除作业环境系统表,查看:

SP_INIT_JOB_SYS(0);

通过图形化创建时,直接在“代理”上右键,“创建代理环境”即可。

1.2 操作员

创建作业时必须指定操作员。创建操作员同样可以使用系统过程或图形化工具实现。
分别使用SP_CREATE_OPERATOR、 SP_ALTER_OPERATOR 和 SP_DROP_OPERATOR 三个过程来完成操作员的创建、修改和删除.

1.2.1 创建操作员

创建操作员TEST,指定邮箱和IP。

SP_CREATE_OPERATOR('TEST',1,'邮箱','IP');
SELECT *FROM SYSJOB.SYSOPERATORS;

1.2.2 修改操作员

操作员名称不可修改。其余内容修改使用系统过程SP_ALTER_OPERATOR();

SP_ALTER_OPERATOR('TEST',1,'邮箱','IP');
SELECT *FROM SYSJOB.SYSOPERATORS;

1.2.3 删除操作员

使用系统过程SP_DROP_OPERATOR();

SP_DROP_OPERATOR('TEST');
SELECT *FROM SYSJOB.SYSOPERATORS;

1.3 作业

通过系统过程创建,修改,删除作业。

1.3.1 创建作业

SP_CREATE_JOB();
创建作业FULL_BAK,启用,关闭邮件系统,邮件通知操作员名称为空,EMAIL_TYPE为0,关闭网络发送,网络信息通知操作员名称为空, NESTEND为0,描述为测试作业

SP_CREATE_JOB('FULL_BAK',1,0,'',0,0,'',0,'FULL BAKUP DATABASE');

创建完成后会在SYSJOBS表中插入记录。

1.3.2 修改作业

除作业名不可修改外,其他参数可使用SP_ALTER_JOB修改。

SP_ALTER_JOB('FULL_BAK',1,0,'',0,0,'',0,'ECN BACKUP DATABASE');

1.3.3 删除作业

SP_DROP_JOB();
删除作业FULL_BAK

SP_DROP_JOB('FULL_BAK');

1.4 配置作业

作业创建完成后需要配置才能执行,配置主要包括一下步骤:
开始配置
指定要配置的作业
增加步骤
增加调度
结束配置

使用SP_JOB_CONFIG_START();
开始配置到结束配置期间,当前会话处于作业配置状态,不允许对作业对象做修改,创建,删除操作。

1.4.1 开始配置

SP_JOB_CONFIG_START('FULL_BAK');

1.4.2 增加步骤

给FULL_BAK增加步骤,步骤名SETP_FULL_BAK, 类型为6,执行语句01000900/home/dmdba/dmdbms/data/DAMENG/bak/all,执行成功后报告成功,失败后报告并结束,不重试

SP_ADD_JOB_STEP('FULL_BAK', 'SETP_FULL_BAK', 6, '01000900/home/dmdba/dmdbms/data/DAMENG/bak/all', 1, 2, 0, 0, NULL, 0);

1.4.3 修改步骤

使用SP_ALTER_JOB_STEP()函数,参数设置同创建。

删除步骤
SP_DROP_JOB_SETP();
删除FULL_BAK作业的SETP_FULL_BAK步骤。

SP_DROP_JOB_STEP('FULL_BAK','SETP_FULL_BAK');

1.4.4 作业调度

必须再配置开始后进行。
增加调度
增加调度FULL_BAK_ONE,启用,只执行一次

SP_ADD_JOB_SCHEDULE('FULL_BAK', 'FULL_BAK_ONE', 1, 0, 0, 0, 0, NULL, NULL, '2021-04-19 17:38:00', NULL, '');

修改调度
修改使用SP_ALTER_JOB_SCHEDULE函数,参数同创建。

删除调度
SP_DROP_JOB_SCHEDULE();
删除FULL_BAK_ONE

SP_DROP_JOB_SCHEDULE('FULL_BAK','FULL_BAK_ONE');

结束配置
配置完成后,结束作业配置。这时提交前面所作的操作,并将这个作业加入到运行队列。

SP_JOB_CONFIG_COMMIT('FULL_BAK');

注意:不支持在设置了DML自动提交的会话上配置作业(如DISQL设置SET AUTO ON)

查看,清除作业日志
查看表SYSJOBS可以看到作业信息。

SELECT *FROM SYSJOB.SYSJOBS;

清除作业日志记录

SP_JOB_CLEAR_HISTORIES('FULL_BAK');

1.5 警报

警报信息通过SP_CREATE_ALTERT定义,存储在SYSALTERTS表中。

定义一个错误码警报

SP_CREATE_ALERT('ALERT_01',1, 0, 1, -600, 1, '错误码测试');

修改警报
使用SP_ALTER_ALERT();

SP_ALTER_ALERT('ALERT_01', 1, 1, 1, 15, 1, '修改警报测试');

删除警报
使用SP_DROP_ALERT();
删除AERT_01

SP_DROP_ALERT('ALERT_01');

相关文章:

达梦数据库作业管理

一、基本功能 作业系统大致包含作业,警报,操作员三部分。 作业可运行DMPL/SQL脚本,定期备份数据库,检查等。可定时执行,也可通过警报触发执行,可产生警报通知用户状态。一个作业由多个步骤组成&#xff0c…...

数据结构-考研难点代码突破(C++实现树型查找-二叉搜索树(二叉排序树))

文章目录1.二叉搜索树基本操作二叉搜索树的效率分析2. C实现1.二叉搜索树基本操作 二叉排序树是具有下列特性的二叉树: 若左子树非空,则左子树上所有结点的值均小于根结点的值。若右子树非空,则右子树上所有结点的值均大于根结点的值。左、…...

emqx异常处理

启动异常 通过解压tar压缩包安装后通过 ./bin/emqx start 启动报错 WARNING: Default (insecure) Erlang cookie is in use. WARNING: Configure node.cookie in /opt/emqx/etc/emqx.conf or override from environment variable EMQX_NODE__COOKIE NOTE: Use the same config…...

Web前端:开始学习ReactJS需要知道什么?

毫无疑问,ReactJS是前端开发者中最著名的库之一,它的受欢迎程度与日俱增。用ReactJS构建的网站看起来非常棒,大多数开发新手都被它吸引住了。然而,许多新人和有经验的开发人员在没有首先了解先决条件的情况下,就直接用…...

卡诺图化简

1.相关概念 最小项:函数的某个乘积项包含了函数的全部变量(原变量或反变量的形式),且每个变量仅出现一次,则这个乘积项为该函数的一个标准积项。 最小项中的原变量记为1,反变量记为0,当变量顺序…...

带你了解软件测试是做什么的

软件测试是互联网技术中一门重要的学科,它是软件生命周期中不可或缺的一个环节,担负着把控、监督软件的质量的重任。 人才稀缺,对于求职者来说就意味着机会。但是很多想学习软件测试的人对这个学科并不了解,也不知道该如何学习&a…...

企业电子招投标采购系统源码之功能模块功能描述

​ 功能模块: 待办消息,招标公告,中标公告,信息发布 描述: 全过程数字化采购管理,打造从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。通供应商门户具备内外协同的能力,为外…...

职场中的高手,是如何高质量解决问题?

职场总会遇见很多新问题,高手会从容应对,因为他们学习了一套通 用理论,可以处理工作当中的大部分内容,剩下的一部分能够用快速 提问的方式找到思路。 记得几年前有个同事 A,下午四点多项目突然丢过来一个活&#xff0c…...

报表生成工具Stimulsoft中的电子签名和 PDF 数字签名

Stimulsoft Reports 是一款报告编写器,主要用于在桌面和Web上从头开始创建任何复杂的报告。可以在大多数平台上轻松实现部署,如ASP.NET, WinForms, .NET Core, JavaScript, WPF, Angular, Blazor, PHP, Java等,在你的应用程序中嵌入报告设计器…...

【Hello Linux】Linux环境下写的第一个程序 -- 进度条

作者:小萌新 专栏:Linux 作者简介:大二学生 希望能和大家一起进步! 本篇博客简介:写出Linux中的第一个小程序 进度条 进度条小程序行缓冲区概念\r 和 \n进度条代码和演示行缓冲区概念 我们首先用两段代码来感受下行缓…...

【基础】性能测试,从0到实战(手把手教,非常实用)

一、性能基础 什么是性能测试--->本质? 基于协议来模拟用户发送的请求(业务模拟),对服务器形成一定负载。关注点:时间性能、空间性能与界面无关 性能测试分类 性能测试(狭义) 性能测试方法是通过模…...

07-Java异常分类以及处理机制

1.异常概念 Java标准库内建了一些通用的异常,这些类以Throwable为顶层父类。Throwable又派生出Error类和Exception类。 1.错误:是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示…...

用到的C++的相关知识-----未完待续

文章目录前言一、vector函数的使用1.1 构造向量二、常用函数2.1 矩阵输出函数2.2 向量输出函数2.3 矩阵的使用2.4三、new的用法3.1 内存的四种分区3.2 new的作用3.33.4四、4.14.24.34.4总结前言 只是为方便学习,不做其他用途 一、vector函数的使用 有关的文章 C v…...

JavaScript刷LeetCode拿offer-贪心算法

前言 学习算法的时候,总会有一些让人生畏的名词,比方动态规划,贪心算法 等,听着就很难;而这一 part 就是为了攻破之前一直没有系统学习的 贪心算法; 有一说一,做了这些贪心题,其实…...

selenium

下载并安装selenium 安装:cmd中执行 pip install -i https://pypi.douban.com/simple selenium执行完成后 pip show selenium 可查看安装是否成功安装浏览器驱动,查看当前浏览器的版本选择合适的驱动并下载 chrome的链接:https://chromedrive…...

SpringMVC的视图

转发视图ThymeleafView若使用的视图技术为Thymeleaf,在SpringMVC的配置文件中配置了Thymeleaf的视图解析器,由此视图解析器解析之后所得到的是ThymeleafView。解析:当控制器方法中所设置的视图名称没有任何前缀时,此时的视图名称会…...

idea使用本地代码远程调试线上运行代码---windows环境

场景: 今天在书上看了一个代码远程调试的方法,自己本地验证了一下感觉十分不错!! windows环境: 启动测试jar包:platform-multiappcenter-base-app-1.0.0-SNAPSHOT.jar 测试工具:postman,idea 应…...

简单记录简单记录

目录1.注册Gmail2.注册ChatGPT3.验证“真人”使用4.开始使用1.注册Gmail 第一步先注册一个谷歌邮箱,你也可以使用微软账号,大部分人选择使用gmail。 申请谷歌邮箱 选择个人用途创建账号即可。 📌温馨提示: 你直接使用guo内的网…...

源码系列 之 ThreadLocal

简介 ThreadLocal的作用是做数据隔离,存储的变量只属于当前线程,相当于当前线程的局部变量,多线程环境下,不会被别的线程访问与修改。常用于存储线程私有成员变量、上下文,和用于同一线程,不同层级方法间传…...

C语言入门(1)——特点及关键字

1、C特点及与Java区别 1.1、C特点 面向过程 一般用于嵌入式开发、编写最底层的程序、操作系统 可以直接操作内存 可以封装动态库 不容易跨平台 有指针 可以直接操作串口 线程更加灵活 和硬件打交道速度是最快的 1.2、和Java区别 C是C的增强版,增加了一些新的特性&…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

【C++进阶篇】智能指针

C内存管理终极指南&#xff1a;智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...

STM32HAL库USART源代码解析及应用

STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...

springboot 日志类切面,接口成功记录日志,失败不记录

springboot 日志类切面&#xff0c;接口成功记录日志&#xff0c;失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...