请问一个查了一天都没解决的问题 impdp时如何忽略主键约束引起的报错,而操作跳过该行记录的插入继续进下去?很多人回答ignore=y,我查过ignore=y是用在imp里面的,而且是为了忽略创建表结构报错的,当imp时遇主键冲突照样会报错。impdp中则就根本不存在该参数,用content来过滤了。问题是遇到主键约束还是报错,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 oracle怎么会做些这样的事情,即使插入了,不违背了他的数据完整性???? 先把主键disable掉,然后导入,导入完毕,按照下面的方式来做:--使用exception表enable含有主键的表,这里报错时正常的SQL> alter table chargeclass enable constraint SYS_C006737 2 exceptions into exceptions;alter table chargeclass enable constraint SYS_C006737*ERROR at line 1:ORA-02437: cannot validate (IMUSE01. SYS_C006737) - primary key violated--删除chargeclass表中的重记录SQL> delete from chargeclass where rowid in 2 (select ROW_ID from exceptions); --重新加载主键SQL> alter table chargeclass enable constraint SYS_C006737; 今天遇到跟楼主同样的问题,于是把这个帖子搜出来了。2楼的办法是可以解决,但问题是impdp报错的时候,并不会报到底是哪个表哪个索引出错。现在关键的问题,就在于精确定位出错的地方。 求两张表的数据合并sql,期望高手解答 问个v$flash_recovery_area_usage的问题 oracle服务自动关闭问题,在线等 plsql 执行存储过程 MP-00020: 用于列缓冲区大小 (22) 的长整数列过大 数据库导入导出问题 如何用SELECT语句检索四个表 Mysql中的ignore关键字在ORACLE中 怎么解释? ~~~~~~问题紧急,请大家务必帮小弟一把!~~~~~~~~~~~在线等! Oracle自带的jobs 4002能不能删除? 提取JOB_ID(不重复)并其中最早的记录 帮我看下这个list为什么没提到值 在线等
然后导入,导入完毕,按照下面的方式来做:
--使用exception表enable含有主键的表,这里报错时正常的
SQL> alter table chargeclass enable constraint SYS_C006737
2 exceptions into exceptions;
alter table chargeclass enable constraint SYS_C006737
*
ERROR at line 1:
ORA-02437: cannot validate (IMUSE01. SYS_C006737) - primary key violated
--删除chargeclass表中的重记录
SQL> delete from chargeclass where rowid in
2 (select ROW_ID from exceptions);
--重新加载主键
SQL> alter table chargeclass enable constraint SYS_C006737;
2楼的办法是可以解决,但问题是impdp报错的时候,并不会报到底是哪个表哪个索引出错。现在关键的问题,就在于精确定位出错的地方。