EXP-00008: 遇到 ORACLE 錯誤 904 ORA-01003

perfychi發表於2012-12-17

今日導資料遇到一錯誤,記得之前也遇到過,但是沒做記錄,在此記一記,便於加深印象。

 

使用exp導資料的時候,在本地連遠端DB伺服器執行如下語句:

  1. exp **/**@192.168.90.125/center file=.... 

出現如下資訊:

  1. 連線到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production 
  2. With the Partitioning, OLAP and Data Mining options 
  3. 已匯出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集 
  4.  
  5. 即將匯出指定的表透過常規路徑... 
  6. . . 正在匯出表                   TB_SYS_ACTION 
  7. EXP-00008: 遇到 ORACLE 錯誤 904 
  8. ORA-00904: "MAXSIZE": invalid identifier 
  9. . . 正在匯出表             TB_SYS_ASSEMBLYINFO 
  10. EXP-00008: 遇到 ORACLE 錯誤 1003 
  11. ORA-01003: no statement parsed 
  12. . . 正在匯出表               TB_SYS_BILLDEFINE 
  13. EXP-00008: 遇到 ORACLE 錯誤 904 
  14. ORA-00904: "MAXSIZE": invalid identifier 
  15. . . 正在匯出表               TB_SYS_BILLQRYEXT 
  16. EXP-00008: 遇到 ORACLE 錯誤 1003 
  17. ORA-01003: no statement parsed 
  18. . . 正在匯出表               TB_SYS_BILLQRYSIM 
  19. EXP-00008: 遇到 ORACLE 錯誤 904 
  20. ORA-00904: "MAXSIZE": invalid identifier 
  21. . . 正在匯出表          TB_SYS_COLUMNDISPLAYER 
  22. EXP-00008: 遇到 ORACLE 錯誤 1003 
  23. ORA-01003: no statement parsed 
  24. . . 正在匯出表           TB_SYS_DBOBJMODIFYLOG 
  25. EXP-00008: 遇到 ORACLE 錯誤 904 
  26. ORA-00904: "MAXSIZE": invalid identifier 
  27. . . 正在匯出表            TB_SYS_DDFLOWCONTROL 
  28. EXP-00008: 遇到 ORACLE 錯誤 1003 
  29. ORA-01003: no statement parsed 
  30. . . 正在匯出表                     TB_SYS_DICT 
  31. EXP-00008: 遇到 ORACLE 錯誤 904 
  32. ORA-00904: "MAXSIZE": invalid identifier 
  33. 。。。。。。。。 

其實,此報錯資訊是因為本地使用的exp匯出工具的版本與db伺服器端exp版本不一致。

本地用的exp是11g版本,而db伺服器端exp是10g版本。

由於Oracle的imp/exp元件的一個操作原則就是向下相容,且有一些規則:

規則1:低版本的exp/imp可以連線到高版本(或同版本)的資料庫伺服器,但高版本的exp/imp不能連線到低版本的資料庫伺服器。

規則2:高版本exp出的dmp檔案,低版本無法imp(無法識別dmp檔案);低版本exp出的dmp檔案,高版本可以imp(向下相容)。

規則4:從Oracle 低版本Export的資料可以Import到Oracle高版本中,但限於Oracle的相鄰版本,如從Oracle 7 到 Oracle 8。對於兩個不相鄰版本間進行轉換,如從Oracle 6 到 Oracle 8,則應先將資料輸入到中間版本—Oracle 7,再從中間資料庫轉入更高版本Oracle 8。

於是在db伺服器端進行exp操作,然後在本地imp操作,結果匯入成功。

 

為弄清楚為什麼提示  ORA-00904: "MAXSIZE": invalid identifier,可在10g和11g版本中分別執行

  1. SQL > desc sys.exu9tbs 

結果如下:

  1. Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0  
  2. Connected as center 
  3.   
  4. SQL> desc sys.exu9tbs 
  5. Name       Type         Nullable Default Comments  
  6. ---------- ------------ -------- ------- --------  
  7. ID         NUMBER                                  
  8. OWNER      CHAR(6)      Y                          
  9. NAME       VARCHAR2(30)                            
  10. ISONLINE   VARCHAR2(7)  Y                          
  11. CONTENT    VARCHAR2(9)  Y                          
  12. INIEXT     NUMBER                                  
  13. SEXT       NUMBER                                  
  14. PCTINC     NUMBER                                  
  15. MINEXT     NUMBER                                  
  16. MAXEXT     NUMBER                                  
  17. MINLEN     NUMBER       Y                          
  18. DEFLOG     NUMBER                                  
  19. EXT_MGT    NUMBER                                  
  20. ALLOC_TYPE NUMBER                                  
  21. BLOCKSIZE  NUMBER   

 

  1. Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.3.0  
  2. Connected as hbtest 
  3.   
  4. SQL> desc sys.exu9tbs 
  5. Name       Type         Nullable Default Comments  
  6. ---------- ------------ -------- ------- --------  
  7. ID         NUMBER                                  
  8. OWNER      CHAR(6)      Y                          
  9. NAME       VARCHAR2(30)                            
  10. ISONLINE   VARCHAR2(7)  Y                          
  11. CONTENT    VARCHAR2(9)  Y                          
  12. INIEXT     NUMBER                                  
  13. SEXT       NUMBER                                  
  14. PCTINC     NUMBER                                  
  15. MINEXT     NUMBER                                  
  16. MAXEXT     NUMBER                                  
  17. MINLEN     NUMBER       Y                          
  18. DEFLOG     NUMBER                                  
  19. EXT_MGT    NUMBER                                  
  20. ALLOC_TYPE NUMBER                                  
  21. BLOCKSIZE  NUMBER                                  
  22. MAXSIZE    NUMBER       Y      ----&gt 11g多了此欄位                   
  23.   

exu9tbs 是個系統檢視。

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

相關文章