news 2026/4/23 15:01:31

运维系列数据库系列【仅供参考】:DM JOB作业的邮件发送

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
运维系列数据库系列【仅供参考】:DM JOB作业的邮件发送

DM JOB作业的邮件发送

  • DM JOB作业的邮件发送
    • 摘要
    • 正文




DM JOB作业的邮件发送

摘要

本文详细介绍了如何在DM数据库和Oracle中利用DM作业系统与DBMS SCHEDULER系统包设置定时作业,以便在JOB执行完毕后自动发送邮件通知。涵盖了初始化作业环境、配置代理属性、创建作业与警报、邮件发送设置等内容。

正文

对于DBA来说,有时需要及时了解重要JOB的执行结果,此时可以设置定时作业的邮件发送,当作业执行完成后,将执行结果知会相关责任人。

本章介绍两种JOB邮件发送方法:使用DM作业系统和使用DBMS_SCHEDULER系统包。

本章内容已在如下环境上测试:

源数据库:中标麒麟7,达梦数据库DM8;

相关关键字:JOB作业、DBMS_SCHEDULER、邮件发送

GAN HUO

DM作业系统邮件发送

1、创建代理环境(初始化作业环境)

使用DM作业系统之前,需要使用SP_INIT_JOB_SYS函数初始化作业环境。

call SP_INIT_JOB_SYS(1);
或者在DM管理工具界面创建代理环境。

使用SYSDBA登录DM管理工具,右击“代理”,选择“创建代理环境”。

创建代理环境之后,“代理”页签下生成作业、警报、操作员三个页签功能。

2、配置监控作业
监控作业把作业的运行情况通过电子邮件发送给作业操作员。邮件成功发送的前提有两个:一是为监控服务配置管理员;二是开启监控服务。

① 配置代理属性(添加管理员)

在创建的代理环境页签,右击选择“配置代理属性”:

打开“配置代理环境属性”页签,选择“添加”打开代理属性页签,填写登录名(用户名为数据库中实际存在的用户,不能同名)、登录密码、邮箱服务器等信息;如果邮箱服务器要求身份验证,则需填写验证的用户名、密码信息。

配置完成之后可以看到添加的管理员信息。

也可以直接使用存储过程添加配置管理员代理属性。

call sp_add_mail_info(login_name=>‘SYSDBA’,login_pwd=>‘SYSDBA’,smtp_server=>‘smtp.dameng.com’,email=>‘test@dameng.com’,user_name=>‘test@dameng.com’,user_pwd=>******);

② 配置和启动DmJobMonitorService服务

可以使用DM服务查看器配置和启动DmJobMonitorService作业服务:

也可以执行dmjmon命令启动作业服务(启动时需指定连接的数据库用户名、密码、IP、端口等信息):

[dmdba@localhost~]$ dmjmon userid=SYSDBA/dameng123:5236initial monitor system … SYSTEM IS READY.

3、创建操作员
在代理页签下,选择“操作员”,右击选择“新建操作员”,输入操作员信息。

或者直接执行存储过程创建操作员:

call sp_create_operator(opr_name=>upper(‘operator01’),enabled=>1,emailaddr=>‘test01@dameng.com’,netsend_ip=>127.0.0.1);

4、创建作业,开启邮件发送

新建作业,或者修改已有的作业,设置开启邮件发送,发送给相关操作员。


5、运行作业,检验邮件发送是否成功
等待作业自动运行,或者手工调用JOB:

select*fromdba_jobs;call dbms_job.run(1618542973);

查看JOB历史运行信息,可以看到邮件发送成功:

DBMS_SCHEDULER邮件发送

DBMS_SCHEDULER系统包兼容Oracle的DBMS_SCHEDULER包的常用方法,提供一系列调度相关的存储过程及方法,支持作业的邮件发送。

1、创建DBMS_SCHEDULER环境

DM数据库实例创建之后,默认不创建DBMS_SCHEDULER系统包,第一次使用需要调用SP_INIT_DBMS_SCHEDULER_SYS创建DBMS_SCHEDULER系统包环境。

call SP_INIT_DBMS_SCHEDULER_SYS(1);

2、配置全局调度属性

使用邮件发送功能,需要设置邮件发送的相关属性,比如邮件服务器、端口、邮箱地址等信息,调用SET_SCHEDULER_ATTRIBUTE方法设置调度属性:‍‍‍‍‍‍‍‍‍‍‍

begin dbms_scheduler.set_scheduler_attribute(‘email_server’,‘smtp.dameng.com’);dbms_scheduler.set_scheduler_attribute(‘email_sender’,‘test@dameng.com’);dbms_scheduler.set_scheduler_attribute(‘email_port’,25);dbms_scheduler.set_scheduler_attribute(‘email_password’,******);dbms_scheduler.set_scheduler_attribute(‘email_mimetype’,‘TEXT/PLAIN;CHARSET=GB18030’);end;/

3、创建作业

DBMS_SCHEDULER创建作业的方法有多种,支持调用SQL脚本和存储过程,使用时间日历表达式,这里直接使用CREATE_JOB调用存储过程创建JOB:

begin dbms_scheduler.create_job(job_name=>upper(‘test_scheulerjob01’),job_type=>‘STORED_PROCEDURE’,job_action=>‘p_test_scheduler’,repeat_interval=>‘FREQ=minutely;INTERVAL=10;bysecond=30,enabled=>true);commit;end;

4、添加作业邮件通知

调用ADD_JOB_EMAIL_NOTIFICATION方法添加该作业的邮件通知:

begin dbms_scheduler.add_job_email_notification(Job_name=>‘test_scheulerjob01’,Recipients=>‘test@dameng.com’,Sender=>‘test@dameng.com’,events=>‘JOB_ALL_EVENTS’);end;/

5、运行作业,检验邮件发送是否成功

等待作业自动运行,或者手工调用JOB,查看邮件发送情况:

call dbms_scheduler.run_job(upper(‘test_scheulerjob01’));







yangeoooo

DM JOB作业的邮件发送

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 2:29:26

大数据领域 Cassandra 的表设计原则

Cassandra表设计的第一性原理:从分布式本质到生产级实践 元数据框架 标题:Cassandra表设计的第一性原理:从分布式本质到生产级实践 关键词:Cassandra、分布式数据库、表设计、主键优化、数据建模、一致性哈希、时间序列 摘要:Cassandra作为高可用、高吞吐、线性扩展的分布…

作者头像 李华
网站建设 2026/4/23 11:27:20

运维系列数据库系列【仅供参考】:达梦逻辑导入使用总结

达梦逻辑导入使用总结 达梦逻辑导入使用总结 达梦逻辑导入使用总结 实例1 1>字符集:GB18030 2>是否以字节为单位:否 实例2 1>字符集:uft8 2>是否以字节为单位:否 实例3 1>字符集:uft8 2>是否以字…

作者头像 李华
网站建设 2026/4/23 12:52:41

运维系列数据库系列【仅供参考】:达梦数据库还原之指定映射路径还原

达梦数据库还原之指定映射路径还原数据库还原之指定映射路径还原摘要正文数据库还原之指定映射路径还原 摘要 本文详细介绍了在中标麒麟7操作系统上,使用达梦8数据库进行映射路径还原的过程。首先,通过RMAN关闭数据库并进行脱机备份。接着,…

作者头像 李华
网站建设 2026/4/23 12:46:51

【go语言 | 第5篇】channel——多个goroutine之间通信

文章目录channel的定义和使用channel——有缓冲和无缓冲同步1. 无缓冲的channel2. 有缓冲的channelchannel——关闭channelchannel 与 rangechannel 与 selectchannel的定义和使用 channel 用于多个 goroutine 之间的通信。 package mainimport "fmt"func main() {…

作者头像 李华
网站建设 2026/4/20 14:51:02

基于SpringBoot的医院HIS信息系统

医院HIS信息系统课题背景 医院HIS(Hospital Information System)信息系统是医疗信息化建设的核心组成部分,旨在通过数字化手段整合医院业务流程,提升医疗服务质量与管理效率。随着医疗行业的快速发展,传统手工管理模式…

作者头像 李华
网站建设 2026/4/23 11:19:02

深度学习入门_神经网络基础

标题 引言神经网络的生物启发感知器:最早的神经网络模型感知器的工作原理感知器的局限性 多层感知器(MLP)MLP的结构 激活函数常用激活函数 损失函数常用损失函数 反向传播算法实战项目:手写数字识别优化技巧1. 学习率调度2. Dropo…

作者头像 李华