我正在尝试将转储导入数据库。转储有一个名为table1的表,它已存在于数据库中,我使用的是remap_table。
impdp schema/pass@server remap_table = table1:table_BR1 directory=TEST_DIR1 dumpfile=table_BR1.dmp logfile=table1.log
然而,我遇到的问题,它也创建了主键和索引,导致错误“约束已经存在” 在我的真实场景中,我有几张桌子。
我的问题是,我可以在不添加主键和indexex的情况下重新映射表吗?
答案 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开头的所有索引。