1、錯誤1:RBS和TEMP資料表空間無法建立。
IMP-00017: following statement failed with Oracle error 1119:
"CREATE TABLESPACE "RBS" DATAFILE 'D:\ORACLE\ORADATA\ORCL\RBS01.DBF' SIZE 5"
"45259520 AUTOEXTEND ON NEXT 5242880 MAXSIZE 16383M DEFAULT STORAGE("
"INITIAL 524288 NEXT 524288 MINEXTENTS 8 MAXEXTENTS 4096 PCTINCREASE 50) ONL"
"INE PERMANENT "
IMP-00003: ORACLE error 1119 encountered
ORA-01119: error in creating database file 'D:\ORACLE\ORADATA\ORCL\RBS01.DBF'
ORA-27040: file create error, unable to create file
OSD-04002: unable to open file
O/S-Error: (OS 3) 系統找不到指定的路徑。
IMP-00017: following statement failed with ORACLE error 12913:
"CREATE TABLESPACE "TEMP" DATAFILE 'D:\ORACLE\ORADATA\ORCL\TEMP01.DBF' SIZE"
" 127270912 AUTOEXTEND ON NEXT 655360 MAXSIZE 16383M DEFAULT STORAGE"
"(INITIAL 65536 NEXT 65536 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0)"
" ONLINE TEMPORARY "
IMP-00003: ORACLE error 12913 encountered
ORA-12913: Cannot create dictionary managed tablespace
RBS是oracle817的復原段資料表空間,裡面沒有資料,到了10g,復原段的辦法已經改變了,使用的是UNDOTBS1資料表空間,已經建立,所以放棄。
TEMP是oracle817的暫存資料表空間,也沒有資料,而且10g的暫存資料表空間不再使用字典管理員模式,而是採用本地管理員模式,這個過時了,所以放棄。
2、錯誤2:
IMP-00017: following statement failed with ORACLE error 3249:
"CREATE TABLESPACE "TOOLS" DATAFILE 'D:\ORACLE\ORADATA\ORCL\TOOLS01.DBF' SI"
"ZE 18481152 AUTOEXTEND ON NEXT 327680 MAXSIZE 16383M DEFAULT STORAG"
"E(INITIAL 32768 NEXT 32768 MINEXTENTS 1 MAXEXTENTS 4096 PCTINCREASE 0) ONLI"
"NE PERMANENT "
IMP-00003: ORACLE error 3249 encountered
ORA-03249: Uniform. size for auto segment space managed tablespace should have atleast 5 blocks
TOOLS是oracle817的工具資料表空間,主要是系統管理使用者SYSTEM的預設資料表空間,在oracle817,我無法分析出TOOLS資料表空間內是否存放有資料對象,所以還是匯入的為好,原因在於TOOLS資料表空間原先沒有被建立,所以在匯入的時候,匯入程式認為要建立,但是建立不成功,報錯。
解決辦法:在oracle10g建立資料表空間的語句中,添加TOOLS資料表空間建立。
3、錯誤3:
IMP-00017: following statement failed with ORACLE error 959:
"ALTER USER "SYSTEM" IDENTIFIED BY VALUES 'D4DF7931AB130E37' DEFAULT TABLESP"
"ACE "TOOLS" TEMPORARY TABLESPACE "TEMP""
IMP-00003: ORACLE error 959 encountered
ORA-00959: tablespace 'TOOLS' does not exist
這個錯誤,原因是oracle817預設的SYSTEM使用者預設資料表空間在TOOLS中,所以在匯入的時候,自然因為TOOLS資料表空間沒有建立而失敗。
解決辦法:只要TOOLS資料表空間建立起來,自然錯誤就消失了。:
4、錯誤4:
IMP-00017: following statement failed with ORACLE error 1031:
"CREATE DATABASE LINK "DATA_LINK.WORLD" CONNECT TO "DATA" IDENTIFIED BY "DATA" "
"USING 'ora7'"
IMP-00003: ORACLE error 1031 encountered
ORA-01031: insufficient privileges
我匯入使用的是SYSTEM使用者,好像是因為SYSTEM使用者權限不夠,不過因為這個沒有用了,所以放棄建立,以後要用的話,可以再單獨建立,就可以了。
5、錯誤5:這個才是這篇記錄中最關鍵的一個,也是因為這個我才寫這篇記錄的,因為有時候,可能難以理解。
IMP-00017: following statement failed with ORACLE error 20005:
"DECLARE SREC DBMS_STATS.STATREC; BEGIN SREC.MINVAL := NULL; SREC.MAXVAL :="
" NULL; SREC.EAVS := 0; SREC.CHVALS := NULL; SREC.NOVALS := DBMS_STATS.NUMAR"
"RAY(0,0); SREC.BKVALS := DBMS_STATS.NUMARRAY(0,1); SREC.EPC := 2; DBMS_STAT"
"S.SET_COLUMN_STATS(NULL,'"DEF$_AQERROR"','"EXCEPTION_QUEUE"', NULL ,NULL,NU"
"LL,0,0,0,srec,0,2); END;"
IMP-00003: ORACLE error 20005 encountered
ORA-20005: object statistics are locked (stattype = ALL)
ORA-06512: at "SYS.DBMS_STATS", line 1610
ORA-06512: at "SYS.DBMS_STATS", line 2120
ORA-06512: at "SYS.DBMS_STATS", line 5010
ORA-06512: at line 1
這個錯誤有點蹊蹺,主要錯誤是object statistics are locked (stattype=all),經過查詢,發現這個錯誤發生的原因在於資料庫統計資訊。但是更深層次的原因,還不清楚。暫時理解的是,由於預設的匯入策略是statistics=always,這個策略要求的是一定要匯入原先的資料庫統計資訊,這個策略,還是覺得有點問題,資料庫統計資訊,由於是使用了新的資料庫版本,原先的統計資訊,基本上80%左右的統計資訊應該是不正確的,所以為什麼匯入策略還要預設是statistics=always呢。所以,我的決定是不匯入或者重新統計資料庫統計資訊。
解決辦法 :imp 命令最後添加參數statistics=none,這個參數就是要求不匯入或者重新計算資料庫統計資訊。
6、錯誤6:
IMP-00017: following statement failed with ORACLE error 2270:
"ALTER TABLE "DEF$_CALLDEST" ADD CONSTRAINT "DEF$_CALL_DESTINATION" FOREIGN "
"KEY ("DBLINK") REFERENCES "DEF$_DESTINATION" ("DBLINK") ENABLE NOVALIDATE"
IMP-00003: ORACLE error 2270 encountered
ORA-02270: no matching unique or primary key for this column-list
這個錯誤,有點喜劇了,經過oracle817和oracle10g同一個表的表結構對比,發現oracle10g有這個外鍵,而且好像比oracle817的要好。所以放棄了。
解決辦法:忽視。