Oracle11g資料庫exp產生的dmp檔案,進行imp匯入時,ORA-01400的處理

qdrzq發表於2014-08-29
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檔案.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29512902/viewspace-1260293/,如需轉載,請註明出處,否則將追究法律責任。

相關文章