达梦数据库作业管理

一、基本功能

作业系统大致包含作业,警报,操作员三部分。
作业可运行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');
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值