天天看点

解决oracle导出dmp时 904错误

     同事跟我说他机子上的oracle不能导出数据,一直904错误。我就很好奇怎么本机上的数据用oracle都不能导出呢?

解决oracle导出dmp时 904错误

     可以看到确实是这样不能导出数据,我查了下904错误 是因为版本的问题。于是我查了下exp工具的版本和他的oracle的版本,分别如下:

解决oracle导出dmp时 904错误

    可以看到这里的exp工具的版本是 11.2.0.1.0,我在查了下oracle的版本:    

解决oracle导出dmp时 904错误

    可以看到oracle的版本是11.1.0.6.0。

    exp工具的版本和oracle的版本真的不一样,而oracle版本的规则中,高版本不能导低版本服务器的数据!!!!

    这就是为什么不能导出数据,那怎么解决呢??

    其实我大致就知道怎么解决了,因为安装完oracle server后也会自己带有exp工具的,这个exp工具的版本是和server一致的,也就是说他的环境中的默认的exp工具是他client的exp工具,而不是server的exp工具,那么只要把默认的exp工具改为server的就可以了,所以把环境变量改下就OK了,怎么改?看下面的。

   之前的环境变量path下是这样的:

      path=E:\oracle11g\product\client32admin\product\11.2.0\client_1\bin;(其它省略)

   根据名字可以看到指向的是client的路径,改为指向server的路径(E:\oracle11g\product\11.1.0\db_1\BIN)

      path=E:\oracle11g\product\11.1.0\db_1\BIN;(其它省略)

   之后再查看默认的exp工具的版本

解决oracle导出dmp时 904错误

   现在可以看到exp工具的默认版本是11.1.0.6.0,这样exp工具的版本就与server一致了,然后我们再来导之前没导出来的schema。

解决oracle导出dmp时 904错误

     可以看到现在就能够正常的导出数据了,希望能够帮到大家。