达梦数据库物理备份恢复之定时备份作业

参考手册:DMV8 1-1-190版本《DM8作业使用手册》《DM8备份与还原手册》

一、简介

本次主要介绍达梦数据库定时备份作业配置。

备份作业的配置可以使用两种方式:

1.通过管理工具(方便,友好,易操作)

2.通过SQL语句执行对应的系统包

二、环境说明

OS:NeoKylin Linux Advanced Server release V7Update6/(Chromium)-x86_64

DB_VERSION:DM V8 1-1-190-21.03.12-136419-ENT

客户端管理工具:DM V8 1-1-190(低版本的客户端"作业步骤"那里可能选项可能会有部分差异)

数据库归档模式:已开启

DMAP服务:已运行

三、相关系统表和存储过程介绍

3.1 作业相关主要的系统表和存储过程

系统存储过程:

SP_CREATE_JOB:用于创建作业。参数值较多,参考《DM8作业系统使用手册》创建作业章节。
SP_ALTER_JOB:用于修改作业。参数与SP_CREATE_JOB相同,参考《DM8作业系统使用手册》修改作业章节。
SP_DROP_JOB:用于删除作业。

call SP_DROP_JOB('TEST'); ---删除TEST作业

SP_JOB_CONFIG_START:开始配置作业。必须在增加、删除作业步骤以及作业配置之前执行

call SP_JOB_CONFIG_START('TEST');   ---开始配置TEST作业

SP_JOB_SET_EP_SEQNO:指定作业执行节点。默认作业在控制节点执行。(可选)

call SP_JOB_SET_EP_SEQNO('TEST', 1);  ---指定TEST作业在1号节点上执行。节点号取值[0,15],默认为0,表示控制节点。

SP_ADD_JOB_STEP:增加作业步骤。参数值较多,参考《DM8作业系统使用手册》作业步骤章节。
SP_ALTER_JOB_STEP:修改作业步骤。参数与SP_ADD_JOB_STEP相同,参考《DM8作业系统使用手册》作业步骤章节。
SP_DROP_JOB_STEP:删除作业步骤。

SP_DROP_JOB_STEP('TEST', 'S1');   ---删除TEST作业的S1步骤

SP_ADD_JOB_SCHEDULE:增加作业调度。参数值较多,参考《DM8作业系统使用手册》作业调度章节。
SP_ALTER_JOB_SCHEDULE:修改作业调度。参数与SP_ADD_JOB_SCHEDULE相同,参考《DM8作业系统使用手册》作业调度章节。
SP_DROP_JOB_SCHEDULE:删除作业调度。
SP_JOB_CONFIG_COMMIT:结束作业配置。
SP_JOB_CLEAR_HISTORIES:清理作业日志记录。

主要的系统表:

SYSJOBS表:查看已创建的作业。SYSJOB模式下的SYSJOBS表。
SYSJOBSTEPS表:存放作业的所有步骤信息 。SYSJOB模式下的SYSJOBS表。
SYSJOBSCHEDULES表:存放作业的所有调度信息。SYSJOB模式下的SYSJOBSCHEDULES表。
SYSJOBHISTORIES2表:存放作业的执行情况的日志。SYSJOB模式下的SYSJOBHISTORIES2表。
SYSSTEPHISTORIES2表:存放作业步骤的执行情况的日志。SYSJOB模式下SYSSTEPHISTORIES2表。

关于上面的存储过程以及系统表的使用说明,请参考《DM8作业系统使用手册》,手册存放在达梦数据库安装目录下的doc文件夹下。

3.2 备份相关系统存储过程和系统视图

备份相关系统存储过程和函数:

SF_BAKSET_BACKUP_DIR_ADD:添加备份目录。
SF_BAKSET_BACKUP_DIR_REMOVE:删除内存中指定的备份目录。
SF_BAKSET_BACKUP_DIR_REMOVE_ALL:删除内存中全部的备份目录。
SF_BAKSET_CHECK:对备份集进行校验。
SF_BAKSET_REMOVE:删除指定设备类型和指定备份集目录的备份集。
SF_BAKSET_REMOVE_BATCH: 批量删除满足指定条件的所有备份集。使用之前需要先使用SF_BAKSET_BACKUP_DIR_ADD添加将要删除的备份集目录。
SP_DB_BAKSET_REMOVE_BATCH:批量删除指定时间之前的数据库备份集。使用之前需要先使用SF_BAKSET_BACKUP_DIR_ADD添加将要删除的备份集目录。
SP_TS_BAKSET_REMOVE_BATCH:批量删除指定表空间对象及指定时间之前的表空间备份集。使用之前需要先使用SF_BAKSET_BACKUP_DIR_ADD添加将要删除的备份集目录。
SP_TAB_BAKSET_REMOVE_BATCH:批量删除指定表对象及指定时间之前的表备份集。使用之前需要先使用SF_BAKSET_BACKUP_DIR_ADD添加将要删除的备份集目录。
SP_ARCH_BAKSET_REMOVE_BATCH:批量删除指定条件的归档备份集。使用之前需要先使用SF_BAKSET_BACKUP_DIR_ADD添加将要删除的备份集目录。

SF_BAKSET_BACKUP_DIR_ADD 添加备份目录仅对当前会话有效。调用删除备份等函数或查看动态视图时要先调用 SF_BAKSET_BACKUP_DIR_ADD 添加备份目录,否则仅搜索默认备份路径下的备份集。

备份相关动态视图:

V B A C K U P S E T : 显 示 备 份 集 基 本 信 息 。 V BACKUPSET:显示备份集基本信息。 V BACKUPSETVBACKUPSET_DBINFO:显示备份集的数据库相关信息。
V B A C K U P S E T D B F : 显 示 备 份 集 中 数 据 文 件 的 相 关 信 息 。 V BACKUPSET_DBF:显示备份集中数据文件的相关信息。 V BACKUPSETDBFVBACKUPSET_ARCH:显示备份集的归档信息。
V B A C K U P S E T B K P : 显 示 备 份 集 的 备 份 片 信 息 。 V BACKUPSET_BKP:显示备份集的备份片信息。 V BACKUPSETBKPVBACKUPSET_SEARCH_DIRS:显示备份集搜索目录。
V B A C K U P S E T T A B L E : 显 示 表 备 份 集 中 备 份 表 信 息 。 V BACKUPSET_TABLE:显示表备份集中备份表信息。 V BACKUPSETTABLEVBACKUPSET_SUBS:显示并行备份中生成的子备份集信息。

查看备份信息之前应先使用SF_BAKSET_BACKUP_DIR_ADD添加备份集目录,否则只显示默认备份路径下的备份集信息。

关于上面的存储过程、函数以及系统视图的使用,请参考《DM8备份与还原手册》,手册存放在达梦数据库安装目录下的doc文件夹下。

四、配置备份作业

配置的备份策略为:

​ 每周日23点进行数据库全备份;其余每天23点进行增量备份;每天凌晨1点清理历史备份文件,备份文件保留8天;

4.1 通过管理工具进行配置(推荐)

4.1.1 数据库全备作业
4.1.1.1 登录管理工具

使用管理工具连接登录数据库

4.1.1.2 创建代理环境

在管理工具左边导航栏—数据库连接下面—“代理”—选择“创建代理环境”,如图:

image-20210420164808212

4.1.1.3 创建作业

在“代理”—“作业” 下,右键 ”新建作业“

指定作业名

选项—“常规” 设置 ,指定作业名称

image-20210423113908791

设置作业步骤

选项—“作业步骤” 设置,选择"添加",设置新建作业步骤,并确定:

image-20210423114051757

作业步骤—常规选项:

​ 步骤名称:指定步骤名称 。 (必要项)

​ 步骤类型:选择"基于备份集备份数据" 。 (必要项)

​ 备份路径:指定备份文件存放路径 。(必要项)

​ 备份方式:选择"完全备份" 。 (必要项)

​ 备份并行数、备份片大小可以根据实际情况设置。基备份目录为增量备份方式时选择。

全备作业配置"常规"选项即可,"高级"选项默认即可。

image-20210423114339996

image-20210423115706980

设置作业调度

选项—“作业调度” 设置,选择"新建",设置新建作业步骤,并确定:

image-20210423115739235

作业调度配置项:

​ 名称:指定调度名称。

​ 调度类型:可选项为"执行一次"、“反复执行”,备份以及定时自动执行的任务选择"反复执行"。

​ 类别:可选项为"天"、“周”、“月”,根据需要去选择任务执行的频率。根据上面的备份策略这里设置为每周的星期日。

​ 每日频率:指定每天的执行频率,可选择"执行一次"或者按照"执行周期"进行设置,“执行周期” 间隔可选"分钟"、“小时”。

image-20210423120057251

image-20210423121055861

点击"确定",到此全备份作业创建完成。

image-20210423121642873

作业DDL选项

作业DDL选项为上述选项配置的调用系统方法的执行语句,也可以通过执行里面的内容创建整个作业,创建的作业设置和上面图形化中设置的各个选项内容相同。

4.1.2 数据库增量备份作业
4.1.2.1 增量备份作业需要注意的地方

​ 当数据库环境为主备集群时,由于所有的备份作业只能在主库运行,路径存放在主库服务器上。主备库发生切换后,由于备库上对应的备份路径下没有全备文件,所以增量备份作业任务执行时会失败(这里与ORACLE RMAN备份有区别),所以需要在增量备份作业的作业步骤中添加一个全备的作业步骤,并在增量备份的步骤中设置当作业步骤执行失败时执行下一个步骤也就是全备作业步骤,可以解决当没有全备时增量备份执行失败的问题。

4.1.2.2 登录管理工具

使用管理工具连接登录数据库

4.1.2.3 创建作业

在“代理”—“作业” 下,右键 ”新建作业“。

指定作业名

选项—“常规” 设置 ,指定作业名称

image-20210423121922220

设置增量备份作业步骤

选项—“作业步骤” 设置,选择"添加",设置新建作业步骤,并确定:

image-20210423122055122

作业步骤—常规选项:

​ 步骤名称:指定步骤名称 。 (必要项)

​ 步骤类型:选择"基于备份集备份数据" 。 (必要项)

​ 备份路径:指定增量备份文件存放路径 。(必要项)

​ 备份方式:选择"增量备份" 。 (必要项)

​ 基备份目录:指定全备份的目录。这里需要注意:如果当前使用的管理工具与数据库不在同一台机器,“添加” )基备份目录时(下图中步骤①)弹出的选择路径为当前使用的管理工具机器的路径,需要先随便选择一个路径,然后手动修改为服务器上全备份的路径(双击下图步骤②的位置可以修改路径)。

​ 备份并行数、备份片大小可以根据实际情况设置。

image-20210423122407266

作业步骤—高级选项:

高级选项主要是设置当前作业步骤执行后的操作执行成功时:“报告执行成功并结束作业”、“报告执行成功并继续执行下一步”、“不报告执行成功并结束作业”、“不报告执行成功并继续执行下一步”,执行失败时:“报告执行失败并结束作业”、“报告执行失败并继续执行下一步”、“不报告执行失败并结束作业”、“不报告执行失败并继续执行下一步”。 低版本(DM8 1-1-190以下)管理工具上只有"报告执行成功"、“报告执行失败”、“执行下一步”三个选项。

注意:有的低版本管理工具可能这里选项可能会有区别!!!

在增量备份作业中,最好在增量备份作业步骤失败时设置"重试次数"和"重试间隔"。并指定失败后"执行下一步"(下一步为全备作业步骤,下面会设置)。

image-20210423125055702

image-20210423135926642

设置全备作业步骤

操作步骤与设置增量类似,在增量备份作业-"作业步骤"中添加一个全备作业步骤:

image-20210423140141841

image-20210429153444321

image-20210429152810302

该作业步骤截图和上面截图”类型” 会不一样,原因是本次测试使用了两个不同版本的客户端管理工具,在DMV8 1-1-190版本的管理工具中作业步骤类型用于备份数据库的只有”备份数据库“一个作业类型,默认为"基于备份集备份数据库"。 低版本的客户端管理工具上面会显示由两个作业步骤类型"备份数据库"和"基于备份集备份数据库"。

设置作业调度

操作方法和数据库全备作业配置一样,配置项说明参考数据库全备作业的设置调度步骤。

根据备份策略,增量备份设置为周一至周六的每天23点执行。

选项—“作业调度” 设置,选择"新建",设置新建作业步骤,并确定:

image-20210423140419160

image-20210423140546368

image-20210423140730761

选择"确定",完成作业创建设置。

image-20210423140759492

4.1.3 历史备份文件清理

历史备份文件的清理主要是通过SF_BAKSET_BACKUP_DIR_ADD和SP_DB_BAKSET_REMOVE_BATCH两个函数和存储过程来完成。

CALL SF_BAKSET_BACKUP_DIR_ADD('DISK', '/dm/dm134/data/TEST/bak');
CALL SP_DB_BAKSET_REMOVE_BATCH('DISK', NOW()-8);
创建作业

在“代理”—“作业” 下,右键 ”新建作业“。

指定作业名

image-20210423141827952

设置作业步骤

选项—“作业步骤” 设置,选择"添加",设置新建作业步骤,并确定:

image-20210423144326255

image-20210423142530342

设置作业调度

选项—“作业调度” 设置,选择"新建",设置新建作业步骤,并确定:

image-20210423143811944

image-20210423143829391

image-20210423144457333

4.2 通过SQL语句的方式

最简单的就是在管理工具上创建完了之后,可以直接将里面的执行语句拷贝出来,修改对应的备份文件路径即可,然后到其他的环境去执行.

比如上面通过管理工具创建的几个作业DDL语句如下:

对应作业右键—“属性”—“DDL”

image-20210423150652792

创建代理环境语句
SP_INIT_JOB_SYS(1);
全备作业的创建语句
call SP_CREATE_JOB('BAK_FULL',1,0,'',0,0,'',0,'Backup Full Database');
call SP_JOB_CONFIG_START('BAK_FULL');
call SP_JOB_SET_EP_SEQNO('BAK_FULL', 0);
call SP_ADD_JOB_STEP('BAK_FULL', 'S_F1', 6, '01000000/dm/dm134/data/TEST/bak', 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('BAK_FULL', 'S_F2', 1, 2, 1, 1, 0, '23:00:00', NULL, '2021-04-23 11:58:18', NULL, '');
call SP_JOB_CONFIG_COMMIT('BAK_FULL');
增量备份作业的创建语句
call SP_CREATE_JOB('BAK_INC',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('BAK_INC');
call SP_ADD_JOB_STEP('BAK_INC', 'S_I1', 6, '11000000/dm/data/DAMENG5237/bak|/dm/data/DAMENG5237/bak', 1, 2, 1, 5, NULL, 0);
call SP_ADD_JOB_STEP('BAK_INC', 'S_F2', 6, '01000000/dm/data/DAMENG5237/bak', 1, 1, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('BAK_INC', 'S_I2', 1, 2, 1, 126, 0, '23:00:00', NULL, '2021-04-23 14:04:28', NULL, '');
call SP_JOB_CONFIG_COMMIT('BAK_INC');
清理历史备份作业的创建语句
call SP_CREATE_JOB('BAK_CLEAR',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('BAK_CLEAR');
call SP_ADD_JOB_STEP('BAK_CLEAR', 'S_C1', 0, 'CALL SF_BAKSET_BACKUP_DIR_ADD(''DISK'', ''/dm/dm134/data/TEST/bak'');
CALL SP_DB_BAKSET_REMOVE_BATCH(''DISK'', NOW()-8);', 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('BAK_CLEAR', 'S_C2', 1, 1, 1, 0, 0, '01:00:00', NULL, '2021-04-23 14:44:07', NULL, '');
call SP_JOB_CONFIG_COMMIT('BAK_CLEAR');

五、结语

​ 通过达梦数据库管理工具进行创建数据库作业操作非常简单,并且达梦数据库管理工具对于每个操作都会在选择确定完成操作之前自动生成相应的DDL语句。当有时候遇到无法使用图形工具进行操作时而又不确定操作语句参数是否正确时,可以先在能够使用图形工具的机器上使用管理工具将相关操作设置后,将对应的DDL语句直接拷贝下来修改后直接去服务器执行。

​ 另外,在使用上的两点建议:

​ (1)在使用客户端管理工具的版本最好与数据库版本相同,这样能尽可能的避免一些不必要的小问题,是整个维护操作更顺利。

​ (2)参考的官方手册也最好与当前使用的数据库版本相同,可以到$DM_HOME/doc(达梦数据库软件安装目录下的doc目录)下面获取。

​ 因为不同的版本的官方手册以及工具可能会存在差异,最好是使用与当前使用的数据库对应的工具和手册。

更多资讯请上达梦技术社区了解:https://eco.dameng.com

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
达梦数据库支持两种备份方式:在线备份和离线备份。下面分别介绍这两种备份方式的恢复操作: 1. 在线备份恢复: 在线备份是在数据库运行期间,通过达梦数据库管理工具进行备份恢复时需要使用达梦数据库管理工具来进行恢复操作。 步骤如下: (1)打开达梦数据库管理工具,在主界面点击“数据库管理”按钮,进入数据库管理界面。 (2)选择要恢复的数据库,点击“备份/恢复”按钮,进入备份/恢复界面。 (3)在备份/恢复界面,选择要恢复备份文件,点击“恢复”按钮,等待恢复完成即可。 2. 离线备份恢复: 离线备份是在数据库关闭后,通过操作系统或者文件系统进行备份恢复时需要使用达梦数据库恢复工具进行恢复操作。 步骤如下: (1)下载达梦数据库恢复工具,解压到本地目录中。 (2)关闭要恢复的数据库,将离线备份文件拷贝到恢复工具所在目录中。 (3)打开命令行窗口,进入恢复工具所在目录,执行以下命令进行恢复操作: ``` dmrec recover -s old_db_name -n new_db_name -f backup_file_name ``` 其中,old_db_name 是原数据库名称,new_db_name 是恢复后的数据库名称,backup_file_name 是备份文件名。 (4)等待恢复完成,检查恢复结果是否正确。 以上是达梦数据库在线备份和离线备份恢复操作,需要注意备份文件的正确性和恢复操作的安全性,以免造成数据丢失或者损坏。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值