达梦数据库备份与还原-备份V1.0

联机归档配置

  1. 修改数据库为MOUNT状态。
    SQL>ALTER DATABASE MOUNT;

  2. 配置本地归档。
    SQL>ALTER DATABASE ADD ARCHIVELOG ‘DEST = /home/dm_arch/arch, TYPE = local, FILE_SIZE = 1024, SPACE_LIMIT = 2048’;

  3. 开启归档模式。
    SQL>ALTER DATABASE ARCHIVELOG;

  4. 修改数据库为OPEN状态。
    SQL>ALTER DATABASE OPEN;

连接备份分1.0和2.0,两者有什么区别
数据库处于运行状态、并正常提供数据库服务情况下进行的备份操作,我们称为联机备份。DM7 备份与还原前后发布了两个版本:V1.0和 V2.0。因为不同版本策略不同,所以备份文件在各版本间不能混用。
备份V1.0
备份还原 V1.0 指 DM7 早期的备份还原,不是基于备份集组织的备份。V1.0 版本使用dmbackup 工具执行脱机备份,使用 dmrestore 工具执行脱机还原。
备份V2.0
引入备份片、元数据文件、备份集等概念,提供第三方备份(TAPE 类型)接口,支持RAC 备份。使用 DMRMAN 工具进行脱机备份还原。V2.0 的备份还原实现策略有两种:dmap 插件方式和无插件方式。用户可通过 DM.INI参数 bak_use_ap 来选择(dmrman 使用参数 use_ap),bak_use_ap 取值 1、2。默认为 1。
1:DMAP 插件方式,可支持第三方备份(指定 DEVICE TYPE 为 TAPE)。DMAP 插件执行,改造了备份还原任务子系统,允许指定并行度,大幅提升了备份还原的效率,特别是加密、压缩的处理效率。如果选择使用 DMAP 插件,执行备份还原之前就必须启动 DMAP 服务。安装 DM7 数据库以后,DMAP 服务会自动启动。如果需要手动启动,有两种途径,一是启动 DM 服务查看器中的 DmAPService。二是通过手动启动 DMAP 执行码实现,DMAP 执行码位于 DM7 安装目录的 bin 子目录下。除此之外,LINUX 下,还可以调用 bin 目录下的 DmAPService 脚本。
2:无插件方式,不依赖 DMAP,由主进程(dmserver、dmrman)自身执行备份还原,但不支持第三方备份(指定 DEVICE TYPE 为 TAPE)。

以下先介绍备份V1.0

全量备份
介绍全量备份,全量备份的基本原理
完全备份生成的备份文件包含了指定库(或者表空间)的全部有效数据页。DM7 的物理备份一般包括数据备份和日志备份两部分,数据备份是拷贝数据页内容,日志备份则是拷贝备份过程中产生的 REDO 日志。因为DM7的在线重做日志(REDO LOG)每次被修改以后,都会自动生成一个新的日志序列值 LSN(Log SequenceNumber),所以联机全量备份以开始备份时间点的检查点LSN+1作为START_LSN,备份进程线程会拷贝START_LSN之前的全部有效数据页,当拷贝结束后此时的归档日志的LSN作为END_LSN,如果 START_LSN 大于 END_LSN + 1,说明备份过程中产生了新的数据,备份线程则会将START_LSN和END_LSN之间的归档日志一起拷贝,完成一次联机全量备份。
如图所示:

备份语法:
BACKUP DATABASE [FULL |INCREMENT WITH BACKUPDIR ‘<备份目录>’ TO <备份名> [BAKFILE ‘<备份路径>’] [COMPRESSED [LEVEL <压缩级别>]]

全量备份实例:

  1. 查看数据库已经开启归档
    SELECT * FROM V$ARCHIVED_LOG;
    达梦数据库备份与还原-备份V1.0_第1张图片

2.使用备份语句进行备份
BACKUP DATABASE FULL TO full_bak BAKFILE ‘/home/dmdba/dmdbms/data/DAMENG/bak/database_full.bak’;
在这里插入图片描述

3.检查备份文件有效性
SELECT SF_BAKSET_CHECK(‘DISK’,’/home/dmdba/dmdbms/data/DAMENG/bak/database_full.bak’);
在这里插入图片描述
执行结果是1说明备份文件有效,如果是0则备份文件无效(版本比较老的DM7有效的备份文件执行结果也可能是0)。

增量备份
介绍增量备份,全库备份命令
增量备份是在某个特定备份集基础上,收集数据库新修改的数据页进行备份,可以有效减少备份集的空间占用、提高备份速度。这个特定的、已经存在的备份集称为增量备份的基备份,根据对基备份的要求不同,DM 的增量备份分为以下两种:
差异增量备份
差异增量备份的基备份既可以是一个完全备份集,也可以是一个增量备份集。利用增量备份进行还原操作时,要求其基备份必须是完整的;如果差异增量备份的基备份本身也是一个增量备份,那么同样要求其基备份是完整的;任何一个增量备份,最终都是以一个完全备份作为其基备份。因此,完全备份是增量备份的基础。
2. 累积增量备份累积增量备份的基备份只能是完全备份集,而不能是增量备份集。
备份原理和全量备份一样,之前有效数据页的拷贝范围是从上次全量备份的结束点开始,如图所示:
达梦数据库备份与还原-备份V1.0_第2张图片

差异增量备份实验:

  1. 确认已存在至少一个有效的全量备份
  2. 使用SQL语句备份,备份目录可以是全量备份目录也可以是增量备份目录
    这里是用全量备份的目录
    BACKUP DATABASE INCREMENT WITH BACKUPDIR ‘/home/dmdba/dmdbms/data/DAMENG/bak/’ BAKFILE ‘/home/dmdba/dmdbms/data/DAMENG/bak/database_INREMENT.bak’;

3.检查备份文件有效性
SELECT SF_BAKSET_CHECK(‘DISK’,’/home/dmdba/dmdbms/data/DAMENG/bak/database_INREMENT.bak’);
在这里插入图片描述

累计增量备份实验
1.确认已存在至少一个有效的全量备份

  1. 使用SQL语句备份,备份目录是全量备份目录

BACKUP DATABASE INCREMENT CUMULATIVE WITH BACKUPDIR ‘/home/dmdba/dmdbms/data/DAMENG/bak’ BAKFILE ‘/home/dmdba/dmdbms/data/DAMENG/INCRE_CACULATIVE.BAK’;
在这里插入图片描述

3.检查备份文件的有效性

在这里插入图片描述

你可能感兴趣的:(SQL使用)