昨天要把自己機器上的資料庫遷移到專用伺服器上一份,本地安裝的Oracle10g,伺服器上安裝的資料庫是Oracle9i,一開始進行如下操作:本地匯出資料庫檔案:exp gzwp/wlkp@taxser file= d:\20130226.dmp owner=gzwp拿到伺服器上匯入:imp gzwp/wlkp@taxser file=d:\20130226.dmp fromuser=gzwp touser=gzwp ignore=y報錯:
IMP-00010:不是有效匯出檔案,標題驗證失敗
IMP-00000:未成功匯入 原因是資料庫版本的問題,Oracle不支援高版本匯入到低版本。解決方案:
1.在伺服器上配置一個Oracle的資料庫連接到本地Oracle10g(叫做taxser134),方式是通過oracle提供的協助工具Net Manager或者修改tnsname.tra9i的目錄:%oracle_home%\ora92\network\admin,10g對應的目錄:%oracle_home%\product\10.2.0\db_1\NETWORK\ADMIN)
在遠程伺服器上匯出資料庫檔案:exp gzwp/wlkp@taxser134 file= d:\20130226.dmp owner=gzwp 2.在遠程伺服器上建立對應的資料庫,使用者以及資料表空間:1>.可以通過oracle工具Database Configuration Assistant建立資料庫執行個體(ntaxser):
要注意選擇字元集時和本地的資料庫對應,否則可能出現中文亂碼。2>.sqlplus sys/wlkp as sysdbacreate user gzwp identified by wlkp;grant connect,resource,dba,create session to gzwp;create tablespace WLKPTABLE
logging
datafile 'F:\oracle\product\10.1.0\oradata\ntaxser\WLKPTABLE.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;//.......所有用到的資料表空間 3.然後匯入到伺服器上匯入:imp gzwp/wlkp@ntaxser file=d:\20130226.dmp fromuser=gzwp touser=gzwp ignore=y匯入成功! 其實,所有關於oracle資料庫高版本向低版本遷移的解決方案,做法都是類似的:通過在低版本Oracle上配置一個串連到高版本資料庫,通過低版本oracle用戶端匯出資料檔案,然後再進行匯入。
本文出自 “夜狼” 部落格,請務必保留此出處http://yangfei520.blog.51cto.com/1041581/1141135