外键约束报错 【impdp】ORA-02291
外键约束导致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