导入和重新映射表而不添加主键和索引

时间:2015-04-14 06:54:12

标签: oracle impdp

我正在尝试将转储导入数据库。转储有一个名为table1的表,它已存在于数据库中,我使用的是remap_table。

impdp schema/pass@server remap_table = table1:table_BR1 directory=TEST_DIR1 dumpfile=table_BR1.dmp logfile=table1.log  

然而,我遇到的问题,它也创建了主键和索引,导致错误“约束已经存在” 在我的真实场景中,我有几张桌子。

我的问题是,我可以在不添加主键和indexex的情况下重新映射表吗?

1 个答案:

答案 0 :(得分:2)

在IMPDP中,您可以使用:

CONTENT=DATA_ONLY

DATA_ONLY仅将表行数据加载到现有表中;没有创建数据库对象

其他方式是,

您可以明确指定以将索引约束作为命令行参数导入。

rows=Y indexes=N constraints=N

这将只导​​入数据,而不导入索引和约束。

此外,要禁止显示错误消息,您可以忽略它们:

IGNORE=Y

要查看所有导入命令的列表,请执行以下操作:

impdp help=y

或者,如果您知道 INDEX 名称,则可以使用 EXCLUDE 命令。

例如,

EXCLUDE=INDEX:"LIKE 'DEPT%'"

这将排除名称以dept开头的所有索引。