Oracle11g数据库exp产生的dmp文件,进行imp导入时,ORA-01400的处理

Oracle11g数据库exp产生的dmp文件,进行imp导入的时候,出现提示:
IMP-00019: 由于 ORACLE 错误 1400 而拒绝行
IMP-00003: 遇到 ORACLE 错误 1400
ORA-01400: 无法将 NULL 插入 ("USER_1"."TBL_1"."COL_1")
列: TESTDATA
列: 1
列: 2302
而实际上,原始的表中数据,COL_1这列没有NULL的,字段定义也是NOT NULL的.
原因是11g的一个新特性:为了改善性能,对表新增非空且有缺省值列的时候,ORACLE不会全表更新,只是改了数据字典,这种情况下,exp如果加了参数direct=y导致了丢失了字段值.
解决方法:既然是因为exp的加了direct=y参数的原因,所以,exp时不加direct=y重新导出,得到dmp文件.
请使用浏览器的分享功能分享到微信等