IMP-00010 不是有效的导出文件,Oracle 导入中的标头验证失败
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/39203632/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
IMP-00010 not a valid export file, header failed verification in Oracle Import
提问by Andrew
I have export dmp file which are exported using exp command from oracle version 11.2.0.4.0. I want to import the file in my oracle version 11.2.0.2.0. But during import i am getting an error as 'IMP-00010 not a valid export file, header failed verification'
.
The export dmp par file has following information :
我有导出 dmp 文件,这些文件是使用 exp 命令从 oracle 11.2.0.4.0 版导出的。我想在我的 oracle 版本 11.2.0.2.0 中导入文件。但是在导入过程中我收到一个错误为'IMP-00010 not a valid export file, header failed verification'
. 导出 dmp par 文件包含以下信息:
USERID=TEST_CONFIG/TEST_CONFIG@Ik567G
OWNER=TEST_CONFIG
LOG=test01.log
FILE=test01.dmp
INDEXES=Y
CONSTRAINTS=Y
GRANTS=Y
COMPRESS=Y
FULL=N
ROWS=Y
CONSISTENT=Y
BUFFER=80200
FEEDBACK=500
And the import dmp test_config par file has following information :
并且导入 dmp test_config par 文件具有以下信息:
LOG=TEST_CONFIG.log
FILE=test01.dmp
FROM USER=TEST_CONFIG
FULL=n
ROWS=n
INDEXES=n
CONSTRAINTS=y
IGNORE=y
I am running the import using following command :
我正在使用以下命令运行导入:
imp TEST_CONFIG/TEST_CONFIG PARFILE=test_config.par
imp TEST_CONFIG/TEST_CONFIG PARFILE=test_config.par
I tried export and import many times and it works for me previously. As we have different sever and database now and When i compared and open the previous export file,its showing the version EXPORT:V11.02.00
where i am able to import but now for the new export its showing the verison EXPORT:V12.01.00
. So it looks compatibility issue.
我多次尝试导出和导入,以前对我有用。由于我们现在有不同的服务器和数据库,当我比较并打开以前的导出文件时,它显示了EXPORT:V11.02.00
我能够导入的版本,但现在对于新的导出,它显示了版本EXPORT:V12.01.00
。所以看起来兼容性问题。
采纳答案by Paul McCarthy
IMP-00010: not a valid export file, header failed verification. This would give you the impression that something is wrong with the file you are trying to import. I got the same error but it was just STUPID Oracle being stupid. There was nothing wrong with my file. imp user/password@server/service FILE=mydumpfile.dmp The above command gave the error from my client PC but worked perfectly if I ran it from the server using a remote desktop connection.
IMP-00010:不是有效的导出文件,标头验证失败。这会给您的印象是您尝试导入的文件有问题。我遇到了同样的错误,但只是 STUPID Oracle 很愚蠢。我的文件没有任何问题。imp user/password@server/service FILE=mydumpfile.dmp 上面的命令在我的客户端 PC 上给出了错误,但如果我使用远程桌面连接从服务器运行它,它运行得很好。
回答by dhanushka
The same issue occur for me when I tried to import DB dump which was exported from Oracle 11.2.0.4 into the Oracle 11.2.0.2.0 version with imp command. It gave me the exact same error. But, When I tried to import dump file into Oracle 12.1.0.2.0 it worked fine.
当我尝试使用 imp 命令将从 Oracle 11.2.0.4 导出的数据库转储导入到 Oracle 11.2.0.2.0 版本时,我也遇到了同样的问题。它给了我完全相同的错误。但是,当我尝试将转储文件导入 Oracle 12.1.0.2.0 时,它运行良好。
The issue was due to Oracle older version cannot properly identify the newer version dump. Therefore you have to try dump file with newer Oracle version. If you are import and export between different Oracle version read their documentation.
该问题是由于 Oracle 旧版本无法正确识别新版本转储。因此,您必须尝试使用较新的 Oracle 版本转储文件。如果您在不同 Oracle 版本之间进行导入和导出,请阅读他们的文档。
https://docs.oracle.com/database/121/SUTIL/GUID-BAA3B679-A758-4D55-9820-432D9EB83C68.htm#SUTIL110
https://docs.oracle.com/database/121/SUTIL/GUID-BAA3B679-A758-4D55-9820-432D9EB83C68.htm#SUTIL110
回答by Eng. Samer T
if you have a network connection between these two databases then use the first server to execute the import command on the second database server.
如果这两个数据库之间有网络连接,则使用第一个服务器在第二个数据库服务器上执行导入命令。
you have to be careful when executing imp command, be very sure that you targeted the second database with imp command.
执行imp命令时必须小心,请确保使用imp命令定位了第二个数据库。
回答by Hans Hauer
IMP-00010: not a valid export file, header failed verification.
IMP-00010:不是有效的导出文件,标头验证失败。
Today I got this one when trying to import a 12.0.2 dmp file into a 11.2.0 database. When opening the dumpfile in Ultraedit there is a version number 12.0.2 or something in the first line.
今天我在尝试将 12.0.2 dmp 文件导入 11.2.0 数据库时得到了这个。在 Ultraedit 中打开转储文件时,第一行中有一个版本号 12.0.2 或其他内容。
I suspected this number to be the cause for IMP-00010 and changed it manually to 11.0.2, saved the dumpfile, and the imp succeeded.
我怀疑这个数字是导致 IMP-00010 的原因并手动将其更改为 11.0.2,保存转储文件,并且imp成功。
Obviously imp only checks the version number in line 1, the imp utility itself seemes to be unchanged, at least between this two versions of the oracle database.
显然imp只检查第1行的版本号,imp实用程序本身似乎没有变化,至少在oracle数据库的这两个版本之间是这样。
回答by Ahmed
You Export the dump from version V12.01.00 and try to import it into version V11.02.00
您从版本 V12.01.00 导出转储并尝试将其导入版本 V11.02.00
Use
用
expdp username/password version=11.02 dumpfile=filename.dmp logfile=filename.log
expdp 用户名/密码版本=11.02 dumpfile=filename.dmp logfile=filename.log
impdp username/password dumpfile=filename.dmp logfile=filename.log
impdp 用户名/密码 dumpfile=filename.dmp logfile=filename.log