EXP-00008:遇到ORACLE錯誤904問題


 案例情景--在一次Oracle 數據庫導出時:  

  C:\Documents and Settings\Administrator>exp lsxy/lsxy@lsxy_db file=E:\lsxy.dmp owner=lsxy

    Export: Release 11.2.0.1.0 - Production on 星期一 11月 26 14:07:18 2012 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights      reserved.
    連接到: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
    With the Partitioning, Data Mining and Real Application Testing options
    已導出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
    . 正在導出 pre-schema 過程對象和操作
    . 正在導出用戶 JXUNICOM 的外部函數庫名
    . 導出 PUBLIC 類型同義詞
    . 正在導出專用類型同義詞
    . 正在導出用戶 JXUNICOM 的對象類型定義
    即將導出 JXUNICOM 的對象…
    . 正在導出數據庫鏈接
    . 正在導出序號
    . 正在導出簇定義
    . 即將導出 JXUNICOM 的表通過常規路徑…
    EXP-00008: 遇到 ORACLE 錯誤 904
    ORA-00904: "POLTYP": invalid identifier
    EXP-00000: 導出終止失敗
    發生EXP-00008: 遇到 ORACLE 錯誤 904 的導出報錯。
    根據網上的資料和總結,分析可能是本地使用的exp導出工具的版本與數據庫服務器端exp版本不一致導致。

    在命令操作中發現,本地安裝的Oracle 版本是Release 11.2.0.1.0,而數據庫服務器端安裝的Oracle 是Release 10.2.0.4.0 .

 

    由於Oracle的imp/exp組件的操作原則--向下兼容,且有一些規則:

 

    規則1:低版本的exp/imp可以連接到高版本(或同版本)的數據庫服務器,但高版本的exp/imp不能連接到低版本的數據庫服務器;

 

    規則2:高版本exp出的dmp文件,低版本無法imp(無法識別dmp文件);低版本exp出的dmp文件,高版本可以imp(向下兼容);

 

    規則3:從Oracle 低版本Export的數據可以Import到Oracle高版本中,但限於Oracle的相鄰版本,如從Oracle 10 到 Oracle 11.對於兩個不相鄰版本間進行轉換,如從Oracle 9 到 Oracle 11,則應先將數據輸入到中間版本-Oracle 10,再從中間數據庫轉入更高版本Oracle 11.

 

    據此,最快捷的解決方案就是使用安裝了10g Oracle 的機子,進行服務器上數據庫數據的導出。

   最重要的還是exp/imp程序與相關聯數據庫的版本問題


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM