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;
启动服务