我从测试环境的服务器上的oracle数据库导出了一个数据库文件,导出语句为:exp gsc/password@orcl file="d:\wang0704.dmp" full=y.我在自己电脑上装了个oracle 10g,想把这个数据库文件导进去,我创建了表空间orcl,创建了gsc用户,赋给了gsc用户dba权限,然后再dos窗口下执行导入语句:imp gsc/password@orcl file=d:\wang0714.dmp ignore=y full=y.结果报错:IMP-00058 IMP-00000 未成功终止导入。怎么回事,请给位大侠帮忙,后学晚辈请教!
即时是同一个版本的Oracle,只要是小版本不一样,数据也是无法导入的。
你可以在导出数据的时候使用低版本的exp,还有一个办法就是更改导出数据文件的头,以前在哪个博客中看到过,不过忘记了,就是利用更改dmp文件头部的版本号来骗过imp。
C:\Oracle\product\10.2.0\db_1\bin\
目录下有exp.exe这个文件,
比如你现在存放数据的数据库是10G的,但是要导入到9i的数据中,你可以把9i这个目录中的文件拷贝一个,放到这里,然后在使用备份,记得备份原来的。这样理论上应该可以,我也没有试过。
如果这样不行的话,最简单的,你安装一个比存放数据更高版本的Oracle,如果你只是做开发用版本高一点也无所谓拉~或者把你本机的Oracle卸载掉,安装成和服务器大版本一样的数据库,或者是大版本一样,小版本比服务器高一点也可以的~