exp/imp匯入匯出版本問題和ORA-6550報錯

bisal發表於2013-12-15
前幾天有位同事問到exp/imp是否涉及到版本問題,我認為,只要是軟體,都會涉及到高低版本的相容性問題,Oracle也是軟體,自然也是這樣。

簡單的實驗:
exp工具版本:10g
匯出的source資料庫版本:9i
bash-4.1$ exp x/x@x tables=T file=/home/x/t.dmp

Export: Release 10.2.0.4.0 - Production on Wed Dec 11 15:17:05 2013

Copyright (c) 1982, 2007, Oracle.  All rights reserved.


EXP-00056: ORACLE error 6550 encountered
ORA-06550: line 1, column 41:
PLS-00302: component 'SET_NO_OUTLINES' must be declared
ORA-06550: line 1, column 15:
PL/SQL: Statement ignored
EXP-00000: Export terminated unsuccessfully

從報錯看,好像是有個元件未定義,導致匯出失敗。

從MOS上看到一篇文章,有個介紹exp/imp版本相容性問題的經典總結:
Export client compatibility:
Always use a version of the EXPORT utility that is equal to the lowest version of either the source or the target database.
匯出客戶端相容性:建議使用和源資料庫或目標資料庫中最低版本一致的EXPORT工具版本。
Import client compatibility:
Always use a version of the IMPORT utility that is equal to the version of the target database.
匯入客戶端相容性:建議使用和目標資料庫版本一致的IMPORT工具版本。

這裡很明顯為我們實際中需要exp/imp匯入匯出指明瞭方向。

下面是匯入匯出的一個版本矩陣:
Import data into an older release (desupported) target database.


Import data into Oracle8i or higher release database.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7192724/viewspace-1063323/,如需轉載,請註明出處,否則將追究法律責任。

相關文章