达梦数据库逻辑备份/还原
逻辑备份
本文的操作基于LINUX系统下的达梦数据库。如果是windows系统安装的,可参考对应说明进行尝试。
工具
达梦数据库提供了逻辑备份的命令行工具<安装目录>\bin\dexp。在命令行下,可以通过传递不同的参数,以便灵活的进行库级、模式级和表级的逻辑备份。
在备份的同时生成备份日志文件,记录整个备份过程,以供后续回顾查看。
备份
达梦数据库提供四种导出备份方式:FULL、OWNER、SCHEMAS、TABLES
FULL方式导出
dexp userid=SYSDBA/SYSDBA file=/dm8/backup/data/db_full.dmp log=/dm8/backup/log/db_full.log full=Y
file指备份路径,log指日志路径。两者均建议写入全路径,以指定具体备份路径。
OWNER方式导出
dexp userid=SYSDBA/SYSDBA file=/dm8/backup/data/db_full.dmp log=/dm8/backup/log/db_full.log owner=SYSDBA
要导出多个用户时,语法为OWNER={,},如果用户名在数据库中显示为小写,需要用双引号讲用户名括起来。
SCHEMAS方式导出
dexp userid=SYSDBA/SYSDBA schemas=sales,\"test\",other file=/dm8/backup/data/db_full.dmp log=/dm8/backup/log/db_full.log
如果模式名为小写,需要用双引号括起来。
由于创建用户时会同步创建对应的模式,因此在没有对用户指定额外模式的情况下可以认为两者等同。
TABLES模式导出
dexp userid=SYSDBA/SYSDBA file=/dm8/backup/data/db_full.dmp log=/dm8/backup/log/db_full.log tables=test.EMPLOYEES,test.DEPARTMENTS query=” where DEPTNO= 3”
指定表导出tables参数的时候,就不能使用owner、schemas参数来对表进行限制。
排除表导出
dexp userid=SYSDBA/SYSDBA file=/dm8/backup/data/db_full.dmp log=/dm8/backup/log/db_full.log exclude=tables:EMPLOYEES schemas=sales
逻辑还原
工具
达梦数据库同样提供了逻辑还原的命令行工具<安装目录>\bin\dimp。在命令行下,可以通过传递不同的参数,以便灵活的进行库级、模式级和表级的逻辑还原。
在还原的同时生成还原日志文件,记录整个还原过程,以供后续回顾查看。
还原
与备份相同达梦数据库提供四种还原方式:FULL、OWNER、SCHEMAS、TABLES
FULL方式还原
dimp userid=SYSDBA/SYSDBA file=/dm8/backup/data/db_full.dmp log=/dm8/restore/log/db_full.log full=Y
OWNER方式导出
dimp userid=SYSDBA/SYSDBA file=/dm8/backup/data/db_full.dmp log=/dm8/restore/log/db_full.log owner=SYSDBA
SCHEMAS方式导出
dimp userid=SYSDBA/SYSDBA file=/dm8/backup/data/db_full.dmp log=/dm8/restore/log/db_full.log schemas=test
TABLES模式导出
dimp userid=SYSDBA/SYSDBA file=/dm8/backup/data/db_full.dmp log=/dm8/restore/log/db_full.log tables=EMPLOYEES,DEPARTMENTS
上文仅列出了较常用的方式,如果需要进行更复杂的备份、还原方式。可以参考上面的参数说明,进行尝试后,再在正式数据库执行。