今天同事分享了一個案例
數據庫版本是oracle 11G,使用exp導出數據,然後imp導入。
Column :
Column :
Column :
IMP-00019: row rejected due to ORACLE error 1400
IMP-00003: ORACLE error 1400 encountered
ORA-01400: cannot insert NULL into ("HSVSDATA"."TFJYGH"."EN_LXSDS")
從生產導一個屬主到測試,使用了Direct=y導出,結果導入報如上錯誤,原因是如下:
原因是11g的一個新特性:爲了改善性能,對錶新增非空且有缺省值列的時候,ORACLE不會全表更新,只是改了數據字典,這種情況下,exp如果加了參數direct=y導致了丟失了字段值.不會導出字段的缺省值,所以報錯了。
11g下的exp 還是別加direct=y 了。