您的位置:首页 > 数据库 > Oracle

exp/imp导入导出版本问题和ORA-6550报错

2013-12-16 12:05 344 查看
前几天有位同事问到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 exp imp