方案一:使用达梦官方工具导入DMP文件
通过DM Manager图形界面操作:登录后选择“工具”→“右键”→“导入文件”,指定DMP文件路径
如果失败则看第二个方案。
方案二:命令行方式导入DMP文件
使用达梦提供的dimp命令行工具执行导入,基本语法示例:
dimp USERID=username/password@hostname FILE=backup.dmp FULL=y LOG=import.log
参数说明:FULL=y表示全库导入,LOG指定日志输出路径。可添加TABLE_EXISTS_ACTION=replace处理表冲突。
常见问题及解决方法
中文乱码问题:确认导出/导入时字符集参数一致,建议统一使用UTF-8字符集。报错信息如下
正在导入,请稍候...
本地编码:PG_GBK, 导入文件编码:PG_UTF8[警告]服务器与文件内数据的 CASE_SENSITIVE 参数不匹配
成功终止导入, 但出现警告
dimp V8
这个问题是编码问题可用临时方案解决如下:
在达梦的数据库bin目录下cmd(window系统用window+R然后services.msc打开服务找到DmServicesubsidy然后右键属性查看安装路径),
然后执行
set NLS_LANG=AMERICAN_AMERICA.PG_UTF8
然后尝试执行
.\dimp.exe USERID=SYSDBA/SYSDBA FILE="D:\hunan_202503.dmp" FULL=Y LOG=D:\import.log
权限不足导致失败:确保执行用户具有SYSDBA权限或目标表的读写权限,必要时使用GRANT授权。
-- 以 SYSDBA 身份登录数据库后执行以下命令如下,HU_NAN为你自己导入dmp文件的模式,如果没有则手动创建一个模式就行了否则可能报错。然后执行一下命令授权。GRANT CREATE TABLE TO HU_NAN;
GRANT CREATE VIEW TO HU_NAN;GRANT CREATE SEQUENCE TO HU_NAN;
GRANT CREATE PROCEDURE TO HU_NAN;
最后再尝试执行
.\dimp.exe USERID=SYSDBA/SYSDBA FILE="D:\hunan_202503.dmp" FULL=Y LOG=D:\import.log
大概率就会成功,如果还有疑问请留言。
注意:该文短小精悍来源于本人实操,如果对你有帮助还请点赞加留言炸爽,如果有问题还请在评论区留言,感谢。