天天看點

關于oracle資料庫高版本向低版本遷移的解決方法

     昨天要把自己機器上的資料庫遷移到專用伺服器上一份,本地安裝的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.tra(9i的目錄:%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 sysdba

create 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用戶端導出資料檔案,然後再進行導入。

     本文轉自NightWolves 51CTO部落格,原文連結:http://blog.51cto.com/yangfei520/1141135,如需轉載請自行聯系原作者