如何将oracle 10g中的数据库对象迁移到9i中.这个10g和9i的服务器分别搭建在局域网的两个机器上,可以相互访问.
问题描述:如何将Oracle 10g中的数据库对象迁移到9i中.这个10g和9i的服务器分别搭建在局域网的两个机器上,可以相互访问.
问题分析:在网上查了一些资料,表明要想将10g导出的dmp文件导入到9i中,是不可实现的.只能实现9i往10g中导.如果想要把10g中的数据导入到9i中,可以先到9i那台服务器上配置一个tnsnames.ora串,用于访问10g数据库,之后在9i服务器中用9i客户端提供的exp命令实现导出,再用imp命令实现导入.
10g导出的dmp往9i中导入,可能会报以下错误.
在安装有9i客户端执行导入命令时会报:
Import started on 2013-3-13 14:17:13
E:\oracle\ora92\bin\IMP.EXE log=C:\DOCUME~1\wangzh\LOCALS~1\Temp\plsimp.log file=D:\yusj\dqjz\dqjz20130308.dmp userid=dqjz/dqjz@ORCL buffer=30720 commit=no full=yes grants=yes ignore=yes indexes=yes rows=yes show=no constraints=yes
连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
IMP-00010: 不是有效的导出文件,,标题验证失败
IMP-00000: 未成功终止导入
Import finished on 2013-3-13 14:17:13
在安装有10g客户端执行导入命令时会报:
Import started on 2013-3-13 上午 11:13:02
D:\oracle\product\10.2.0\db_1\bin\imp.exe log=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\plsimp.log file=C:\dqjz20130308.dmp userid=dqjz/dqjz@ORCL_232 buffer=30720 commit=no full=yes grants=yes ignore=yes indexes=yes rows=yes show=no constraints=yes
IMP-00058: 遇到 ORACLE 错误 6550
ORA-06550: 第 1 行, 第 33 列:
PLS-00302: 必须说明 'SET_NO_OUTLINES' 组件
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
IMP-00000: 未成功终止导入
Import finished on 2013-3-13 上午 11:13:03