拿了一份從10g數據庫導出的dmp,本機安裝的是11.2g的oracle數據庫,執行imp導入后提示:
IMP-00058: 遇到 ORACLE 錯誤 942
ORA-00942: 表或視圖不存在
開始很是納悶,按理10g數據結構的dmp導入到11g的數據庫是沒問題的,又不是11g數據庫的dmp導入到10g的數據庫。找來同事幫忙看,最后把imp中的data_only參數去掉發現就可以了。原來問題就出在這個data_only參數上。
data_only參數11g才開始有的imp參數,表示只導入數據,前提是表結構已經存在,而我的庫中都還沒有要入dmp對應的表,而又在導入中指定參數data_only=y,所以就出現了上述的問題。
注:如果是在10g,因為沒有data_only參數,所以如果要導入的dmp中如果表結構已經有了,需要指定ignore=y,不然會出錯提示對象已經存在無法導入。