达梦数据库备份与还原篇
【达梦数据库】备份与还原篇
目录
一、引言
本篇文章主要是讲解达梦数据库的备份与还原两大方式–物理和逻辑备份还原,通过一些场景下的实操(命令行和图形化工具)来让你对达梦数据库的备份还原有一个初步的了解。
二、备份与还原概述
在对达梦数据库进行备份还原之前,需要了解的是,达梦数据库有两种备份还原的方式:物理备份还原和逻辑备份还原,其中物理备份又可以分为冷备和热备,在实际的场景中可以根据需求来选择最合适的备份还原方式。
三、物理备份与还原
冷备和热备本质上的区别在于备份时数据库是否处于运行的状态,数据库处于运行状态、并正常提供数据库服务情况下进行的备份操作,我们称为联机备份。数据库处于关闭状态时进行的备份操作,被称为脱机备份。
3.1 进行一次冷备(脱机备份)
实验场景:
对当前数据库做一次完整的备份,备份名为“DMDB_bak",保证数据能还原到失败前任意一个时刻。
3.1.1 使用DM控制台工具进行全备
–创建备份路径(root用户下)
mkdir -p /dm8/backup
chown -R dmdba:dinstall /dm8/
–关闭数据库
cd /dm/bin/
./DmServiceDMSERVER stop
–使用图形化管理工具进行备份
–root用户下
xhost +
echo $DISPLAY
–dmdba用户下
su – dmdba
export DISPLAY=:0
cd /dm/tool/
./console
新建备份
填写相关信息
备份成功
3.1.2 使用dmrman进行全备
注意:使用dmrman工具的前置条件是确认ap服务是已经启动的状态,可以用命令ps -ef|grep dmap来确认是否有ap服务的进程在
cd /dm8/bin
./dmrman
backup database ‘/dm8/data/DAMENG/dm.ini’ backupset ‘/dm8/backup’;
3.2 进行一次热备(联机备份)
3.2.1数据库级别
DM管理工具的方式
打开magager工具,在备份中右击库备份,选择新建备份
填写备份名称和指定备份集目录后,点击确定,提示备份成功后便可在指定目录中找到相应的备份文件
命令行的方式
登录到disql中,执行备份命令
backup database full backupset ‘/dm8/backup’;
3.2.2 表空间级别
DM管理工具的方式
备份完成后,到指定的备份目录中查看有无备份文件生成
命令行的方式
backup tablespace dmhr full backupset ‘/dm8/backup/ts2’;
3.2.3 表级别
DM管理工具的方式
命令行的方式
backup table dmhr.city backupset ‘/dm8/backup/table2’;
3.3 还原一次数据库(整库还原)
步骤:
关闭数据库
还原
恢复
更新数据库魔数
使用DM控制台工具还原
–关闭数据库
cd /dm/bin/
./DmServiceDMSERVER stop
cd /dm/tool/
./console
使用dmrman进行还原
dmrman
restore database ‘/dm8/data/DAMENG/dm.ini’ from backupset
‘/dm8/backup’;
recover database ‘/dm8/data/DAMENG/dm.ini’ with archivedir ‘/dm8/arch’;
recover database ‘/dm8/data/DAMENG/dm.ini’ update db_magic;
四、逻辑备份与还原
4.1 整库导出
管理工具的方式
命令行的方式
/dm8/bin/dexp sysdba/Dameng123 DIRECTORY=/dm8/backup FILE=full.dmp FULL=Y
LOG=full.log
4.2 指定用户的导出
管理工具的方式
命令行的方式
/dm8/bin/dexp sysdba/Dameng123 DIRECTORY=/dm8/backup FILE=test.dmp
OWNER=TEST LOG=test.log
4.3 指定模式的导出
管理工具的方式
命令行的方式
/dm8/bin/dexp sysdba/Dameng123 DIRECTORY=/dm8/backup FILE=schemas.dmp
SCHEMAS=DMHR,PERSON LOG=schemas.log
4.4 指定表的导出
管理工具的方式
命令行的方式
/dm8/bin/dexp sysdba/Dameng123 DIRECTORY=/dm8/backup FILE=tables.dmp
TABLES=DMHR.DEPARTMENT,DMHR.EMPLOYEE LOG=tables.log
附:达梦数据库官网