暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

DM达梦数据库导入 dmp 的正确方式

原创 达梦 2021-01-31
15976

导出备份文件,如下图所示:

导出

选择导出 dmp 存放的路径,如下图所示:

导出目录

导出成功,如下图所示:

导出成功

​在选择的路径下会生成 dmp 文件和导出日志,如下图所示:

文件

使用管理工具导入,如原表还存在,则报错,如下图所示:

报错信息

  • 如果只是一个表的导出 dmp 文件,则清空表 truncate table,再导入即可。

(为了防止清空表而导致数据丢失,可以重命名表如:alter table tab1 rename to tab2;再创建表和 tab2 一样表结构的 tab1如:create table tab1 as select * from tab2 where 1=2;

  • 如果是模式导出的 dmp 文件,则先删除模式下的全部表。如表太多了,可以直接删除用户。重新创建用户,再模式导入 dmp 文件。

删除drop、user 用户,如下图所示:

删除用户

执行以下语句,创建用户(创建用户前,需先创建表空间):

create user "TELLER2019" identified by "TELLER2019"
default tablespace "HCSTTB"--指定数据表空间
default index tablespace "HCSTTB";--指定索引表空间
grant "PUBLIC","RESOURCE" to "TELLER2019"; --用户权限

导入 dmp 备份文件,如下图所示:

备份文件

选择 dmp 存放路径,如下图所示:

存放路径

导入成功,如下图所示:

成功

如果表已经存在了,使用默认方式导入 dmp 时会报错【表或视图已存在】,我们分以下不同情况讨论:

  • 如果需要导入少量表且只表定义并未发生过变化,我们可以在导入命令增加参数 ignore=y 即可,导入时忽略创建错误;
  • 如果需要导入的表定义已经发生过变化,则我们需要删除数据库中的表后再导入;
  • 如果需要导入少量表且数据需要重新灌入,则可以将表数据备份之后,将此表 truncate,再进行导入操作,同时增加参数 ignore=y;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论