手把手教你达梦数据库:备份与还原详细步骤

本文详述了达梦数据库的备份类型,包括逻辑与物理备份、脱机与联机备份的区别,以及完全备份、增量备份的操作。在还原与恢复过程中,强调了完整基备份的重要性,并提供了热备与冷备的实践步骤。提醒在备份还原时注意避免将源备份库与备份集存放在同一存储介质上,以防止硬件故障导致数据丢失。
摘要由CSDN通过智能技术生成

达梦数据库备份与还原的基本原理:


DM 备份的本质就是从数据库文件中拷贝有效的数据页保存到备份集中,这里的有效数据页包括数据文件的描述页和被分配使用的数据页。而在备份的过程中,如果数据库系统还在继续运行,这期间的数据库操作并不是都会立即体现到数据文件中,而是首先以日志的形式写到归档日志中,因此,为了保证用户可以通过备份集将数据恢复到备份结束时间点的状态,需要将备份过程中产生的归档日志也保存到备份集中。
还原与恢复是备份的逆过程。还原是将备份集中的有效数据页重新写入目标数据文件的过程。恢复则是指通过重做归档日志,将数据库状态恢复到备份结束时的状态;也可以恢复到指定时间点和指定 LSN。恢复结束以后,数据库中可能存在处于未提交状态的活动事务,这些活动事务在恢复结束后的第一次数据库系统启动时,会由 DM 数据库自动进行回滚。

逻辑备份与物理备份的区别


逻辑备份是指利用 dexp 导出工具,将指定对象(库级、模式级、表级)的数据导出到文件的备份方式。逻辑备份针对的是数据内容,并不关心这些数据物理存储在什么位置。
物理备份则直接扫描数据库文件,找出那些已经分配、使用的数据页,拷贝并保存到备份集中。物理备份过程中,不关心数据页的具体内容是什么,也不关心数据页属于哪一张表,只是简单的根据数据库文件系统的描述,来挑选有效的数据页。

脱机备份与联机备份的区别


数据库处于运行状态、并正常提供数据库服务情况下进行的备份操作,我们称为联机备份。数据库处于关闭状态时进行的备份操作,被称为脱机备份。
从 V2.0 版本开始,使用 DMRMAN 工具进行脱机备份,并且支持对异常关闭的数据库进行脱机库备份。备份异常关闭的数据库,要求配置了本地归档,如果本地归档不完整,则需要先修复本地归档,再进行备份。
联机备份则使用客户端工具连接到数据库实例后,通过执行 SQL 语句进行;也可以通过配置作业,定时完成自动备份。联机备份不影响数据库正常提供服务,是最常用的备份手段之一。
联机备份时,可能存在一些处于活动状态的事务正在执行,为确保备份数据的一致性,需要将备份期间产生的 REDO 日志一起备份。因此,只能在配置本地归档、并开启本地归档的数据库上执行联机备份。
注意!!只有已经关闭的数据库才允许执行脱机备份。正在运行的数据库,无法执行脱机备份,系统会报错。
在进行脱机备份前,要先检查数据库是否关闭!!

数据备份和归档日志备份


按照备份内容不同,可以分为数据备份和归档日志备份。数据备份主要针对数据文件内容,包括库备份、表空间备份和表备份。
库备份,顾名思义就是对整个数据库执行的备份,又称为库级备份。库备份会拷贝数据库中所有数据文件的有效数据页,如果是联机备份,则还会拷贝备份过程中产生的归档日志,写入到备份集中。
表空间备份是针对特定表空间执行的备份,又称为表空间级备份。表空间备份只能在联机状态下执行。
表备份则拷贝指定表的所有数据页到备份集中,并会记录各个数据页之间的逻辑关系用以恢复。表备份只能在联机状态下执行,一次表备份操作只能备份一张用户表,并且不支持增量表备份。
归档日志备份,是专门针对归档日志文件进行操作,不涉及任何数据文件内容。归档日志备份扫描归档目录收集归档日志文件,并将归档日志写入到备份集中。既可以在数据库运行状态下,执行联机归档日志备份;也可以在数据库关闭状态下执行脱机归档日志备份。

完全备份和增量备份


按照备份数据完整性,可将备份分为完全备份和增量备份。库备份和表空间备份支持增量备份,表备份不支持增量备份。
完全备份生成的备份集包含了指定库(或者表空间)的全部有效数据页。当数据规模比较大的情况下,生成的完全备份集通常会比较大,而且备份时间也会比较长。
增量备份是在某个特定备份集基础上,收集数据库新修改的数据页进行备份,可以有效减少备份集的空间占用、提高备份速度。这个特定的、已经存在的备份集称为增量备份的基备份,根据对基备份的要求不同,DM 的增量备份分为以下两种:

  1. 差异增量备份
    差异增量备份的基备份既可以是一个完全备份集,也可以是一个增量备份集。利用增量备份进行还原操作时,要求其基备份必须是完整的;如果差异增量备份的基备份本身也是一个增量备份,那么同样要求其基备份是完整的;任何一个增量备份,最终都是以一个完全备份作为其基备份。因此,完全备份是增量备份的基础。
  2. 累积增量备份
    累积增量备份的基备份只能是完全备份集,而不能是增量备份集。
    增量备份的基备份集既可以是脱机备份生成的,也可以是联机备份生成的,脱机增量备份的基备份集可以是联机备份生成的,联机增量备份的基备份集也可以是脱机备份生成的。

还原与恢复


还原是备份的逆过程,就是从备份集中读取数据页,并将数据页写入到目标数据库对应数据文件相应位置的过程。
由于联机备份时,系统中可能存在一些处于活动状态的事务正在执行,并不能保证备份集中的所有数据页是处于一致性状态;而脱机备份时,数据页不一定是正常关闭的,也不能保证备份集中所有数据页是处于一致性状态。因此,还原结束后目标库有可能处于非一致性
状态,不能马上提供数据库服务;必须要进行数据库恢复操作后,才能正常启动。

备份还原实战实战

准备工作

在着手备份与还原之前,先详细了解一下 DM 对备份与还原进行了哪些支持与限制,如
下进行详细说明。

联机备份:热备


对联机备份的支持与限制:

  1. MPP 环境仅允许库和归档备份,且各节点都会执行,生成相应的备份集,支持 DDL
    CLONE;
    2)DSC 环境支持库备份、表空间备份和表备份,要求 DSC 环境的所有节点都处于 OPEN
    状态;
  2. MOUNT 状态仅支持归档备份;
  3. SUSPEND 状态所有备份均不支持;
  4. OPEN 状态支持所有备份,支持 DDL CLONE; 6) PRIMARY 模式支持所有备份,支持 DDL CLONE; 7) STANDBY 模式仅支持库级、表空间级和归档备份,支持 DDL CLONE; 8) DDL CLONE 必须备份归档,不允许指定 WITHOUT LOG。

联机还原


仅支持表级还原,对联机还原的支持与限制:

  1. MPP 和分布式数据库不支持;
  2. PRIMARY 支持;
  3. SUSPEND 状态所有还原均不支持;
  4. OPEN/NORMAL 支持。

脱机备份:冷备


脱机备份支持库级和归档备份。

  1. MPP 视同单机环境,仅当前节点执行备份操作;
  2. 允许异常退出后备份,支持 DDL_CLONE;
  3. DSC 支持库级备份,支持 DDL_CLONE;当 DSC 环境下正常节点的 CKPT_LSN 小于故障节点的 CKPT_LSN 时,不支持脱机备份

脱机还原


脱机还原跟目标库所处的模式、状态以及集群环境(MPP 和 DSC)无关,允许库级、表空间级和归档还原。
在一般的应用场景中,常规性的数据库维护工作,即在不影响数据库正常运行的情况下,建议定期执行联机数据库备份,且完全备份和增量备份结合使用。执行两次完全备份的时间间隔可以尽量长一点,在两次完全备份之间执行一定数量的增量备份,比如,可以选择每周执行一次完全备份,一周内每天执行一次增量备份。为了尽量减少对数据库正常工作的影响,建议备份时间,选择在工作量较少的时间,比如深夜。

注意!!!无论选择哪种备份方式,不能讲备份产生的备份集和源备份库存放到同一磁盘或同一存储介质上,避免存储介质发生硬件故障时,源备份库与备份集同时毁坏。
备份还原时,指定的备份集名称和目录名中最好不要包含中文、空格以及特殊字符,否则可能因为字符处理及字符集问题导致一些不可预期的问题。

脱机备份,又叫冷备


DMRMAN(DM RECOVERY MANAGER)是 DM 的脱机备份还原管理工具,由它来统一负责库级脱机备份、脱机还原、脱机恢复等相关操作,该工具支持命令行指定参数方式和控制台交互方式执行,降低了用户的操作难度。
通过 DMRMAN 工具执行脱机操作过程中,仅会使用通过关键字 DATABASE 指定的目标库的本地归档配置信息,不会对本地归档配置文件中其他类型归档配置信息进行校验。例如:DATABASE 指 定 目 标 库 为 /opt/dmdbms/data/dm.ini , 为 单 机 环 境 且 配 置 参 数ARCH_INI 为 1,那么只会相应的读取 dmarch.ini 中本地归档日志信息。此时,即使dmarch.ini 中配置了 REALTIME、MARCH、TIMELY 等其他类型的归档日志,也不会去校验 dmmal.ini、dmtimer.ini 等是否有效。
注意:应使用与DM数据库版本配套的DMRMAN工具进行操作,当使用DM7的DMRMAN工具操作DM8数据库时,无法检测DM8数据库实例是否处于启动状态。

1.关闭数据库实例服务

./DmService stop

2.使用dmrman工具进行备份


备份语句:备份制定数据库到制定目录

 backup database '/home/dmdba/data/DAMENG/dm.ini' backupset '/home/dmdba/data/bak';

在这里插入图片描述

3.准备还原

自行破坏库,这里选择删除main.dbf文件
在这里插入图片描述

4.检查备份集是否有效

 check backupset '/home/dmdba/data/bak';

在这里插入图片描述

5.使用dmrman工具进行还原

restore database '/home/dmdba/data/DAMENG/dm.ini' from backupset '/home/dmdba/data/b
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值