达梦数据库(DM Database)作为国产关系型数据库的重要代表,在数据迁移、系统升级以及数据库备份恢复场景中应用越来越广泛。实际项目中,经常需要将已有的dmp备份文件导入到新的达梦数据库环境中,而dimp工具正是达梦数据库提供的数据导入工具。
通过dimp工具,可以快速完成数据库对象、表结构、数据记录、索引、约束等内容的迁移。掌握dimp导入dmp文件的方法,对于数据库管理员、开发人员以及运维人员来说,是日常数据库维护工作中的重要技能。
一、达梦数据库dimp工具简介
dimp(DM Import)是达梦数据库提供的数据导入工具,主要用于将由dexp工具导出的dmp文件恢复到目标数据库中。
达梦数据库的数据迁移通常包含两个过程:
使用dexp工具导出数据,生成dmp文件;
使用dimp工具导入dmp文件,恢复数据库对象和数据。
dmp文件属于达梦数据库专用的数据备份格式,通常包含以下内容:
用户对象信息;
数据表结构;
表数据;
索引;
视图;
存储过程;
触发器;
序列;
约束关系。
相比直接执行SQL脚本导入,dimp方式具有速度快、兼容性强、对象恢复完整等特点。
二、使用dimp前的准备工作
正式执行导入操作之前,需要提前完成环境检查,避免因为权限、路径或版本问题导致导入失败。
1. 确认达梦数据库安装环境
dimp工具通常位于达梦数据库安装目录的bin目录下,例如:
/dm8/bin/dimp可以通过以下命令确认工具是否正常:
dimp help如果能够显示帮助信息,说明工具已经可以使用。
2. 检查dmp文件位置
确保需要导入的dmp文件已经上传到数据库服务器,并确认文件权限。
例如:
ls -lh /dmdata/backup/test.dmp如果文件较大,建议提前检查磁盘空间:
df -h避免导入过程中因为空间不足失败。
3. 创建目标用户
如果dmp文件中包含用户对象,需要提前创建对应用户。
例如:
CREATE USER TEST IDENTIFIED BY "123456789";授权:
GRANT DBA TO TEST;实际生产环境中建议根据业务需求分配最小权限,而不是直接授予DBA权限。
三、dimp导入dmp文件基本语法
dimp工具的基本使用格式如下:
dimp 用户名/密码@数据库服务
file=文件路径
directory=目录对象例如:
dimp SYSDBA/SYSDBA@localhost:5236
file=/dmdata/backup/test.dmp
directory=/dmdata/backup其中:
用户名/密码:连接目标达梦数据库的账号;
file:指定需要导入的dmp文件;
directory:指定服务器端文件目录。
四、完整导入示例
假设存在备份文件:
/backup/company.dmp目标数据库:
IP:192.168.1.100
端口:5236
用户:SYSDBA
密码:SYSDBA执行:
dimp SYSDBA/SYSDBA@192.168.1.100:5236
file=/backup/company.dmp
directory=/backup执行后,dimp会读取dmp文件,并按照文件中的定义创建数据库对象并导入数据。
导入过程中通常会显示:
导入对象数量;
创建表信息;
插入数据数量;
索引创建状态;
导入完成提示。
五、常用dimp参数详解
实际项目中,dimp通常需要结合参数完成更精细的数据迁移。
1. FULL参数
用于执行全库级导入。
示例:
dimp SYSDBA/SYSDBA file=/backup/full.dmp full=y适用于整个数据库迁移场景。
2. SCHEMAS参数
指定导入某个模式。
示例:
dimp SYSDBA/SYSDBA
file=/backup/test.dmp
schemas=TEST适合只恢复指定用户的数据。
3. TABLES参数
只导入指定表。
示例:
dimp SYSDBA/SYSDBA
file=/backup/test.dmp
tables=USER_INFO,ORDER_INFO适用于部分数据恢复。
4. REMAP_SCHEMA参数
用于用户迁移。
例如原用户:
OLD_USER导入到:
NEW_USER执行:
dimp SYSDBA/SYSDBA
file=/backup/test.dmp \