目录

作业... 4

创建代理环境... 4

1、命令行创建及删除... 4

2、客户端创建及删除... 4

操作员... 5

1、命令行创建及删除... 5

2、客户端创建及删除... 5

作业... 6

一、命令行... 6

1、命令行创建作业... 6

2、命令行修改作业... 7

3、启动或暂停作业... 7

4、删除作业... 7

5、配置作业... 8

6、查看、清除作业日志记录... 13

7、停止作业... 13

二、图形化界面... 14

1、新建作业... 14

2、创建作业步骤... 15

3、创建作业调度... 15

示例... 16

一、定时向表中插入数据... 16

1、创建作业... 16

2、配置作业... 16

3、停止作业... 16

二、定时备份:... 17

一)图形化界面... 17

二)命令行作业调度定时备份... 20

三)定时删除备份... 21

1、图形化界面... 22

2、命令行... 23

警报... 24

一、系统过程... 24

1、创建警报... 24

2、修改警报... 25

3、删除警报... 25

4、为警报关联操作员... 26

5、取消关联操作员... 26

6、清除警告日志记录... 26

二、图形化界面... 27

创建警报... 27

监控作业... 28

1、通过系统过程实现... 28

2、图形化实现... 29

作业

普通用户管理作业权限:ADMIN JOB

grant admin job to hr;

管理作业系统表

创建和删除作业相关系统表可以通过以下两种方式来实现。

一是通过系统过程 SP_INIT_JOB_SYS 来实现;

二是通过图形化客户端 MANAGER 管理工具实现。

创建代理环境

创建成功后,会增加 SYSJOB 模式(含系统表);同时, 代理下拉菜单中出现:作业、警报和操作员。

1、命令行创建及删除

创建 SYSJOB 模式及系统表的语句。语法如下:

SP_INIT_JOB_SYS(1);

删除 SYSJOB 模式及系统表的语句。语法如下:

SP_INIT_JOB_SYS(0); --之前创建的作业瞬间全没了。。

2、客户端创建及删除

代理--右键--创建代理环境

达梦 仓库_服务器

操作员

1、命令行创建及删除

分别用 SP_CREATE_OPERATOR、SP_ALTER_OPERATOR 和 SP_DROP_OPERATOR 三个过程来完成操作员的创建、修改和删除。

SP_CREATE_OPERATOR (
OPR_NAME VARCHAR(128),
ENABLED INT,
EMAILADDR VARCHAR(128),
NETSEND_IP VARCHAR(128)
)
SP_ALTER_OPERATOR('DD', 1, '750632902@qq.com', '109.244.198.105');
SP_DROP_OPERATOR('DD');

2、客户端创建及删除

创建

达梦 仓库_数据库_02

修改、删除

达梦 仓库_服务器_03

设置过滤

达梦 仓库_数据库_04

达梦 仓库_服务器_05

作业

一、命令行

1、命令行创建作业

(先创建一个空作业)
SP_CREATE_JOB (
JOB_NAME VARCHAR(128),
ENABLED INT,
ENABLE_EMAIL INT,
EMAIL_OPTR_NAME VARCHAR(128),
EMAIL_TYPE INT,
ENABLED_NETSEND INT,
NETSEND_OPTR_NAME VARCHAR(128),
NETSEND_TYPE INT,
DESCRIBE VARCHAR(8187)
)
EMAIL_TYPE:

0 表示在作业执行成功后发送;

1 表示在作业执行失败后发送;

2 表示在作业执行结束后发送。

ENABLE_NETSEND:

作业是否开启网络发送。1:是;0:否。

网络发送功能只有 WINDOWS 早期版本 上才支持,且要开启 MESSAGER 服务。

SP_CREATE_JOB('bak30',1,1,'DD',2,1,'DD',2,'每30天全备一次');

2、命令行修改作业

SP_ALTER_JOB (
JOB_NAME VARCHAR(128),
ENABLED INT,
ENABLE_EMAIL INT,
EMAIL_OPTR_NAME VARCHAR(128),
EMAIL_TYPE INT,
ENABLED_NETSEND INT,
NETSEND_OPTR_NAME VARCHAR(128),
NETSEND_TYPE INT,
DESCRIBE VARCHAR(8187)
)

作业属性修改后,需要重新配置作业,使修改生效。

SP_ALTER_JOB('bak30',1,1,'DD',2,1,'DD',2,'每30分钟全备一次');
SP_JOB_CONFIG_START('bak30');
SP_JOB_CONFIG_COMMIT('bak30');

3、启动或暂停作业

SP_ENABLE_JOB (
JOB_NAME VARCHAR(128),
ENABLED INT
)
SP_ENABLE_JOB('bak30',1);

4、删除作业

SP_DROP_JOB (
JOB_NAME VARCHAR(128)
)
SP_ENABLE_JOB('bak30');

5、配置作业

配置一个作业主要包括以下几个步骤:

1)开始作业配置; --貌似所有作业配置的操作都需要开始和结束过程执行。

2)指定要开始配置一个作业;

3)为指定的作业增加步骤;

4)为指定的作业增加调度;

5)结束作业配置。

从“结束作业配置”时刻开始就会根据它所定义的调度来执行操作了。

1)开始作业配置

SP_JOB_CONFIG_START (
JOB_NAME VARCHAR(128)
)
SP_JOB_CONFIG_START ('bak30');

不支持在设置了DML自动提交(例如,DIsql 中设置 SET AUTO ON )的会话上配置作业。

配置状态不允许做任何的创建、修改、删除对象(作业、操作员、警报)的操作。开始作业配置和结束作业配置两个过程配合使用,是为了保证作业配置的完整性。

2)指定要开始配置一个作业(设置作业执行节点)

DSC环境下,用系统过程 SP_JOB_SET_EP_SEQNO 指定作业执行节点。
SP_JOB_SET_EP_SEQNO (
JOB_NAME VARCHAR(128),
EP_SEQNO INT
)
EP_SEQNO:作业的节点号,未调用此过程设置作业执行节点号,默认作业在控制节点上执行。
SP_JOB_SET_EP_SEQNO('bak30',0);
DPC 环境下,用系统过程 SP_JOB_SET_RAFT_NAME 指定作业执行节点。
SP_JOB_SET_RAFT_NAME (
JOB_NAME VARCHAR(128),
RAFT_NAME VARCHAR(128)
)
RAFT_NAME DPC 环境中,实例的 RAFT_NAME。
SP_JOB_SET_RAFT_NAME('TEST','RAFT1');
3.1)作业步骤
SP_ADD_JOB_STEP (
JOB_NAME VARCHAR(128),
STEP_NAME VARCHAR(128),
TYPE INT,
COMMAND VARCHAR(4000),
SUCC_ACTION INT,
FAIL_ACTION INT,
RETRY_ATTEMPTS INT,
RETRY_INTERVAL INT,
OUTPUT_FILE_PATH VARCHAR(256),
APPEND_FLAG INT
)
TYPE

步骤的类型

0:执行一段 SQL 语句或者是语句块。

1:执行基于 V1.0 版本的备份还原(没有 WITHOUT LOG 和 PARALLEL 选项)。

2:重组数据库。

3:更新数据库的统计信息。

4:执行 DTS(数据迁移)。

5:执行基于 V1.0 版本的备份还原(有 WITHOUT LOG 和 PARALLEL 选项)。

6:执行基于 V2.0 版本的备份还原。

SUCC_ACTION

指定步骤执行成功后,下一步该做什么事。

0:不报告步骤执行成功,并结束作业。

1:报告步骤执行成功,并结束作业。

2:不报告步骤执行成功,并执行下一步。

3:报告步骤执行成功,并执行下一步。

SUCC_ACTION 的值用两位二进制数来表示,低位为 0 表示不报告步骤结果,1 表示报告步骤结果;高位为0表示不执行下一步,1表示执行下一步。

SP_ADD_JOB_STEP('TEST','STEP1',0, 'INSERT INTO MYINFO VALUES(1000, ''HELLO WORLD''); ', 0, 0, 2, 1, NULL, 0);

3.2)选择执行指定步骤

指定执行成功或失败的下一步的步骤名称

SP_JOB_STEP_SET_NEXT_STEP (

JOB_NAME VARCHAR(128),

STEP_NAME VARCHAR(128),

SUCC_NEXT_STEP VARCHAR(128),

FAIL_NEXT_STEP VARCHAR(128)

)

3.3)修改步骤

SP_ALTER_JOB_STEP (

JOB_NAME VARCHAR(128),

STEP_NAME VARCHAR(128),

TYPE INT,

COMMAND VARCHAR(4000),

SUCC_ACTION INT,

FAIL_ACTION INT,

RETRY_ATTEMPTS INT,

RETRY_INTERVAL INT,

OUTPUT_FILE_PATH VARCHAR(256),

APPEND_FLAG INT

)

3.4)删除步骤

SP_DROP_JOB_STEP (

JOB_NAME VARCHAR(128),

STEP_NAME VARCHAR(128)

)

SP_DROP_JOB_STEP('TEST', 'STEP1');

4)作业调度

4.1)增加调度

SP_ADD_JOB_SCHEDULE (

JOB_NAME VARCHAR(128),

SCHEDULE_NAME VARCHAR(128),

ENABLE INT,

TYPE INT,

FREQ_INTERVAL INT,

FREQ_SUB_INTERVAL INT,

FREQ_MINUTE_INTERVAL INT,

STARTTIME VARCHAR(128),

ENDTIME VARCHAR(128),

DURING_START_DATE VARCHAR(128),

DURING_END_DATE VARCHAR(128),

DESCRIBE VARCHAR(500)

)

TYPE指定调度类型

0:指定作业只执行一次。

1:按天的频率来执行。

2:按周的频率来执行。

3:在一个月的某一天执行。

4:在一个月的第一周第几天执行。

5:在一个月的第二周的第几天执行。

6:在一个月的第三周的第几天执行。

7:在一个月的第四周的第几天执行。

8:在一个月的最后一周的第几天执行。

当 TYPE=0 时,其执行时间由下面的参数 DURING_START_DATE 指定。

FREQ_INTERVAL

与 TYPE 有关。表示不同调度类型下的发生频率。

TYPE=0 时,这个值无效,系统不做检查。

TYPE=1 时,表示每几天执行,取值范围为 1~100。

TYPE=2 时,表示的是每几个星期执行,取值范围没有限制。

TYPE=3 时,表示每几个月中的某一天执行,取值范围没有限制。

TYPE=4 时,表示每几个月的第一周执行,取值范围没有限制。

TYPE=5 时,表示每几个月的第二周执行,取值范围没有限制。

TYPE=6 时,表示每几个月的第三周执行,取值范围没有限制。

TYPE=7 时,表示每几个月的第四周执行,取值范围没有限制。

TYPE=8 时,表示每几个月的最后一周执行,取值范围没有限制。

FREQ_SUB_INTERVAL 与 TYPE 和 FREQ_INTERVAL 有关。表示不同 TYPE 的执行频率,在 FREQ_INTERVAL基础上,继续指定更为精准的频率。

SP_ADD_JOB_SCHEDULE('TEST', 'SCHEDULE3', 1, 1, 1, 0, 1, CURTIME, '23:59:59',CURDATE, NULL, '一个测试调度');

为作业 TEST 创建一个新的调度,名为 SCHEDULE3;1启用这个调度;TYPE 为1表示按天的频率来执行;FREQ_INTERVAL频率为1每天都要执行;在这种类型下 FREQ_SUB_INTERVAL 参数就不会检查,随机写 0;FREQ_MINUTE_INTERVAL是 1每隔一分钟就执行一次;STARTTIME 从当前时间开始;ENDTIME 指定 23:59:59,表示每天都是执行到这个时间为止;DURING_START_DATE 为调度的起始日期;DURING_END_DATE 指定的为 NULL,表示这个调度指定的日期范围为从开始执行那刻起,永不停止;DESCRIBE 为‘一个测试调度’。

4.2)修改调度

SP_ALTER_JOB_SCHEDULE (

JOB_NAME VARCHAR(128),

SCHEDULE_NAME VARCHAR(128),

ENABLE INT,

TYPE INT,

FREQ_INTERVAL INT,

FREQ_SUB_INTERVAL INT,

FREQ_MINUTE_INTERVAL INT,

STARTTIME VARCHAR(128),

ENDTIME VARCHAR(128),

DURING_START_DATE VARCHAR(128),

DURING_END_DATE VARCHAR(128),

DESCRIBE VARCHAR(500)

)

4.3)删除调度

SP_DROP_JOB_SCHEDULE (

JOB_NAME VARCHAR(128),

SCHEDULE_NAME VARCHAR(128)

)

SP_DROP_JOB_SCHEDULE('TEST', 'SCHEDULE3');

5、结束作业配置

SP_JOB_CONFIG_COMMIT (

JOB_NAME VARCHAR(128)

)

6、查看、清除作业日志记录

作业信息都存储在作业表 SYSJOBS

1)清除作业日志记录

SP_JOB_CLEAR_HISTORIES (

JOB_NAME VARCHAR(128)

)

即删除表 SYSJOBHISTORIES2、SYSSTEPHISTORIES2 中的相关记录。如果该作业还在继续工作,那么后续会在表SYSJOBHISTORIES2、SYSSTEPHISTORIES2中产生该作业的新日志。

SP_JOB_CLEAR_HISTORIES ('TEST');

SP_JOB_CLEAR_HISTORIES (

JOB_NAME VARCHAR(128),

BEFORE_TIME DATETIME

)

清除指定时间BEFORE_TIME之前某个作业的所有日志记录

SP_JOB_CLEAR_HISTORIES ('TEST', '2022-08-17 00:00:00');

7、停止作业

可以通过删除作业或者调用系统方法SP_STOP_RUNNING_JOB来停止已经触发的作业。

SP_STOP_RUNNING_JOB (

JOB_ID INTEGER

)

作业ID 查询 SYSJOBS 系统表或V$JOBS_RUNNING 动态视图

二、图形化界面

1、新建作业

达梦 仓库_java_06

达梦 仓库_服务器_07

达梦 仓库_命令行_08

2、创建作业步骤

达梦 仓库_服务器_09

3、创建作业调度

达梦 仓库_命令行_10

4、完成,查看数据

示例

一、定时向表中插入数据

1、创建作业

名称、启用、开启邮件系统、操作员DD、作业执行成功后发送邮件、开启系统通知、操作员DD、作业执行成功后发送通知,描述。

call SP_CREATE_JOB('dept02_in',1,1,'DD',0,1,'DD',0,'hr.dept02表插入数据');

2、配置作业

1)开启作业配置

call SP_JOB_CONFIG_START('dept02_in');

2)增加作业步骤:作业名、步骤名、TYPE执行sql、命令、SUCC_ACTION1报告步骤成功结束作业、FAIL_ACTION1报告步骤执行失败结束作业、重试1次、间隔1秒、null废弃、输出文件追写方式0否。

call SP_ADD_JOB_STEP('dept02_in', 'depr02_in_step1',0, 'insert into hr.dept02(name) values(''dd'');

insert into hr.dept02(name) values(''dd2'');',1, 1, 1,1, NULL, 0);

3)增加作业调度:作业名、调度名、启用1、TYPE1按天来执行、FREQ_INTERVAL1频率间隔每1天执行、0无效、FREQ_MINUTE_INTERVAL5每隔5分钟执行、调度起始时间、调度结束时间、作业被调度的起始日期、作业被调度的结束日期、描述

call SP_ADD_JOB_SCHEDULE('dept02_in', 'dept02_in_sch1', 1, 1, 1, 0, 5, '00:00:00', '23:59:59', '2023-05-31 11:43:09', NULL, '每隔5分钟插入一条数据hr.dept02');

4)配置完成,提交作业

call SP_JOB_CONFIG_COMMIT('dept02_in');

3、停止作业

SP_ENABLE_JOB('dept02_in',0);

二、定时备份:

一)图形化界面

1、全量备份

达梦 仓库_服务器_11

达梦 仓库_数据库_12

达梦 仓库_java_13

2、增量备份

达梦 仓库_服务器_14

达梦 仓库_命令行_15

达梦 仓库_命令行_16

3、执行测试

备份成功

达梦 仓库_达梦 仓库_17

二)命令行作业调度定时备份

全量备份:每30天1号全量备份一次

1、创建作业:名称、启用、开启邮件系统、操作员DD、作业执行成功后发送邮件、开启系统通知、操作员DD、作业执行成功后发送通知,描述。

call SP_CREATE_JOB('bak_full_30',1,1,'DD',0,1,'DD',0,'每30天一次全量备份');
2、开启作业配置
call SP_JOB_CONFIG_START('bak_full_30');
3、指定作业执行节点
call SP_JOB_SET_EP_SEQNO('bak_full_30', 0);
4、增加作业步骤:作业名、步骤名、TYPE6执行基于V2.0版本的备份还原、(备份模式0完全备份,0不压缩,0备份日志,2并行数,0无实际作用,0备份片大小默认值,0备份完成后不删除归档文件,0无意义,备份文件路径)、SUCC_ACTION0不报告步骤成功结束作业、FAIL_ACTION0不报告步骤执行失败结束作业、重试1次、间隔5秒、null废弃、输出文件追写方式0否。
call SP_ADD_JOB_STEP('bak_full_30', 'bak_full_step1', 6, '00020000/dm/data/bak', 0, 0, 1, 5, NULL, 0);
5、增加作业调度:作业名、调度名、启用1、TYPE3按月来执行、FREQ_INTERVAL1频率间隔每1天执行、1在一个月的第1天、FREQ_MINUTE_INTERVAL0每隔几分钟执行0 表示一天内执行一次、调度起始时间、调度结束时间、作业被调度的起始日期、作业被调度的结束日期、描述
call SP_ADD_JOB_SCHEDULE('bak_full_30', 'bak_full_sch1', 1, 3, 1, 1, 0, '02:00:00', NULL, '2023-05-31 14:05:17', NULL, '');
6、提交作业配置
call SP_JOB_CONFIG_COMMIT('bak_full_30');
SP_ENABLE_JOB('bak_full_30',1); --这个也不是立即执行作业测试啊。。。貌似命令行没有立即执行作业命令

增量备份:每天增量备份1次

1、创建作业:名称、启用、开启邮件系统、操作员DD、作业执行成功后发送邮件、开启系统通知、操作员DD、作业执行成功后发送通知,描述。
call SP_CREATE_JOB('bak_inc_1',1,1,'DD',0,1,'DD',0,'每天增量备份');
2、开启作业配置
call SP_JOB_CONFIG_START('bak_inc_1');
3、指定作业执行节点
call SP_JOB_SET_EP_SEQNO('bak_inc_1', 0);

4、增加作业步骤:作业名、步骤名、TYPE6执行基于V2.0版本的备份还原、(备份模式1差异增量备份,0不压缩,0备份日志,2并行数,0无实际作用,0备份片大小默认值,0备份完成后不删除归档文件,0无意义,基础备份路径|备份路径)、SUCC_ACTION0不报告步骤成功结束作业、FAIL_ACTION0不报告步骤执行失败结束作业、重试0次、间隔0秒、null废弃、输出文件追写方式0否。

call SP_ADD_JOB_STEP('bak_inc_1', 'bak_inc_step1', 6, '10020000/dm/data/bak|/dm/data/bak', 0, 0, 0, 0, NULL, 0);

5、增加作业调度:作业名、调度名、启用1、TYPE1按天来执行、FREQ_INTERVAL1频率间隔每1天执行、0无效、FREQ_MINUTE_INTERVAL0每隔几分钟执行0 表示一天内执行一次、调度起始时间、调度结束时间、作业被调度的起始日期、作业被调度的结束日期、描述

call SP_ADD_JOB_SCHEDULE('bak_inc_1', 'bak_sch_1', 1, 1, 1, 0, 0, '04:00:00', NULL, '2023-05-31 14:10:15', NULL, '');
6、提交作业配置
call SP_JOB_CONFIG_COMMIT('bak_inc_1');
验证:

达梦 仓库_达梦 仓库_18

立即执行后查看备份已生成

达梦 仓库_达梦 仓库_19

三)定时删除备份

新建作业步骤,步骤类型选择SQL脚本,脚本语句填写

最后的-30表示30天之前(该方法只局限于备份文件存放在dm.ini配置文件中的配置的备份地址情况。)

CALL SP_DB_BAKSET_REMOVE_BATCH('DISK', NOW()-30);

1、图形化界面

如果备份的位置是自定义的,不是默认的。

定期删除备份集文件,需要先指定备份的路径。

call SF_BAKSET_BACKUP_DIR_ADD('DISK','/dm/data/bak');

call SP_DB_BAKSET_REMOVE_BATCH('DISK',SYSDATE);

达梦 仓库_java_20

达梦 仓库_达梦 仓库_21

达梦 仓库_服务器_22

立即执行:定时删除把该目录下所有备份(目录)全删掉了!!

达梦 仓库_服务器_23

2、命令行

1、创建作业:名称、启用、开启邮件系统、操作员DD、作业执行成功后发送邮件、开启系统通知、操作员DD、作业执行成功后发送通知,描述。

call SP_CREATE_JOB('bak_remove_30',1,1,'DD',0,1,'DD',0,'删除30天前(测试当前)备份');
2、开启作业配置
call SP_JOB_CONFIG_START('bak_remove_30');

3、增加作业步骤:作业名、步骤名、TYPE0执行sql、命令(指定备份集路径;删除当前时间之前的备份--这里-30就是30天前备份)、SUCC_ACTION0不报告步骤成功结束作业、FAIL_ACTION0不报告步骤执行失败结束作业、重试0次、间隔0秒、null废弃、输出文件追写方式0否。

call SP_ADD_JOB_STEP('bak_remove_30', 'remove_step1', 0, 'call SF_BAKSET_BACKUP_DIR_ADD(''DISK'',''/dm/data/bak'');
call SP_DB_BAKSET_REMOVE_BATCH(''DISK'',SYSDATE);', 0, 0, 0, 0, NULL, 0);

4、增加作业调度:作业名、调度名、启用1、TYPE3按月来执行、FREQ_INTERVAL1频率间隔每1天执行、2在一个月的第2天、FREQ_MINUTE_INTERVAL0每隔几分钟执行0 表示一天内执行一次、调度起始时间、调度结束时间、作业被调度的起始日期、作业被调度的结束日期、描述

call SP_ADD_JOB_SCHEDULE('bak_remove_30', 'remove_sch1', 1, 3, 1, 2, 0, '00:01:00', NULL, '2023-05-31 15:13:25', NULL, '');

5、提交作业配置

call SP_JOB_CONFIG_COMMIT('bak_remove_30');
SYSDATE改为SYSDATE-30后立即执行也不会删掉刚才备份。只能删掉30天之前的备份。

这里注意上面配置貌似有问题,作业调度TYPE应该为1按天来执行,每天执行,删除SYSDATE-30 30天前的备份。按上面配置,每月2号删除30天之前的数据,那么最大会保留2个月备份(5.2号删除4.1号之前数据,现在保留了4.2号-6.1号数据。直到6.2号保留了两个月备份,这一天再删一个备份)

call SP_ADD_JOB_SCHEDULE('bak_remove_30', 'remove_sch1', 1, 1, 1, 0, 0, '00:01:00', NULL, '2023-05-31 15:13:25', NULL, '');

警报

创建、修改和删除警报可以通过以下两种方式来实现。

一是通过系统过程来实现;

二是通过图形化客户端 MANAGER 管理工具实现

警报的定义信息都存储在系统表 SYSALERTS 中

一、系统过程

1、创建警报

SP_CREATE_ALERT (
NAME VARCHAR(128),
ENABLED INT,
TYPE INT,
ERRTYPE INT,
ERRCODE INT,
DELAYTIME INT,
DESCRIBE VARCHAR(8187)
)
TYPE警报的类型。
0 表示发生错误时警报;
1 表示发生某些数据库事件时警报。
SP_CREATE_ALERT('ALERT1',1, 0, 1, -600, 1, '错误码的测试');

TYPE0表示发生错误时警报,ERRTYPE1表示常规错误,错误代码-600(小于0的数值貌似即可),DELEYTIME1推迟1秒钟通知操作员

相应信息存储到上面提到的 SYSALERTHISTORIES 表中

2、修改警报

SP_ ALTER _ALERT (
NAME VARCHAR(128),
ENABLED INT,
TYPE INT,
ERRTYPE INT,
ERRCODE INT,
DELAYTIME INT,
DESCRIBE VARCHAR(8187)
)
SP_ALTER_ALERT('ALERT1', 1, 1, 1, 15, 1, 'DDL 警报测试');

TYPE1表示对事件的捕获,ERRTYPE1表示对事件中的DDL进行捕获,ERRCODE15可以被分解为二进制 1111也就是选中了这四个操作(CREATE、ALTER、DROP、TRUNC)中的所有操作

3、删除警报

SP_DROP_ALERT (
NAME VARCHAR(128),
)
SP_DROP_ALERT('ALERT1');

4、为警报关联操作员

一个警报可以关联多个操作员。

SP_ALERT_ADD_OPERATOR (
ALERTNAME VARCHAR(128),
OPR_NAME VARCHAR(128),
ENABLEMAIL INT,
ENABLENETSEND INT
)
ENABLENETSEND(启动网络通知)功能只有在 WINDOWS 下才起作用
SP_ALERT_ADD_OPERATOR('ALERT1','DD',1,1);

5、取消关联操作员

SP_ALERT_DROP_OPERATOR (
ALERTNAME VARCHAR(128),
OPR_NAME VARCHAR(128)
)
SP_ALERT_DROP_OPERATOR('ALERT1','dd2');

6、清除警告日志记录

SP_ALERT_DROP_HISTORIES (
ALERTNAME VARCHAR(128)
)
SP_ALERT_DROP_HISTORIES ('ALERT1');

二、图形化界面

创建警报

达梦 仓库_达梦 仓库_24

达梦 仓库_服务器_25

创建警报:警报名、启用、TYPE0发生错误时警报、ERRTYPE1常规错误、ERRCODE错误码这里自动生成-1、DELEYTIME延迟2秒通知管理员、注释

call SP_CREATE_ALERT('ALERT2',1,0,1,-1,2,'error info');

关联操作员,启动邮件和网络通知

call SP_ALERT_ADD_OPERATOR('ALERT2','DD',1,1);

监控作业

监控作业是指把作业的运行情况通过电子邮件发送给作业操作员。邮件成功发送的前提有两个:

一是为监控服务配置管理员;

二是开启监控服务。

配置监控服务管理员

1、通过系统过程实现

1)添加管理员

SP_ADD_MAIL_INFO (
LOGIN_NAME VARCHAR(128),
LOGIN_PWD VARCHAR(128),
SMTP_SERVER VARCHAR(128),
EMAIL VARCHAR(128),
USER_NAME VARCHAR(128),
USER_PWD VARCHAR(128)
)
LOGIN_NAME监控服务管理员名称。
必须是有效的数据库登录用户名。不能有同名管理员,如果创建同名管理员,系统会报错。此参数不能为空。
USER_NAME邮件用户名(和邮件地址写法要完全一样)。
SP_ADD_MAIL_INFO('SYSDBA','SYSDBA','192.168.16.200','gyf@dameng.shanghai','gyf@dameng.shanghai','******');

2)修改管理员

SP_ALTER_MAIL_INFO (
LOGIN_NAME VARCHAR(128),
LOGIN_PWD VARCHAR(128),
SMTP_SERVER VARCHAR(128),
EMAIL VARCHAR(128),
USER_NAME VARCHAR(128),
USER_PWD VARCHAR(128)
)

3)删除管理员

SP_DROP_MAIL_INFO (
LOGIN_NAME VARCHAR(128)
)
SP_DROP_MAIL_INFO ('SYSDBA');

2、图形化实现

1)添加管理员

达梦 仓库_数据库_26

达梦 仓库_命令行_27

call SP_ADD_MAIL_INFO('SYSDBA','SYSDBA','109.244.198.105','750632902@qq.com','750632902@qq.com','xxxxx');

2)修改、删除管理员

达梦 仓库_命令行_28

3、开启监控服务

开启监控服务有两种方式:通过图形化客户端启动和通过命令行工具启动

一、图形化界面

DM 服务查看器

达梦 仓库_命令行_29

点击 属性,查看 服务属性。

达梦 仓库_服务器_30

点击 数据库连接串

达梦 仓库_java_31

DMJMON 监控服务配置完成。

二、命令行

dmjmon userid=DM <username>[/<password>][@<server>][:<port>] [#<sslpath>@ssl_pwd]
./dmjmon userid=SYSDBA/SYSDBA@192.168.16.200:5236