引言:做备份前一定要保证开启归档,并保证归档连续性。
1.1 创建定时完全备份。
1.1.1创建代理环境
在管理工具对象导航中找到代理,点击创建代理环境。
1.1.2 点击新建作业,出现下图,输入作业名及作业描述后,点击作业步骤。
1.1.3在作业步骤选项内,点击添加,弹出下图进行步骤配置。
1.1.4 点击作业调度,新建定时调度。
1.2 设置定时增量备份
1.2.1 设置增量备份
增量备份配置与完全备份类似,需注意在新建作业步骤时候选择差异备份,以及基备份目录。
2、Sql语句设置定时备份
2.1 创建定时备份全备
call SP_CREATE_JOB('FULL_BAK',1,0,'',0,0,'',0,'完全备份');
参数含义依次:1、作业名称;2、作业是否启用(1 启用,0 不启用);3、作业是否开启邮件系统(1 是,0 否);4、指定操作员名称。如果开启了邮件通知功能,邮件会发送给该操作员;5、如果在开启了邮件发送之后,在什么情况下发送邮件。情况分为三种:(0 表示在作业执行成功后发送;1 表示在作业执行失败后发送;2 表示在作业执行结束后发送);6、作业是否开启网络发送。(1 是;0 否);7、指定操作员名称,8、如果在开启了网络发送之后,在什么情况下发送网络信息。这个情况也有三种,和上面的 EMAIL_TYPE 是完全一样的;9、作业描述信息。
call SP_JOB_CONFIG_START('FULL_BAK');
用系统过程 SP_JOB_CONFIG_START 来指定对一个作业配置的开始。
参数含义依次:要配置的作业的名称。执行时会检测这个作业是否存在,如果不存在则报错。
call SP_ADD_JOB_STEP('FULL_BAK', 'FULLBAKUP', 6, '00000000/dm8/dmbak', 0, 0, 0, 0, NULL, 0);
参数含义依次:
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_SCHEDULE('FULL_BAK', 'FULLBAKTIME', 1, 2, 1, 2, 0, '23:00:00', NULL, '2023-08-03 15:33:59', NULL, '');
参数含义依次:
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_JOB_CONFIG_COMMIT('FULL_BAK');
在配置完成后,用户需要对前面所做的配置进行提交,表示对作业的配置已经完成,同
时将这个作业加入到运行队列。
2.2创建定时备份集增备
参数含义参考全备
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', 'INCREMENTBAK', 6, '10000000/dm8/dmbak/DB_DMDB_FULL_2023_08_01_17_50_44|/dm8/backup', 0, 0, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('INCREMENT_BAK', 'INCREMENTTIME', 1, 2, 1, 1, 0, '15:47:20', NULL, '2023-08-03 15:47:20', NULL, '');
call SP_JOB_CONFIG_COMMIT('INCREMENT_BAK');
1、管理工具设置定时任务
1.1 新建作业
1.2 新建作业调度,选择每天凌晨三点执行。
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', 'DELBAKUP', 0, 'call SF_BAKSET_BACKUP_DIR_ADD(''DISK'',''/dm8/dmbak'');
Call SP_DB_BAKSET_REMOVE_BATCH(''DISK'',SYSDATE-30);', 0, 0, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('DEL_BAK', 'DELBAKTIME', 1, 2, 1, 127, 0, '03:00:00', NULL, '2023-08-03 16:32:31', NULL, '');
更多相关资料请参考达梦云适配技术社区
达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台