达梦数据库备份还原支持分享

达梦数据库备份还原支持分享

达梦数据库简介

达梦是中国电子信息产业集团(CEC)旗下基础软件企业,专业从事数据库管理系统的研发、销售与服务,同时可为用户提供大数据平台架构咨询、数据技术方案规划、产品部署与实施等服务,是国内最早从事数据库管理系统研发的科研机构。目前国产化改造,很多企业选择用达梦作为国产化转型得数据库选择。
数据库备份是 DBA 日常最重要的工作内容。 备份的主要目的是数据容灾,保证数据的安全性,在数据库发生故障时,通过还原备份集,将数据恢复到可用状态,掌握备份恢复的知识必不可少。

达梦数据库备份恢复简介

DM 数据库中的数据存储在数据库的物理数据文件中,数据文件按照页、簇和段的方式进行管理,数据页是最小的数据存储单元。任何一个对 DM 数据库的操作,归根结底都是对某个数据文件页的读写操作。因此, DM 备份的本质就是从数据库文件中拷贝有效的数据页保存到备份集中。
还原与恢复是备份的逆过程。还原是将备份集中的有效数据页重新写入目标数据文件的过程。恢复则是指通过重做归档日志,将数据库状态恢复到备份结束时的状态;也可以恢复到指定时间点和指定 LSN。恢复结束以后,数据库中可能存在处于未提交状态的活动事务,这些活动事务在恢复结束后的第一次数据库系统启动时,会由 DM 数据库自动进行回滚。
在这里插入图片描述

备份还原原理

归档说明

备份与恢复过程都依赖归档日志,归档日志是保证数据一致性和完整性的重要保障。配有归档日志的数据库系统在出现故障时丢失数据的可能性更小,这是因为一旦出现介质故障,如磁盘损坏时,利用归档日志,系统可被恢复至故障发生的前一刻,也可以还原到指定的时间点。
归档日志有本地归档(LOCAL)和远程归档(REMOTE ARCHIVE)两种。本地归档就是将 Redo 日志写入到本地归档日志文件的过程。远程归档(REMOTE ARCHIVE),顾名思义就是将写入本地归档的 REDO 日志信息,发送到远程节点,并写入远程节点的指定归档目录中。

备份

任何一个对 DM 数据库的操作,归根结底都是对某个数据文件页的读写操作。物理备份就是把这些数据文件中的有效数据页备份起来,在出现故障时,用于恢复数据。 DM 的物理备份一般包括数据备份和日志备份两部分,数据备份是拷贝数据页内容,日志备份则是拷贝备份过程中产生的 REDO 日志。
在这里插入图片描述1.数据备份
数据备份过程中,根据 DM 数据文件系统的描述信息,准确判断每一个数据页是否被分配、使用,将未使用的数据页剔除,仅保留有效数据页进行备份,这个过程我们称为智能抽取。与直接文件拷贝方式相比, DM 物理备份丢弃了那些没有使用的数据页,因此可以节省对存储空间的要求,并有效减少 IO 数量,提升备份、还原的效率。

2.日志备份
日志备份,就是将备份过程中产生的 REDO 日志拷贝到备份片文件中,用来在数据库还原结束后,将数据库恢复到一致性状态。如图 2.1 所示,在执行备份过程中,用户可能修改数据库中的数据,并产生对应的 REDO 日志。增量备份和完全备份的日志备份流程完全相同。

3.压缩与加密
DM 支持对备份数据进行压缩和加密处理,用户在执行备份时,可以指定不同的压缩级别,以获得不同的数据压缩比。默认情况下,备份是不进行压缩和加密处理的。

还原与恢复

还原与恢复是备份的逆过程,还原与恢复的主要目的是将目标数据库恢复到备份结束时刻的状态。还原的主要动作是将数据页从备份集中拷贝回数据库文件相应位置,恢复则是重做 REDO 日志将数据库恢复到一致性状态。
1.数据还原

  • 库还原
    库还原就是根据库备份集中记录的文件信息重新创建数据库文件,并将数据页重新拷贝到目标数据库的过程。 DM 既可以将一个已存在的数据库作为还原目标库,也可以指定一个路径作为还原目标库的目录。库还原的主要步骤包括:清理目标库环境;重建数据库文件;拷贝数据页;重建联机日志文件;修改配置参数等
  • 表空间还原
    表空间还原是根据库备份集或表空间备份集中记录的数据信息,重建目标表空间数据文件并拷贝数据页的过程, 该过程不涉及日志操作。dca考试中有针对表空间恢复的操作。
    表空间还原只可以在脱机状态下执行。脱机时通过 DMRMAN 工具执行,对表空间状态没有限制。表空间还原后如果表空间状态为 RES_OFFLINE,表明目标表空间已进行还原操作,但数据不完整。
  • 表还原
    表还原是表备份的逆过程,表还原从表备份集中读取数据替换目标表,将目标表还原成备份时刻的状态。表还原主要包括三部分内容:表结构还原、数据还原、以及重建索引和约束。
    2.数据恢复
    数据恢复是指在还原执行结束后,重做 REDO 日志,将数据库恢复到一致性状态,并执行更新 DB_MAGIC 的过程。其中重做 REDO 日志可以多次执行,直到恢复到目标状态。还原结束后,必须经过恢复操作,数据库才允许启动。即使备份过程中没有修改任何数据,备份集不包含任何 REDO 日志,在数据库还原结束后,也必须使用 DMRMAN 工具执行数据恢复
    操作后,才允许启动数据库。

一个完整的还原恢复的操作如下

./dmrman CTLSTMT="BACKUP DATABASE '/dm8/data/DMDB/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET  '/dm8/backup/DMDB_bak'" 
./dmrman CTLSTMT="RESTORE DATABASE '/dm8/data/DMDB/dm.ini' FROM BACKUPSET '/dm8/backup/DMDB_bak'" 
./dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/DMDB/dm.ini' FROM BACKUPSET '/dm8/backup/DMDB_bak'" 
./dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/DMDB/dm.ini' UPDATE DB_MAGIC" 

3.解密和解压缩
解密和解压缩是备份过程中加密和压缩的逆操作,如果若备份时未指定加密或压缩,还原和恢复过程中也不需要执行解密或者解压缩操作。
如果备份时进行了加密,那么还原时用户必须指定与备份时一致的加密密码和加密算法,否则还原会报错。 如果备份时没有加密, 那么还原时用户不需要指定加密密码和加密算法,如果指定了, 也不起作用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值