目录
作业... 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、客户端创建及删除
创建
修改、删除
设置过滤
作业
一、命令行
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、新建作业
2、创建作业步骤
3、创建作业调度
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、全量备份
2、增量备份
3、执行测试
备份成功
二)命令行作业调度定时备份
全量备份:每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');
验证:
立即执行后查看备份已生成
三)定时删除备份
新建作业步骤,步骤类型选择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);
立即执行:定时删除把该目录下所有备份(目录)全删掉了!!
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');
二、图形化界面
创建警报
创建警报:警报名、启用、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)添加管理员
call SP_ADD_MAIL_INFO('SYSDBA','SYSDBA','109.244.198.105','750632902@qq.com','750632902@qq.com','xxxxx');
2)修改、删除管理员
3、开启监控服务
开启监控服务有两种方式:通过图形化客户端启动和通过命令行工具启动
一、图形化界面
DM 服务查看器
点击 属性,查看 服务属性。
点击 数据库连接串
DMJMON 监控服务配置完成。
二、命令行
dmjmon userid=DM <username>[/<password>][@<server>][:<port>] [#<sslpath>@ssl_pwd]
./dmjmon userid=SYSDBA/SYSDBA@192.168.16.200:5236
达梦地址:https://eco.dameng.com