在一次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...