使用 impdp 导入期间现有表会发生啥

Posted

技术标签:

【中文标题】使用 impdp 导入期间现有表会发生啥【英文标题】:What happens to existing tables during import using impdp使用 impdp 导入期间现有表会发生什么 【发布时间】:2016-12-09 10:49:30 【问题描述】:

我想将整个架构从 Prod 导出和导入到 Dev,但 Dev 已经存在我不想受到影响的表(Prod 中不存在)。

那么,问题是在导入 (impdp) 期间,这些现有表会发生什么情况?

谢谢。

【问题讨论】:

【参考方案1】:

如果您已备份完整数据库,包括备份中的创建数据库和创建表查询,则会出现错误。

要解决此问题,您需要删除旨在创建数据库和新表的每一行。

如果您只转储了数据,数据将被添加到现有表中而不会出现错误。 (如果不包含语法错误)

如果您不需要 dev 数据库中的数据 然后登录数据库服务器并删除 prod 中的所有表,然后导入您的数据库文件。

如果您不想删除 dev 数据库中的数据然后创建完全不同的数据库导入文件到该数据库并修改您的连接字符串。

【讨论】:

我只导出和导入一个模式。我怀疑在导入期间 dev 中的现有表(不在 prod 中)会发生什么?

以上是关于使用 impdp 导入期间现有表会发生啥的主要内容,如果未能解决你的问题,请参考以下文章

impdp加上table_exists_action=replace覆盖数据后的恢复方法

Oracle impdp导入异常

数据泵EXPDP导出工具和IMPDP导入工具的使用

基于EXPDP,IMPDP实现oracle数据的导入导出

数据库导入导出expdp,impdp

impdp导入另外一个表空间提示输入用户名密码