匿名用户在impdp导入oracle12c数据库时出现大量约束显示创建失败,对象类型约束已存在这样的错误如何才能正常创建?
源数据库是在线expdp导出数据


我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏
匿名用户源数据库是在线expdp导出数据


这个是由于impdp的时候,索引和约束的创建先后顺序问题导致的,以前遇到过这个问题。
1.首先,需要找到这些报错的相关对象,在导入的时候,需要把这些表和索引以及约束排除掉(以下用3个表来举例)
exclude=index,constraint,TABLE:\"IN \(\'TABLE_NAME1\',\'TABLE_NAME2\',\'TABLE_NAME3\'\)\"
2.impdp导入这些表,依然排除索引和约束
tables=TABLE_NAME1 exclude=index,constraint
tables=TABLE_NAME2 exclude=index,constraint
tables=TABLE_NAME3 exclude=index,constraint
3.使用dbms_metadata.get_ddl获取索引定义,如果数量较多,可以做成脚本,在步骤2导入完成后,执行脚本创建索引
4.创建约束,查询原环境约束定义,如果数量较多,输出脚本,在索引创建完成后,执行创建约束的脚本
如上述步骤,就可以导入成功了,并且成功复原索引以及约束。
评论
有用 0
墨值悬赏