逻辑导出(dexp)和逻辑导入(dimp)是 DM 数据库的两个命令行工具,分别用来实现对 DM 数据库的逻辑备份和逻辑还原。逻辑备份和逻辑还原都是在联机方式下完成,联机方式是指数据库服务器正常运行过程中进行的备份和还原。dexp 和 dimp 是 DM 数据库自带的工具,只要安装了 DM 数据库,就可以在安装目录dmdbms/bin 中找到。
dexp 工具名称有两种写法 dexp 和 dexpdp,两者区别在于:dexp 导出的文件必须存放在客户端,dexpdp 导出的文件必须存放在服务器端。另外由于 dexpdp 是将客户端命令发给服务器启动 dexp 执行,如果客户端连接使用 dm_svc.conf 配置,服务器端也应该跟客户端配置一致。
逻辑导出和逻辑导入数据库对象分为四种级别:数据库级、用户级、模式级和表级。
dimp 工具名称有两种写法 dimp 和 dimpdp,两者区别在于:dimp 导入的文件必须存放在客户端,dimpdp 导入的文件必须存放在服务器端。另外由于 dimpdp 是将客户端命令发给服务器启动 dimp 执行,如果客户端连接使用 dm_svc.conf 配置,服务器端也应该跟客户端配置一致。
四种级别独立互斥,不能同时存在。四种级别所提供的功能:
数据库级(FULL):导出或导入整个数据库中的所有对象。
用户级(OWNER):导出或导入一个或多个用户所拥有的所有对象。
模式级(SCHEMAS):导出或导入一个或多个模式下的所有对象。
表级(TABLES):导出或导入一个或多个指定的表或表分区。
dexp
dexp PARAMETER=<value> { PARAMETER=<value> } 或 dexpdp PARAMETER=<value> { PARAMETER=<value> }
参数详解可以查询 DM 官方文档:dexp 逻辑导出 | 达梦技术文档
dimp
dimp PARAMETER=value { PARAMETER=value } 或 dimpdp PARAMETER=value { PARAMETER=value }
参数详解可以查询 DM 官方文档:[dimp 逻辑导入 | 达梦技术文档](https://eco.dameng.com/document/dm/zh-cn/pm/dimp-logical import.html)
导出或导入数据库所有表,关键字full=y
导出
dexp userid=SYSDBA/Dameng.com123:35236 file=full.dmp tablespace=Y directory=/dm8/backup log=full.log full=y
导入
dimp userid=SYSDBA/Dameng.com123:35236 file=full.dmp TABLE_EXISTS_ACTION=replace directory=/dm8/backup log=impfull.log full=y
注意
如果是异机导入,需要加参数 CTRL_INFO=1来创建源库的一些表空间。
导出或导入一个或多个用户的所有对象,关键字owner owner=user1,user2,…
导出
dexp userid=SYSDBA/Dameng.com123:35236 owner=TEST file=test.dmp directory=/dm8/backup log=test.log
多用户导出只需将用户用逗号隔开
dexp userid=SYSDBA/Dameng.com123:35236 owner=TEST1,TEST2 file=test.dmp directory=/dm8/backup log=test.log
导入
dimp userid=SYSDBA/Dameng.com123:35236 owner=TEST file=test.dmp directory=/dm8/backup log=test.log
多用户导入只需将用户用逗号隔开
dimp userid=SYSDBA/Dameng.com123:35236 owner=TEST1,TEST2 file=test.dmp directory=/dm8/backup log=test.log
导出或导入一个或多个模式的所有对象,关键字schemas schemas=schemas1,schemas2,…
导出
dexp userid=SYSDBA/Dameng.com123:35236 schemas=TEST file=test_schema.dmp directory=/dm8/backup log=test_schema.log
多用户导出只需将模式用逗号隔开
dexp userid=SYSDBA/Dameng.com123:35236 schemas=TEST,TEST2 file=test_schema.dmp directory=/dm8/backup log=test_schema.log
导入
dimp userid=SYSDBA/Dameng.com123:35236 schemas=TEST file=test_schema.dmp directory=/dm8/backup log=test_schema_imp.log
多用户导入只需将模式用逗号隔开
dimp userid=SYSDBA/Dameng.com123:35236 schemas=TEST,TEST2 file=test_schema.dmp directory=/dm8/backup log=test_schema_imp.log
注意
模式的导入依赖于用户的存在,若用户不存在则需要先创建用户。特别是异机导入的情况下,否则报错:
导出或导入一个或多个表,关键字tables tables=table1,table2,…
导出
dexp userid=SYSDBA/Dameng.com123:35236 tables=tb2 file=tb2.dmp directory=/dm8/backup log=tb2.log
多表导出只需将表用逗号隔开
dexp userid=SYSDBA/Dameng.com123:35236 tables=tb2,tb3 file=tb.dmp directory=/dm8/backup log=tb.log
导入
dimp userid=SYSDBA/Dameng.com123:35236 tables=tb2 file=tb2.dmp directory=/dm8/backup log=tb2_imp.log
多表导入只需将表用逗号隔开
dimp userid=SYSDBA/Dameng.com123:35236 tables=tb2,tbs3 file=tb.dmp directory=/dm8/backup log=tb_imp.log
文章
阅读量
获赞
