备份还原实际操作

备份还原实际操作

前言

根据达梦文档整理。

一、工具介绍

工具 联机/脱机工具 应用场景
disql 联机 1️⃣数据库备份
2️⃣归档备份
3️⃣表空间备份与还原
4️⃣表备份与还原
dmrman 脱机 1️⃣数据库备份、还原和恢复
2️⃣脱机还原表空间
3️⃣归档的备份、还原和修复
manager 联机 对应disql工具
console 脱机 对应dmrman工具

二、对备份还原的支持和限制

类型 支持与限制
联机备份 1️⃣MPP 环境仅允许库和归档备份,且各节点都会执行,生成相应的备份集,支持 DDL CLONE;
2️⃣DSC 环境支持库备份、表空间备份和表备份,要求 DSC 环境的所有节点都处于 OPEN 状态;
3️⃣MOUNT 状态所有备份均不支持;
4️⃣SUSPEND 状态所有备份均不支持;
5️⃣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;
4️⃣当 DSC 环境下正常节点的 CKPT_LSN 小于故障节点的 CKPT_LSN 时,不支持脱机备份。
脱机还原 脱机还原跟目标库所处的模式、状态以及集群环境(MPP 和 DSC)无关,允许库级、表空间级和归档还原。

注意

备份与还原时,指定的备份集名称和目录名中最好不要包含中文、空格以及特殊字符,否则可能会因为字符处理及字符集问题导致一些不可预期的问题。

三、归档配置

DM 数据库可以运行在归档模式或非归档模式下。如果是归档模式,联机日志文件中的内容保存到硬盘中,形成归档日志文件;如果是非归档模式,则不会形成归档日志。

DM 的 dmarch.ini 可以进行归档配置,dmarch.ini 生效的前提是 dm.ini 中的参数 ARCH_INI = 1

查询 v$dm_arch_iniv$arch_status 等动态视图可以获取归档配置以及归档状态等相关信息。

1、何时配置归档

场景 是否要配置归档
联机备份数据库
脱机备份数据库 可配置、也可不配置
联机备份表空间
联机备份表 X
备份归档日志

2、联机配置归档

联机配置归档即在数据库实例启动的情况下,使用 SQL 语句完成 dmarch.ini 和 ARCH_INI 的配置。本地归档和远程归档均可以联机配置归档。

2.1 语法
ALTER DATABASE <ADD|MODIFY|DELETE> ARCHIVELOG <归档配置语句>;
<归档配置语句>::= 'DEST = <归档目标>,TYPE = <归档类型>'
<归档类型>::=<local方式>|<remote方式>
<local方式>::=LOCAL [,FILE_SIZE = <文件大小>][,SPACE_LIMIT = <空间大小限制>][,ARCH_FLUSH_BUF_SIZE = <归档合并刷盘缓存大小>][,HANG_FLAG=<0|1>]
<remote方式>::=REMOTE ,INCOMING_PATH = <远程节点的归档存放路径>

ADD:增加归档。该参数可以配置本地归档和远程归档。

MODIFY:修改归档。该参数可以修改已有归档的配置参数。不建议修改归档类型。

DELETE: 删除归档。在归档模式下,不允许删除本地归档。

备份还原实际操作_第1张图片

2.2 本地归档
  • SQL配置
-- 修改数据库为MOUNT状态
ALTER DATABASE MOUNT;
-- 配置本地归档
ALTER DATABASE ADD ARCHIVELOG 'type=local,file_size=128,dest=/dmdata/arch,space_limit=1024';
-- 开启归档模式
ALTER DATABASE ARCHIVELOG;
-- 修改数据库为OPEN状态
ALTER DATABASE OPEN;
  • dmarch.ini配置
[ARCHIVE_LOCAL1]
        ARCH_TYPE            = LOCAL
        ARCH_DEST            = /dmdata/arch
        ARCH_FILE_SIZE       = 128
        ARCH_SPACE_LIMIT     = 1024
        ARCH_FLUSH_BUF_SIZE  = 0
        ARCH_HANG_FLAG       = 1

2.3 远程归档

与本地归档一样,远程归档也是配置在 dmarch.ini 文件中,配置步骤请参考本地归档。

一般建议 DMDSC 集群中的节点,在配置本地归档之外,再交叉配置集群中所有其他节点的远程归档。

在这里插入图片描述
下面以两节点 DMDSC 集群为例,说明如何编辑 dmarch.ini 文件以配置远程归档,DSC0 和 DSC1 是 DMDSC 集群中的两个实例,交叉进行 REMOTE 归档配置

2.3.1 DSC0 实例配置
  • SQL配置
-- 修改数据库为MOUNT状态
ALTER DATABASE MOUNT;
-- 配置远程归档
ALTER DATABASE ADD ARCHIVELOG 'type=local,dest=/dmdata/arch/dsc0,file_size=512,space_limit=1024';
ALTER DATABASE ADD ARCHIVELOG 'type=remote,dest=DSC1,file_size=512,space_limit=1024,INCOMING_PATH=/dmdata/arch/dsc1';
-- 开启归档模式
ALTER DATABASE ARCHIVELOG;
-- 修改数据库为OPEN状态
ALTER DATABASE OPEN;
  • dmarch.ini
[ARCHIVE_LOCAL1]
        ARCH_TYPE            = LOCAL
        ARCH_DEST            = /dmdata/arch/dsc0
        ARCH_FILE_SIZE       = 512
        ARCH_SPACE_LIMIT     = 1024
        ARCH_FLUSH_BUF_SIZE  = 0
        ARCH_HANG_FLAG       = 1

[ARCH_REMOTE1]
        ARCH_TYPE            = REMOTE
        ARCH_DEST            = DSC1
        ARCH_INCOMING_PATH   = /dmdata/arch/dsc1
        ARCH_FILE_SIZE       = 512
        ARCH_SPACE_LIMIT     = 1024
        ARCH_FLUSH_BUF_SIZE  = 0
2.3.2 DSC1 实例配置
  • SQL配置
-- 修改数据库为MOUNT状态
ALTER DATABASE MOUNT;
-- 配置远程归档
ALTER DATABASE ADD ARCHIVELOG 'type=local,dest=/dmdata/arch/dsc1,file_size=512,space_limit=1024';
ALTER DATABASE ADD ARCHIVELOG 'type=remote,dest=DSC0,file_size=512,space_limit=1024,INCOMING_PATH=/dmdata/arch/dsc0';
-- 开启归档模式
ALTER DATABASE ARCHIVELOG;
-- 修改数据库为OPEN状态
ALTER DATABASE OPEN;
  • dmarch.ini配置
[ARCHIVE_LOCAL1]
        ARCH_TYPE            = LOCAL
        ARCH_DEST            = /dmdata/arch/dsc1
        ARCH_FILE_SIZE       = 512
        ARCH_SPACE_LIMIT     = 1024
        ARCH_FLUSH_BUF_SIZE  = 0
        ARCH_HANG_FLAG       = 1

[ARCH_REMOTE1]
        ARCH_TYPE            = REMOTE
        ARCH_DEST            = DSC0
        ARCH_INCOMING_PATH   = /dmdata/arch/dsc0
        ARCH_FILE_SIZE       = 512
        ARCH_SPACE_LIMIT     = 1024
        ARCH_FLUSH_BUF_SIZE  = 0

注意:

不论是本地归档,还是远程归档,SQL配置完成后,都会在数据目录下自动生成对应的dmarch.ini文件

3、手动配置归档(dmarch.ini

手动配置归档即在数据库实例未启动的情况下,手动编写 dmarch.ini 文件和设置参数 ARCH_INI

四、disql备份还原

参考另一篇文档:disql备份还原

五、DMRMAN备份还原

待补充

达梦社区:https://eco.dameng.com

你可能感兴趣的:(达梦,达梦,数据库)