案例情景--在一次Oracle 數據庫導出時 EXP-00008;ORA-00904:EXP-00000: oracle不同版本導入導出規則


案例情景--在一次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 的機子,進行服務器上數據庫數據的導出。4


免責聲明!

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



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