达梦数据库--DM创建定时备份和清理备份任务

13 篇文章 0 订阅
12 篇文章 0 订阅

目录

一 定时备份集全备

二 定时删除备份


引言:做备份前一定要保证开启归档,并保证归档连续性,参考开启归档文档

常见报错:

管道连接超时:非正常状态数据库停止服务如服务器掉电,导致管道文件残留

 解决方法:

将bin文件夹下DM_PIPE_DMAP_LSNR_RDDM_PIPE_DMAP_LSNR_WR删除后重启DmAP服务

归档不连续(测试环境,生产环境中不会报这个错误,生产环境装库就会开启归档操作就会写入归档,测试环境报此错,进行简单建表即可)

一 定时备份集全备

    1. 使用manager工具
      1.  创建作业环境

开启归档后,右键代理,出现如下图

点击创建代理环境,如下图,创建代理环境成功,系统会自动生成SYSJOB用户及系统表

      1.  创建定时备份集全备

右键作业,点击新建作业

点击新建作业后,出现下图,输入作业名及作业描述后,点击作业步骤

如下图,点击添加

如下图,输入步骤名称,步骤类型选择基于备份集备份数据库,备份路径输入实际备份路径即可,点击确定

如下图,点击作业调度

如下图,点击新建

如下图,输入步骤名称,选择反复执行,填写每1周,周日,凌晨1点执行一次全库备份

点击确定

点击确定

刷新作业后,可进行查看

      1.  创建定时备份集增备

注:增备必须有一上次的全备才可以执行,且上次的全备没有用来恢复过数据库。本次使用全备测试恢复数据库后做增备报错如下

注:要求做增备前数据库要有操作否则报错如下

右键作业,点击新建作业

点击新建作业后,出现下图,输入作业名及作业描述后,点击作业步骤

如下图,点击添加

点击添加,如下图,输入步骤名称,步骤类型选择基于备份集备份数据库,备份路径输入实际备份路径即可,点击确定(由于在windows端使用manager,增量备份必须选择基备份,windows无法选择全备的路径,所以选择在虚拟机中做增备)

虚拟机中:选择添加基备份目录,点击确定

如下图,点击作业调度

如下图,点击新建

如下图,输入步骤名称,选择反复执行,填写每1周,周一至周六,凌晨1点执行一次增量备份

点击确定

刷新作业后,可进行查看

    1. 使用sql
      1.  创建作业环境

输入一下sql

SP_INIT_JOB_SYS(1);

刷新代理、查看SYSJOB模式及系统表,查看创建作业环境是否成功

如下图所示,创建代理环境成功

 

      1.  创建定时备份集全备

参数含义依次:1、作业名称;2、作业是否启用(1 启用,0 不启用);3、作业是否开启邮件系统(1 是,0 否);4、指定操作员名称。如果开启了邮件通知功能,邮件会发送给该操作员;5、如果在开启了邮件发送之后,在什么情况下发送邮件。情况分为三种:(0 表示在作业执行成功后发送;1 表示在作业执行失败后发送;2 表示在作业执行结束后发送);6、作业是否开启网络发送。(1 是;0 否);7、指定操作员名称,8、如果在开启了网络发送之后,在什么情况下发送网络信息。这个情况也有三种,和上面的 EMAIL_TYPE 是完全一样的;9、作业描述信息。

call SP_CREATE_JOB('FULL_BAK',1,0,'',0,0,'',0,'定时全库备份');

用系统过程 SP_JOB_CONFIG_START 来指定对一个作业配置的开始。

参数含义依次:要配置的作业的名称。执行时会检测这个作业是否存在,如果不存在则报错。

call SP_JOB_CONFIG_START('FULL_BAK');

参数含义依次:

1、作业名称;

2、表示增加的步骤名;

3、步骤的类型。取值 0、1、2、3、4、5 和 6(1 表示执行基于 V1.0 版本的备份还原(没有 WITHOUT LOG 和PARALLEL 选项)。2 表示重组数据库。3 表示更新数据库的统计信息。4、 表示执行 DTS(数据迁移)。5 表示执行基于 V1.0 版本的备份还原(有 WITHOUT LOG 和 PARALLEL 选项)。6 表示执行基于 V2.0 版本的备份还原。)

4、指定不同步骤类型(TYPE)下,步骤在运行时所执行的语句。它不能为空。当 TYPE=0 时,指定要执行的 SQL 语句或者语句块。如果要指定多条语句,在语句之间

必须用分号隔开。不支持多条 DDL 语句一起执行,否则在执行时可能会报出不可预知的错误信息。当 TYPE=1 时,指定的是一个字符串。该字符串由三个部分组成:[备份模式][备份压

缩类型][base_dir,…,base_dir|bakfile_path]。三部分详细介绍如下:

第一部分是一个字符,表示备份模式。0 完全备份;1 增量备份。如果第一个字符

不是这二个值中的一个,系统会报错。

第二部分是一个字符,表示备份时是否进行压缩。0 不压缩;1 压缩。

第三部分是一个文件路径,表示备份文件的路径。路径命令有具体的格式,分以下

两种:

对于增量备份,因为它必须要指定一个或者多个基备份路径,每个路径之间需

要用逗号隔开,之后接着是备份路径,基备份路径与备份路径需要用“|”隔开,如果不

指定备份路径,则不需要指定“|”,同时系统会自动生成一个备份路径。例如,

01E:\base_bakdir1, base_bakdir2|bakdir。

对于完全备份,因为不需要指定基备份所以就不需要“|”符号了,可以直接在

第三个字节开始指定备份路径即可。例如,01E:\bakdir。如果不指定备份路径,则

系统会自动生成一个备份路径。

当 TYPE 是 2、3 或 4 时,要执行的语句就是由系统内部根据不同类型生成的不同语句

或者过程。

当 TYPE=5 时,指定的是一个字符串。该字符串由六个部分组成:[备份模式][备份压

缩 类 型 ][ 备 份 日 志 类 型 ][ 备 份 并 行 类 型 ][ 预 留 ][base_dir,…,base_dir |

bakfile_path | parallel_file]。六部分详细介绍如下:

第一部分是一个字符,表示备份模式。0 完全备份;1 增量备份。如果第一个字符

不是这二个值中的一个,系统会报错。

第二部分是一个字符,表示备份时是否进行压缩。0 不压缩;1 压缩。

第三部分是一个字符,表示是否备份日志。0 备份;1 不备份。

第四部分是一个字符,表示是否并行备份。0 普通备份;1 并行备份,并行备份映

射放到最后,以“|”分割。

第五部分是一个保留字符,用 0 填充。

第六部分是一个文件路径,表示备份文件的路径。路径命令有具体的格式,分以下

两种:

对于增量备份,因为它必须要指定一个或者多个基础备份路径,每个路径之间

需要用逗号隔开,之后接着是备份路径,最后并行备份映射文件;并行映射文件,基础备份路径与备份路径需要用“|”隔开,如果不指定备份路径与并行映射文件,则不需要指定“|”,例如

01000E:\base_bakdir1,

base_bakdir2|bakdir|parallel_file_path 就是一个合法的增量备份命令。

对于完全备份,因为不需要指定基备份所以就不需要“|”符号了,可以直接在

第三个字节开始指定备份路径即可;例如,01000E:\bakdir。如果不指定备份路径,

系统会自动生成备份路径。

当 TYPE=6 时,指定的是一个字符串。该字符串由九个部分组成:[备份模式][备份压

缩类型][备份日志类型][备份并行数][USE

PWR][MAXPIECESIZE][RESV1][RESV2][base_dir,…,base_dir | bakfile_dir]。

六部分详细介绍如下:

第一部分是一个字符,表示备份模式。0 完全备份;1 增量备份;3 归档备份。如

果第一个字符不是这三个值中的一个,系统会报错。

第二部分是一个字符,表示备份时是否进行压缩。0 不压缩;1 压缩。

第三部分是一个字符,表示是否备份日志。0 备份;1 不备份。

第四部分是一个字符,表示并行备份并行数。取值 0 到 9。其中,0 表示不进行并

行备份;1 表示使用并行数默认值 4;2~9 表示并行数。

第五部分为一个字符,表示并行备份时,是否使用 USE PWR 优化增量备份。0 不

使用;1 使用。(只是语法支持,没有实际作用)

第六部分为一个字符,表示备份片大小的上限(MAXPIECESIZE)。0 表示默认值,

1~9 表示依次表示备份片的大小,1 则为 128M 备份片大小,9 表示 32G 的备份片大小。

第七部分为一个字符,表示是否在备份完归档后,删除备份的归档文件。0 不删除;

1 删除。

第八部分是一个保留字符,用 0 填充。

第九部分是一个文件路径,表示备份文件的路径。路径命令有具体的格式,分以下

两种:

对于增量备份,因为它必须要指定一个或者多个基础备份路径,每个路径之间

需要用逗号隔开,之后接着是备份路径。基础备份路径与备份路径需要用“|”隔开,例

如,01000000E:\base_bakdir1, base_bakdir2|bakdir 就是一个合法的增量

备份命令。

对于完全备份,就不需要“|”符号了,可以直接在第八个字节开始指定备份路径即可。例如,01000000E:\bakdir。如果不指定备份路径,系统会自动生成一个备

份路径。

5、指定步骤执行成功后,下一步该做什么事。取值 0 或 1。(0 表示执行下一步。1 表示报告执行成功,并执行下一步。);

6、指定步骤执行失败后,下一步该做什么事。取值 0 或 2。(0 表示执行下一步,2 表示报告执行失败,并结束作业。);

7、表示当步骤执行失败后,需要重试的次数。取值范围 0~100 次。

8、表示在每两次步骤执行重试之间的间隔时间。不能大于 10 秒钟。

9、表示步骤执行时输出文件的路径。该参数已废弃,没有实际意义。

10、输出文件的追写方式。如果指定输出文件,那么这个参数表示在写入文件时是否从文件末尾开始追写。1 是;0 否。如果是 0,那么从文件指针当前指向的位置开始追写。

call SP_ADD_JOB_STEP('FULL_BAK', 'FULL_BAK_S1', 6, '01000000/opt/dmdbms/data/DAMENG/bak', 1, 2, 0, 0, NULL, 0);

参数含义依次:

1、作业名称;

2、待创建的调度名称;

3、表示调度是否启用,布尔类型。(1 启用;0 不启用)

4、指定调度类型。取值 0、1、2、3、4、5、6、7、8。(0 表示指定作业只执行一次。1 按天的频率来执行。2 按周的频率来执行。3 在一个月的某一天执行。4 在一个月的第一周第几天执行。5 在一个月的第二周的第几天执行。6 在一个月的第三周的第几天执行。7 在一个月的第四周的第几天执行。8 在一个月的最后一周的第几天执行。当TYPE=0 时,其执行时间由下面的参数 DURING_START_DATE 指定。);

5、与 TYPE 有关。表示不同调度类型下的发生频率。(当 TYPE=0 时,这个值无效,系统不做检查。当 TYPE=1 时,表示每几天执行,取值范围为 1~100。当 TYPE=2 时,表示的是每几个星期执行,取值范围没有限制。当 TYPE=3 时,表示每几个月中的某一天执行,取值范围没有限制。当 TYPE=4 时,表示每几个月的第一周执行,取值范围没有限制。当 TYPE=5 时,表示每几个月的第二周执行,取值范围没有限制。当 TYPE=6 时,表示每几个月的第三周执行,取值范围没有限制。当 TYPE=7 时,表示每几个月的第四周执行,取值范围没有限制。当 TYPE=8 时,表示每几个月的最后一周执行,取值范围没有限制。)

6、与 TYPE 和 FREQ_INTERVAL 有关。表示不同 TYPE 的执行频率,在FREQ_INTERVAL基础上,继续指定更为精准的频率。(当 TYPE=0 或 1 时,这个值无效,系统不做检查。当 TYPE=2 时,表示的是某一个星期的星期几执行,可以同时选中七天中的任意几天。取值范围 1~127。具体如何取值,请用户参考如下规则。因为每周有七天,所以 DM 数据库系统内部用七位二进制来表示选中的日子。从最低位开始算起,依次表示周日、周一...周五、周六。选中周几,就将该位置 1,否则 0。例如,选中周二和周六,7 位二进制就是 1000100,转化成十进制就是 68,所以 FREQ_SUB_INTERVAL 就取值 68。当 TYPE=3 时,表示将在一个月的第几天执行。取值范围 1~31。当 TYPE 为 4、5、6、7 或 8 时,都表示将在某一周内第几天执行。取值范围 1~7,分别表示从周一到周日。

7、表示一天内每隔多少分钟执行一次。有效值范围 1~1440,单位分钟。

8、定义作业被调度的起始时间。必须是有效的时间字符串,不可以为空。

9、定义作业被调度的结束时间。可以为空。但如果不为空,指定的必须是有效的时间字符串,同时必须要在 STARTTIME 时间之后。

10、指定作业被调度的起始日期。必须是有效的日期字符串,不可以为空。

11、指定作业被调度的结束日期。可以为空,DURING_END_DATE 和 ENDTIME 都为空,调度活动会一直持续下去。但如果不为空,必须是有效的日期字符串,同时必须是在DURING_START_DATE 日期之后。

12、表示调度的注释信息,最大长度为 500 个字节。

call SP_ADD_JOB_SCHEDULE('FULL_BAK', 'FULL_BAK_S2', 1, 2, 1, 1, 0, '01:00:00', NULL, '2020-12-16 16:50:10', NULL, '');

在配置完成后,用户需要对前面所做的配置进行提交,表示对作业的配置已经完成,同

时将这个作业加入到运行队列。

call SP_JOB_CONFIG_COMMIT('FULL_BAK');

      1. 创建定时备份集增备

参数含义参考全备

call SP_CREATE_JOB('INCREMENT_BAK',1,0,'',0,0,'',0,'定时增量备份');

call SP_JOB_CONFIG_START('INCREMENT_BAK');

call SP_ADD_JOB_STEP('INCREMENT_BAK', 'INCREMENT_BAK_S1', 6, '11000000/opt/dmdbms/data/DAMENG/bak|/opt/dmdbms/data/DAMENG/bak', 1, 2, 0, 0, NULL, 0);

call SP_ADD_JOB_SCHEDULE('INCREMENT_BAK', 'INCREMENT_BAK_S2', 1, 2, 1, 126, 0, '01:00:00', NULL, '2020-12-16 17:26:58', NULL, '');

call SP_JOB_CONFIG_COMMIT('INCREMENT_BAK');

二 定时删除备份

新建作业

新增作业步骤

新增调度,选择每天凌晨3点执行作业

DDL语句:

call SP_CREATE_JOB('DEL_BAK',1,0,'',0,0,'',0,'定是删除备份');

call SP_JOB_CONFIG_START('DEL_BAK');

call SP_ADD_JOB_STEP('DEL_BAK', 'DEL_BAK_S1', 0, 'SP_DB_BAKSET_REMOVE_BATCH (null, SYSDATE-30);', 1, 2, 0, 0, NULL, 0);

call SP_ADD_JOB_SCHEDULE('DEL_BAK', 'DEL_BAK_S2', 1, 1, 1, 0, 0, '03:00:00', NULL, '2020-12-16 19:38:25', NULL, '');

call SP_JOB_CONFIG_COMMIT('DEL_BAK');

达梦技术社区地址:https://eco.dameng.com

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值