4

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

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

但是我面临的问题,它也创建了主键和索引,导致错误“约束已经存在”在我的真实场景中,我有几个表。

我的问题,有没有办法在不添加主键和 indexex 的情况下重新映射表?

4

1 回答 1

3

在 IMPDP 中,您可以使用:

CONTENT=DATA_ONLY

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

其他方式是,

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

rows=Y indexes=N constraints=N

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

此外,要抑制错误消息,您可以忽略它们:

IGNORE=Y

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

impdp help=y

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

例如,

EXCLUDE=INDEX:"LIKE 'DEPT%'"

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

于 2015-04-14T07:02:10.880 回答