A机器安装Oracle10
B机器安装Oracle9A机器备份了数据文件 Data_A.dmp
如何使用B机器将该文件导入?
即,如何低版本工具能够导入高版本工具导出的数据文件。
以下是导入时的日志文件:
Import started on 2011-8-11 9:41:28
D:\oracle\bin\IMP.EXE log=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\1\plsimp.log file=D:\Data_A.dmp userid=test/test@database fromuser=AUser touser=BUser buffer=30720 commit=no 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 - ProductionIMP-00010: 不是有效的导出文件,标题验证失败
IMP-00000: 未成功终止导入Import finished on 2011-8-11 9:41:28
thanks.

解决方案 »

  1.   

    imp只能从低版本导入到高版本。只向上兼容,不向下兼容
      

  2.   

    A机器的数据还在,导出文件在导入的时候,需要识别的是导出工具的版本,使用9I的客户端导出10G的数据,然后再导入9I的数据库即可。
    特别说明:前提是你在10G的数据库中没有使用9I不支持的东东。
      

  3.   

    之前有看过一个通过修改dmp头文件版本的方法。
      

  4.   

    如果你导出的dmp文件不是很大的话,用记事本,最好用第三方的,别用系统自带的,
    在第一行,可以看到类似:TEXPORT:V10.02.01
    这样的东西,
    把你用10G数据库导出的dmp文件改成和9i导出的dmp文件一样即可。
      

  5.   


    不太明白你的意思。
    要是能修改的话,不就成了Excel了?
    有什么第三方资源?推荐下
      

  6.   


    该EXE的头文件?之后重新编译生成新的EXE?这个有点悬啊
      

  7.   

    不是改exe,是改你导出的dmp数据的内容,你用记事本打开,其实里面存的就是sql语句而已,Oracle在导入的时候会验证最上面的一句版本信息,如果当然要导入的数据的版本高于当前的数据库话,就不让你进行导入,但是你如果把高版本的dmp文件修改成低版本的,就间接的欺骗了Oracle的导入工具,从而实现导入,但是可能多多少少出现一些问题~
      

  8.   

    看到了,不过好多乱码,不试了。
    thank you for all.