注册
DM8 数据库 dexp/dimp 工具使用
技术分享/ 文章详情 /

DM8 数据库 dexp/dimp 工具使用

少年 2025/07/04 40 0 0

一、工具概述

逻辑导出(dexp)和逻辑导入(dimp)是 DM 数据库的两个命令行工具,分别用来实
现对 DM 数据库的逻辑备份和逻辑还原。逻辑备份和逻辑还原都是在联机方式下完成,联机
方式是指数据库服务器正常运行过程中进行的备份和还原。dexp 和 dimp 是 DM 数据库自带
的工具,只要安装了 DM 数据库,就可以在安装目录/dmdbms/bin 中找到。
逻辑导出和逻辑导入数据库对象分为四种级别:数据库级、用户级、模式级和表级。四种级别独立互斥,不能同时存在。四种级别所提供的功能:
 数据库级(FULL):导出或导入整个数据库中的所有对象。
 用户级(OWNER):导出或导入一个或多个用户所拥有的所有对象。
 模式级(SCHEMAS):导出或导入一个或多个模式下的所有对象。
 表级(TABLES):导出或导入一个或多个指定的表或表分区。

二、核心参数详解

1. dexp/dimp 导出参数

关键字 说明 示例
USERID 用户名 / 密码,格式为用户名/密码@IP:端口 USERID=SYSDBA/SYSDBA@10.127.17.108:5238
FILE 导出文件名 FILE=db_backup.dmp
DIRECTORY 导出文件存放目录 DIRECTORY=/dm/data/DMDB
FULL 全库导出(Y/N) FULL=Y
OWNER 用户级导出,指定用户名列表 OWNER=DM
SCHEMAS 模式级导出,指定模式列表 SCHEMAS=DM
TABLES 表级导出,指定表名列表 TABLES=(DM.TABLE1,DM.TABLE2)
PARALLEL 导出并发线程数(默认 16) PARALLEL=8
LOG 日志文件名 LOG=export.log

三、实战操作案例

1. 全库导出导入

导出命令:
USERID 用于指定数据库的连接信息。必选参数。
cd /dm/data/bin

./dexp USERID=SYSDBA/Dameng123@10.127.17.108:5238 DIRECTORY=/dm/data/DMDB  FILE=full_db.dmp LOG=full_export.log FULL=Y

image.png
导入命令:

scp full_db.dmp dmdba@10.127.17.110:/dm/dmdbms/data/DAMENG/bak
cd /dm/data/bin

./dimp USERID=SYSDBA/Dameng123@10.127.17.110:5236 DIRECTORY=/dm/dmdbms/data/DAMENG/bak  FILE=full_db.dmp LOG=full_import.log FULL=Y

image.png
image.png

2.用户级导出导入(以用户 backtest 为例)

导出命令:
​​OWNER=backtest​​
导出模式:导出用户backtest拥有的所有对象(表、视图、存储过程等)

./dexp USERID=SYSDBA/Dameng123@10.127.17.108:5238 DIRECTORY=/dm/data/DMDB FILE=user_backtest.dmp LOG=user_backtest.log OWNER=backtest

image.png
image.png
导入命令:

./dimp USERID=SYSDBA/Dameng123@10.127.17.110:5236 DIRECTORY=/dm/dmdbms/data/DAMENG/bak FILE=user_backtest.dmp LOG=user_backtest.log OWNER=backtest

image.png
验证数据: 108:
image.png
110:
image.png

3. 模式级导出导入(以模式backtest为例)

导出命令:

./dexp USERID=SYSDBA/Dameng123@10.127.17.108:5238 DIRECTORY=/dm/data/DMDB FILE=schema_backtest.dmp LOG=schema_export.log SCHEMAS=backtest

image.png
导入命令:

./dimp USERID=SYSDBA/Dameng123@10.127.17.110:5236 DIRECTORY=/dm/dmdbms/data/DAMENG/bak  FILE=schema_backtest.dmp LOG=schema_import.log SCHEMAS=backtest

4. 表级导出导入(以 backtest.stock_data和testuser.strategy_results 为例)

导出命令:

./dexp USERID=testuser/Backtest_123@10.127.17.108:5238 DIRECTORY=/dm/data/DMDB  FILE=testuser_tables.dmp LOG=dexp_tables.log TABLES=\(testuser.stock_data,testuser.strategy_results\)

导入命令

在目标库创建usertest用户再导入表
CREATE USER testuser IDENTIFIED BY "Backtest_123" HASH WITH SHA512 SALT
PASSWORD_POLICY 15
DEFAULT TABLESPACE MAIN
DEFAULT INDEX TABLESPACE MAIN
QUOTA UNLIMITED ON MAIN;

image.png

./dimp  USERID=SYSDBA/Dameng123@10.127.17.110:5236DIRECTORY=/dm/dmdbms/data/DAMENG/bak   FILE=testuser_tables.dmp LOG=dexp_tables.log TABLES=\(testuser.stock_data,testuser.strategy_results\)

image.png

数据比对
image.png
image.png
达梦社区地址https://eco.dameng.com

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服