达梦数据库备份恢复和DTS工具运用(超详细)

物理备份还原概念

物理备份是找出那些已经分配、使用的数据页,拷贝并保存到备份集中。物理还原是物理备份的逆过程,物理还原一般通过 DMRMAN 工具(或者 SQL 语句),把备份集中的数据内容(数据文件、数据页、归档文件)重新拷贝、写入目标文件。

物理还原类型

联机备份还原:联机备份还原指数据库处于运行状态时,并正常提供数据库服务情况下进行的备份还原操作,称为联机备份还原。联机备份数据库必须要配置归档,要求数据库必须配置本地归档且归档必须处于开启状态。

脱机备份还原:脱机还原指数据库处于关闭状态时执行的还原操作。库备份、表空间备份和归档备份,可以执行脱机还原。脱机还原操作的目标库必须处于关闭状态。

联机备份
前期工作

数据库必须要配置归档

方式一

修改数据库为 Mount 状态: ALTER DATABASE MOUNT

配置本地归档 ALTER DATABASE ADD ARCHIVELOG DEST = /dmdata/arch, TYPE = local,FILE_SIZE = 1024, SPACE_LIMIT = 2048;

开启归档模式 ALTER DATABASE ARCHIVELOG;

修改数据库为 Open 状态 ALTER DATABASE OPEN;

方拾二

关闭数据库,在 dm.ini 所在目录,创建 dmarch.ini 文件。dmarch.ini 文件内容如下: [ARCHIVE_LOCAL1] ARCH_TYPE = LOCAL

ARCH_DEST = /home/dm_arch/arch

ARCH_FILE_SIZE = 1024

ARCH_SPACE_LIMIT = 2048

库全量备份

首先登陆./disql工具,执行如下命令:

BACKUP DATABASE FULL BACKUPSET '/dmdata/dmbak/db_full_bak_0415';

##BACKUPSET参数用于指定备份集的输出路径

##定备份集路径为:/dmdata/dmbak/db_full_bak_0415

设置备份名,备份名设置为“BACK_0416”

##备份名的设置不可以使用特殊格式,例如%NAME

BACKUP DATABASE TO BACK_0416 BACKUPSET '/dmdata/dmbak/db_full_bak_0416';

添加备份描述

##描述信息可以更详细地对备份类型、用途等进行说明

BACKUP DATABASE BACKUPSET '/dmdata/dmbak/db_full_bak_0417' BACKUPINFO'测试备份';

限制备份片大小

##MAXPIECESIZE 参数用于控制单个备份片的大小,不能大于磁盘剩余空间大小,否则报错磁盘空间不足。

##MAXPIECESIZE大小设置为300M

BACKUP DATABASE BACKUPSET '/dmdata/dmbak/db_full_bak_0418' MAXPIECESIZE 300;

备份压缩

##压缩选项有不同的压缩级别可以选择,取值范围为 0~9,应根据存储空间、数据文件大小等确定合适地压缩级别。压缩级别越高,备份压缩时间越长,此次实验压缩级别为5

BACKUP DATABASE BACKUPSET '/dmdata/dmbak/db_full_bak_0419' COMPRESSED LEVEL 5;

设置并行备份

##并行备份会提高备份速率,最高支持并行数为9,但是会对cpu和io等产生较大压力,应合适选择并行数来提高备份速率。此次实验并行数选择为5

BACKUP DATABASE BACKUPSET '/dmdata/dmbak/db_full_bak_0420' PARALLEL 5;

表空间备份

##执行表空间备份数据库实例必须开启归档模式

B备份GHTEST表空间

BACKUP TABLESPACE GHTEST BACKUPSET 'ts_full_bak_01';

执行增量备份

BACKUP TABLESPACE GHTEST INCREMENT BACKUPSET 'ts_increment_bak_01';

以增量备份用户GHTEST 表空间为例,指定 BASE ON BACKUPSET 参数执行增量备份

BACKUP TABLESPACE GHTEST INCREMENT BASE ON BACKUPSET'ts_full_bak_01' BACKUPSET 'ts_increment_bak_02';

表备份(指定模式和表名)

##备份表无需开启归档模式

BACKUP TABLE "GHUSER"."PERSON" BACKUPSET 'tab_bak_01';

表还原(达梦数据库仅支持表联机还原)

RESTORE TABLE "test"."tbl_hero" FROM BACKUPSET 'tab_bak_02';

归档备份

BACKUP ARCHIVE LOG ALL BACKUPSET '/dmdata/arcj/arch_bak_0415';

达梦管理工具联机备份

备份,右键,新建备份即可。

数据还原

达梦数据库仅支持表的联机还原,数据库、表空间和归档日志的还原必须通过脱机工具 DMRMAN 执行。

脱机备份还原:脱机还原指数据库处于关闭状态时执行的还原操作。库备份、表空间备份和归档备份,可以执行脱机还原。脱机还原操作的目标库必须处于关闭状态。

脱机备份数据库可配置归档也可以不配置。正常退出的库的备份不需要考虑本地归档日志的完整性,可以不配置归档;但对于故障退出的库的备份要求因故障未刷盘的日志也必须存在于本地归档中,因此必须配置归档。

备份集:备份集用来存放备份过程中产生的备份数据及备份信息。一个备份集对应了一次完整的备份。一般情况下,一个备份集就是一个目录,备份集包含一个或多个备份片文件,以及一个备份元数据文件。

DMRMAN工具

自带的脱机备份还原工具,无需额外安装,在bin目录下。

启动:./dmrman

退出:exit

脱机全量备份

关闭数据库:./DmServiceDAMENG stop

进入DMRMAN工具,执行如下命令

BACKUP DATABASE '/dmdata/data/DAMENG/dm.ini ' FULL BACKUPSET '/dmdata/dmbak/db_full_bak_01';

增量备份

BACKUP DATABASE '/dmdata/data/DAMENG/dm.ini ' INCREMENT WITH BACKUPDIR '/dmdata/dmbak'BACKUPSET '/dmdata/dmbak/db_increment_bak_02';

归档备份

BACKUP ARCHIVE LOG ALL DATABASE'/dmdata/data/DAMENG/dm.ini ' BACKUPSET '/dmdata/arch/arch_all_bak_01';

数据还原和恢复

新建目标库

./dminit path=/dmdata/data/ db_name=DAMENG_FOR_RESTORE

校验备份

CHECK BACKUPSET '/dmdata/dmbak/db_full_bak_01';

还原数据库

RESTORE DATABASE '/dmdata/data/DAMENG_FOR_RESTORE/dm.ini' FROM BACKUPSET '/dmdata/dmbak/db_full_bak_01';

恢复数据库

RECOVER DATABASE '/dmdata/data/DAMENG_FOR_RESTORE/dm.ini' FROM BACKUPSET '/dmdata/dmbak/db_full_bak_01';

更新数据库DB_MAGIC

RECOVER DATABASE '/dmdata/data/DAMENG_FOR_RESTORE/dm.ini' UPDATE DB_MAGIC;

查看备份还原新库

表空间还原和回复

##使用 RESTORE 命令完成表空间的脱机还原,还原的备份集可以是联机或脱机生成的库备份集,也可以是联机生成的表空间备份集。脱机表空间还原仅涉及表空间数据文件的重建与数据页的拷贝。表空间还原的目标库只能是备份集产生的源库,否则将报错。

RESTORE DATABASE ''/dmdata/data/DAMENG_FOR_RESTORE/dm.ini' TABLESPACE GHTEST FROM BACKUPSET '/dmdata/dmbak/ts_full_bak_01';

表空间恢复通过重做 REDO 日志,以将数据更新到一致状态。由于日志重做过程中,修改好的数据页首先存入缓冲区,缓冲区分批次将修改好的数据页写入磁盘,如果在此过程中发生异常中断,可能导致缓冲区中的数据页无法写入磁盘,造成数据的不一致,数据库启动时校验失败,所以表空间恢复过程中不允许异常中断。

RECOVER DATABASE '/dmdata/data/DAMENG_FOR_RECOVER/dm.ini' TABLESPACE GHTEST;

归档还原

用 RESTORE 命令完成脱机还原归档操作,在还原语句中指定归档备份集。设置 OVERWRITE 为 2,如果归档文件已存在,会报错。

1、指定还原的目标归档日志目录:

RESTORE ARCHIVE LOG FROM BACKUPSET '/dmdata//dmdata/arcj/arch_bak_0415' TO ARCHIVEDIR'/opt/dmdbms/data/DAMENG_FOR_RESTORE/arch_dest' OVERWRITE 2; ##

2、指定还原目标库的 dm.ini 文件路径:

RESTORE ARCHIVE LOG FROM BACKUPSET '/dmdata//dmdata/arcj/arch_bak_0415' TO DATABASE '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' OVERWRITE 2;

DTS(mysql5.7-DM8)

mysql配置信息

达梦配置信息

完成界面

数据对比

注:mysql配置信息失败报错,可选择换驱动。mysql-connector-j-8.2.0,这个驱动一般是可以的。

达梦社区:达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值