oracle IMP导入错误 IMP-00003: ORACLE error 2298

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle IMP导入错误 IMP-00003: ORACLE error 2298相关的知识,希望对你有一定的参考价值。

一个项目:需要将数据库从老服务器迁移到新服务器,用exp导出的数据

imp导入exp导出备份时遇到下面错误提示:

IMP-00017: following statement failed with ORACLE error 2298:
 "ALTER TABLE "RESERVATION" ENABLE CONSTRAINT "RESERVATION_FK31252591893468""

IMP-00003: ORACLE error 2298 encountered

ORA-02298: cannot validate (RESERVATION.RESERVATION_FK31252591893468) - parent keys not found
Import terminated successfully with warnings.

产生错误原因以及解决办法:
出现上面的原因有可能是在导出的时间某个表已经被导出了,可是他外键关联系有数据变化了,导致不一致,所以报错。exp不能保证事务的完整性。如果你导出主表。随后有人在主表增加记录,然后在子表增加记录,提交。

不能鉴定上面说的是否正确,应该也会发生,不过查了很多资料后又发现,应该是exp导出时少了一个参数。所以解决办法是在导出备份的脚本中加入这个参数consistent=y 默认为no .为的是保持一致的作用。
$ exp rh/124 file=/home/oracle/rh201804260920.dmp owner=rh grants=no consistent=y
GRANTS参数表示导出时否要导出数据库对象上的授权(no不导出)

在导入就不会有报错了:
$ imp rh/jkj file=/home/oracle/rh201804260920.dmp ignore=y full=y

以上是关于oracle IMP导入错误 IMP-00003: ORACLE error 2298的主要内容,如果未能解决你的问题,请参考以下文章

IMP-00017: 由于 ORACLE 错误 6550解决办法

Oracle 导入DMP 出错

Oracle 导入DMP 出错

Oracle9i用客户端PLSQL导入dmp文件的时候,有一些表的主键导入失败。帮帮忙。

imp导入数据库:oracle错误2304?

我用plsql导入oracle数据 imp hen/520 @H file=d:/daochu.dmp ignore=y 出现错误‘ora-00900’