外键约束报错 【impdp】ORA-02291

发布时间 2023-07-27 15:14:04作者: wazz_s

外键约束导致impdp报错。取消外键约束,导入后添加外键约束。

ORA-31693: Table data object "TEST"."T_ITE" failed to load/unload and is being skipped due to error:
ORA-29913: error in executing ODCIEXTTABLEFETCH callout
ORA-02291: integrity constraint (TEST.FK_ITE_REF_PSR) violated - parent key not found

(a) 导入前,执行如下SQL找到需要禁止的外键关联

select 'ALTER TABLE '||TABLE_NAME||' DISABLE CONSTRAINT '||constraint_name||';' from user_constraints WHERE CONSTRAINT_TYPE='R';

 

(b) 执行(a)的结果SQL

(c) 导入后,执行如下SQL找到需要恢复的外键关联

select 'ALTER TABLE '||TABLE_NAME||' ENABLE NOVALIDATE CONSTRAINT '||constraint_name||';' from user_constraints WHERE CONSTRAINT_TYPE='R';

 

NOVALIDATE参数不会验证已存储的数据,但未来再插入的记录则会遵循主外键关联的关系。

参考&感谢https://blog.csdn.net/viviliving/article/details/103733750