oracle導dmp檔案出現 錯誤 904

2021-09-01 18:44:17 字數 1430 閱讀 5480

在一次oracle 資料庫匯出時: www.2cto.com

c:\documents and settings\administrator>exp lsxy/lsxy@lsxy_db file=e:\lsxy.dmp owner=lsxy

連線到: oracle database 10g enterprise edition release 10.2.0.4.0 - 64bit production

已匯出 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 的機子,進行伺服器上資料庫資料的匯出。

附:[b]檢視oracle的版本資訊[/b]

(1)用客戶端連線到資料庫,執行select * from v$instance

檢視version項

(2)select * from product_component_version

(3)或查詢v$version檢視元件級資訊

用impdp導dmp檔案

1.建立directory create or replace directory export directory as usr local oracle oracle product 11.2.0 dbhome1 rdbms log directory是乙個路徑,用來存放dmp檔案以及生成的lo...

oracle表空間的建立及dmp 檔案的匯入

用oracle系統許可權的賬號 登陸 1.建立使用者 create user u name identified by u password 2.賦予許可權 grant dba,resource,connect to u name grant create session to u name gra...

oracle表空間的建立及dmp 檔案的匯入

用oracle系統許可權的賬號 登陸12 3456 78910 1112 1314 1516 1718 1920 2122 2324 2526 2728 2930 3132 1.建立使用者 createuseru name identifiedby u password 2.賦予許可權 grantd...