这个专题讲一些日常运维的异常处理 今天讲一个impdp过程中的ORA-02291错误 ## 1. 现象 今天在做impdp导入,导入结束会发现其中一个表的插入报错如下 [image:796 size:orig] 分别有ORA-31693,ORA-29913,ORA-02291三个错误 ## 2. 原因查找 ### 2.1 查看错误代码 首先我们分别查看该报错的内容 [image:797 size:orig] 通过ORA-02291错误内容我们可以看到是由子该表外键的值和主表的不栏位不匹配 建议的动作为删除子表外键或者主表新增相关的值 问题是为什么主表会找不到匹配的呢? ### 2.2 查看导入日志 我们查看导入日志后有所发现,原来主表的数据在子表后面插入,这才导致上面的错误 ## 3. 解决方法 解决就很简单了,由于整体的导入是成功的,这时主表已经有数据了,所以我们只需将该子表单独导入一下就可以 impdp参数中使用tables=schema.child_table 即可