• window 下 达梦数据库的备份和还原


    DM 提供的各种工具进行备份还原与恢复的操作,包括 DIsql工具、DMRMAN 工具、图形化客户端管理工具 MANAGER 和 CONSOLE。

    DIsql 工具用于执 行联机的数据备份与数据还原,包括数、归档备份据库备份、表空间备份与还原、表备份与 还原;

    DMRMAN 工具用于执行脱机的数据备份、还原与恢复,包括脱机的数据库备份、还原 与恢复,脱机还原表空间,归档的备份、还原与修复;

    客户端工具 MANAGER 和 CONSOLE对应命令行工具 DIsql 和 DMRMAN 的功能,分别用于联机和脱机备份还原数据。

    这四种工 具都可以独立使用,也可以相互配合,如使用 DIsql 或 MANAGER 工具联机备份的数据库 备份文件可以用 DMRMAN 或 CONSOLE 工具还原。

    达梦 对备份与还原进行了哪些支持与限制:

    联机备份

    对联机备份的支持与限制: 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) MOUNT 支持表空间级还原,SUSPEND 均不支持; 4) OPEN/NORMAL 支持。

     脱机备份

    脱机备份支持库级和归档备份。 1) MPP 视同单机环境,仅当前节点执行备份操作; 2) 允许异常退出后备份,支持 DDL_CLONE; 3) DSC 支持库级备份,支持 DDL_CLONE。

    脱机还原:

    脱机还原跟目标库所处的模式、状态以及集群环境(MPP 和 DSC)无关,允许库级、 表空间级和归档还原。

    使用联机执行 SQL 语句进行备份还原

    DM 支持通过联机执行 SQL 语句方式对数据库执行备份还原操作。联机方式支持数据库、 用户表空间、用户表和归档的备份,用户表的还原。在进行联机库级备份、归档备份和表空 间备份时,必须保证系统处于归档模式,否则联机备份不能进行。

    联机归档配置如下: 
    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; 

    在 DIsql 工具中使用 BACKUP 语句你可以备份整个数据库。通常情况下,在数据库实 例配置归档后输入以下语句即可备份数据库:

    1. 打开 dlsql 工具 双击

     2.输入用户名和密码:

    SQL>BACKUP DATABASE BACKUPSET 'db_bak_full_11_29_01';

    语句执行完后会在默认的备份路径下生成名为“db_bak_01”的备份集目录,默认的备 份路径为 dm.ini 中 BAK_PATH 配置的路径,若未配置,则使用 SYSTEM_PATH 下的 bak目录。这是最简单的数据库备份语句,

     

    生成的备份文件:

    压缩选项有不同的压缩级别可以选择,取值范围为 0~9。0 表示不压 缩,1 表示 1 级压缩,9 表示 9 级压缩。压缩级别越高,压缩越慢,但压缩比越高。 

    压缩备份:

    BACKUP DATABASE BACKUPSET 'db_bak_full_11_29_02' COMPRESSED LEVEL 5;

     

    数据还原

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

    执行。、介绍如何使用 DIsql 工具还原表。

    表还原之后不需要恢复操作。DIsql 中输入以下简单的 RESTORE 语句就可还原表:

    SQL>RESTORE TABLE TAB_01 FROM BACKUPSET 'tab_bak_01';

    使用脱机工具 DMRMAN 进行备份还原

    DMRMAN(DM RECOVERY MANEGER)是 DM 的脱机备份还原管理工具,由它来统一负 责库级脱机备份、脱机还原、脱机恢复等相关操作,该工具支持命令行指定参数方式和控制 台交互方式执行,降低了用户的操作难度。

    通过 DMRMAN 工具执行脱机操作过程中,仅会使用通过关键字 DATABASE 指定的目标 库的本地归档配置信息,不会对本地归档配置文件中其他类型归档配置信息进行校验

    注意: 应使用与 DM 数据库版本配套的 DMRMAN 工具进行操作。当使用 DM7 的

    DMRMAN 工具操作 DM8 数据库时,无法检测 DM8 数据库实例是否处于启动 状态。

    启动和退出 DMRMAN

    安装 DM 数据库后,DMRMAN 可执行程序与数据库其他可执行程序一样位于安装路径的 执行码目录下。比如,LINUX 上数据库的执行码目录为/opt/dmdbms/bin,转到执行码 目录直接在操作系统的命令行中输入以下命令就可启动 DMRMAN。若配置了环境变量

    DM_HOME,可直接命令行执行:

    ./dmrman

    启动后控制台中输入 exit 命令即可退出 DMRMAN 环境:

    RMAN>exit

     CONFIGURE:查看设置的默认值。 CLEAR:清理参数的默认值

     

    在 DMRMAN 工具中使用 BACKUP 命令你可以备份整个数据库。使用 DMRMAN 脱机备份 数据库需要设置归档和关闭数据库实例。在 DMRMAN 中输入以下命令即可备份数据库:

    RMAN>BACKUP DATABASE '/opt/dmdbms/data/DAMENG/dm.ini';

    命令执行完后会在默认的备份路径下生成备份集目录,默认的备份路径为 dm.ini 中

    BAK_PATH 的配置值,若未配置,则为 SYSTEM_PATH 下的 bak 目录。这是最简单的脱机 数据库备份语句,

     

     出现次错误, 需要关闭数据库服务。

     备份完成:

     

    备份文件已经生成:

     也可以使用下面命令备份:

    BACKUP DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' FULL BACKUPSET '/home/dm_bak/db_full_bak_01';

    命令中的 FULL 参数表示执行的备份为完全备份,也可以不指定该参数,DMRMAN 默认 执行的备份类型为完全备份

    1. 数据库还原

    使用 RESTORE 命令完成脱机还原操作,在还原语句中指定库级备份集,可以是脱机库 级备份集,或是联机库级备份集。数据库的还原包括数据库配置文件还原和数据文件还原, 目前可能需要还原的数据库配置文件包括 dm.ini 、 dm.ctl 、服务器秘钥文件

    (dm_service.private 或者 dm_external.config,若备份库指定 usbkey 加密,则 无秘钥文件)、联机日志文件

    RMAN>RESTORE DATABASE 'D:\Program Files\dmdbms\data\VISE\dm.ini' FROM BACKUPSET 'D:\Program Files\dmdbms\data\VISE\bak\DB_VISE_FULL_20221129_175155_000137'; 

    2. 数据恢复

     RECOVER DATABASE 'D:\Program Files\dmdbms\data\VISE\dm.ini' FROM BACKUPSET 'D:\Program Files\dmdbms\data\VISE\bak\DB_VISE_FULL_20221129_175155_000137'; 

     

     3.数据库更新

    RECOVER DATABASE 'D:\Program Files\dmdbms\data\VISE\dm.ini' UPDATE DB_MAGIC; 

     

    启动服务

     

  • 相关阅读:
    2024蓝桥杯每日一题(BFS)
    mysqld: File ‘./binlog.index‘ not found (OS errno 13 - Permission denied) 问题解决
    威纶通触摸屏的配方功能具体使用方法介绍(宏指令写入PLC)
    hive参数优化。
    写个俄罗斯方块,感受嵌入式linux应用开发
    程序员缓解工作压力的小窍门
    前端js读取本地md或txt文件内容
    Kanzi Shader入门
    10.springboot热部署
    【LeetCode】78. 子集
  • 原文地址:https://blog.csdn.net/LZHH_2008/article/details/128099275