前几天有位同事问到exp/imp是否涉及到版本问题,我认为,只要是软件,都会涉及到高低版本的兼容性问题,oracle也是软件,自然也是
前几天有位同事问到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.
相关阅读:
oracle ora-01555 快照过旧 说明
ora-01078 和 lrm-00109 报错解决方法
ora-01555超长的query duration时间
ora-00471 处理方法笔记
ora-00314,redolog 损坏,或丢失处理方法
ora-00257 归档日志过大导致无法存储的解决办法
,