注册
dm8作业管理
专栏/技术分享/ 文章详情 /

dm8作业管理

吉吉 2023/09/20 2080 0 0
摘要

在配置达梦数据库的作业任务时,除了在管理工具上通过图形界面的方式来新增、修改、删除作业任务外,还可以通过执行sql的方式来管理作业任务。

1.创建、删除代理环境

--创建代理环境
SP_INIT_JOB_SYS(1);
--删除代理环境
SP_INIT_JOB_SYS(0);

2.新增、删除作业

--新增作业
call SP_CREATE_JOB('作业名',是否启用作业,邮件发送,'邮件发送地址',邮件发送时机,网络发送,'网络发送地址', 网络发送时机,'作业备注');
--删除作业
call SP_DROP_JOB('作业名');

参数备注:
是否启用作业,0不启用,1启用
邮件发送和网络发送,0关闭,1打开
邮件发送时机和网络发送时机,0当作业执行成功时,1当作业执行失败时,2当作业执行结束时

3.配置作业步骤

call SP_ADD_JOB_STEP('作业名', '步骤名', 步骤类型, '内容', 成功时, 失败时, 重试次数, 重试间隔, 输出文件, 追加方式);

参数备注:
作业类型:
0:sql脚本,内容是具体脚本
6:备份数据库,内容是备份路径
(关于备份数据库,内容部分详细备注:
全备:00000000全备路径;
差异增量:10000000基备份路径;
归档备份:30000000备份路径;
累计增量:40000000基备份路径;
第二位为是否开启压缩,0不压缩,1-9压缩级别;
第三位为是否开启日志,0开启,1不开启)
2:重组数据库,内容为空
3:更新统计信息,内容为空
4:数据迁移,内容是dm.ini路径

成功时:
0:不报告执行成功并结束作业(默认)
1:报告执行成功并结束作业
2:不报告执行成功并继续执行下一步
3:报告执行成功并继续执行下一步

失败时:
0:不报告执行失败并结束作业(默认)
1:报告执行失败并结束作业
2:不报告执行失败并继续执行下一步
3:报告执行失败并继续执行下一步

重试次数:单位次

重试间隔:单位秒

输出文件:输出文件具体路径,默认为NULL

追加方式:
0:不追加,覆写文件(默认)
1:追加文件

4.配置作业调度

① 调度类型为执行一次

call SP_ADD_JOB_SCHEDULE('作业名', '调度名', 1, 0, 0, 0, 0, NULL, NULL, '调度执行时间', NULL, '调度描述');

② 调度类型为反复执行-按天执行

call SP_ADD_JOB_SCHEDULE('作业名', '调度名', 1, 1, 每几天执行一次, 0, 周期执行的时间间隔(单位为分,每日频率为执行一次时值为0), '每日频率为执行一次的时间或周期执行的开始时间', '周期执行的结束时间', '执行调度开始时间', '执行调度结束时间', '调度描述');

③ 调度类型为反复执行-按周执行

call SP_ADD_JOB_SCHEDULE('作业名', '调度名', 1, 2, 每几周执行一次, 星期几执行, 周期执行的时间间隔(单位为分,每日频率为执行一次时值为0), '每日频率为执行一次的时间或周期执行的开始时间', '周期执行的结束时间', '执行调度开始时间', '执行调度结束时间', '调度描述');

注:
每周几执行
周日-周六:2的0-6次方,多个日子就相加

④ 调度类型为反复执行-按月执行-第几天执行

call SP_ADD_JOB_SCHEDULE('作业名', '调度名', 1, 3, 每几月执行一次, 每月第几天执行, 周期执行的时间间隔(单位为分,每日频率为执行一次时值为0), '每日频率为执行一次的时间或周期执行的开始时间', '周期执行的结束时间', '执行调度开始时间', '执行调度结束时间', '调度描述');

⑤ 调度类型为反复执行-按月执行-第几个星期几执行

call SP_ADD_JOB_SCHEDULE('作业名', '调度名', 1, 第几周, 每几月执行一次, 每月第几天执行, 周期执行的时间间隔(单位为分,每日频率为执行一次时值为0), '每日频率为执行一次的时间或周期执行的开始时间', '周期执行的结束时间', '执行调度开始时间', '执行调度结束时间', '调度描述');

注:
第几周:
第一到四及最后一周分别为 4 5 6 7 8
所有开始结束时间相关参数,不指明则填NULL

5.以配置一个每天0点全备,备份目录为/dmbak,不设置作业调度结束时间的全备作业任务举例

call SP_CREATE_JOB('fullbak',1,0,'',0,0,'',0,'每天全备');
call SP_JOB_CONFIG_START('fullbak');
call SP_ADD_JOB_STEP('fullbak', '每天全备', 6, '/dmbak', 0, 0, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('fullbak', '每天全备', 1, 1, 1, 0, 0, '00:00:00', NULL, '2023-09-20 22:00:00', NULL, '');
call SP_JOB_CONFIG_COMMIT('fullbak');
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服