今天需要将测试系统迁移到生产系统,于是在生产库中创建相应用户基表空间后,将测试系统的数据通过exp/imp(数据量不大)迁移到生产库上。通过windows下自带的ftp服务器上传到unix服务器上后,通过imp show=y查看导入的内容以降低出错的概率,结果执行该命令后报了大量的imp-0008错误,oracle官方解释如下:
00008, 00000, "unrecognized statement in the export file: \n %s"
// *Cause: Import did not recognize a statement in the export file. Either
// the export file was corrupted, or an Import internal error has
// occurred.
// *Action: If the export file was corrupted, retry with a new export file.
// Otherwise, report this as an Import internal error and submit
// the export file to customer support.
按照官方的说法有可能是文件损坏,而且通过ls -lh发现一个有意思的现象,unix文件上识别的文件大小与window上的原文件大小不一致,gg之后有人提到了ftp传输模式的问题,需要切换到binary模式再传输文件,于是再次通过ftp binary模式传输文件,接着imp导入后故障消失,看来问题果然如此。。
在window下的ftp提示符中执行binary即可切换到二进制传输模式,默认是ascii传输模式,使用type命令可以查看当前的传输模式。。
小小记录一下这个有意思的案例 哈哈。。。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20801486/viewspace-722453/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/20801486/viewspace-722453/