服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > 数据库技术 > Oracle技术 > Oracle开发 > 查看文档

Oracle数据库不同版本间用exp来导数据

 

公司内的一个项目系统的数据库从Oracle 8i 升级到 9i。

机器t1 安装 Oracle 8.16

机器t2 安装 Oracle 8.17

机器t3 安装 Oracle 9i

现在为了将t1数据库中的某一个用户的数据导入到t3的9i中去, 在t3机器执行:

E:\>exp system/manager@t1
owner=wlbtst file=c:\emp0805wlbtst.dmp log 
= c:\emp0805wlbtst.log compress=n 
Export: Release 9.0.1.1.1 - Production on 
星期二8月 5 13:47:08 2003   
(c) Copyright 2001 Oracle 
Corporation. All rights reserved. 
连接到: Oracle8i Enterprise Edition 
Release 8.1.6.0.0 - Production 
With the Partitioning option 
JServer Release 8.1.6.0.0 - Production 
EXP-00056: 遇到 ORACLE 错误 942 
ORA-00942: 表或视图不存在 
EXP-00000: 导出终止失败 
E:\>

  

所以只有在t1或t2的机器上执行exp,然后再用t3的imp将数据导入t3的9i库中,

当时我感到很纳闷,为什么不能用9i中的exp去把8i的数据导出来呢?

以下介绍两个规则:

规则一:从Oracle 低版本的Export数据可以Import到Oracle高版本中,但限于Oracle的相邻版本,如从Oracle 7 到 Oracle 8。对于两个不相邻版本间进行转换,如从Oracle 6 到 Oracle 8,则应先将数据输入到中间版本―Oracle 7,再从中间数据库转入更高版本。

规则二:Oracle的Export/Import工具只能连接到拥有更高或者一样的Export/Import版本的数据库。如Oracle 8.0.5的Export/Import(版本8.0.5.0.0)可连接到Oracle 8.1.6数据库(版本8.1.6.0.0);高版本的Export导出来的转储文件,低版本的Import读不了;低版本的Export导出来的转储文件,高版本的Import可以进行读取。

扫描关注微信公众号