IMP-00010 不是有效的导出文件,header 在 Oracle Import 中验证失败

IMP-00010 not a valid export file, header failed verification in Oracle Import

我有导出 DMP 文件,这些文件是使用 oracle 版本 11.2.0.4.0 中的 exp 命令导出的。我想在我的 oracle 版本 11.2.0.2.0 中导入该文件。但是在导入过程中,我收到错误 'IMP-00010 not a valid export file, header failed verification'。 导出转储 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 

并且导入 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

我 运行 使用以下命令导入:

imp TEST_CONFIG/TEST_CONFIG PARFILE=test_config.par   
imp TEST_CONFIG/TEST_CONFIG PARFILE=test_config.par

我尝试导出和导入很多次,以前它对我有用。由于我们现在有不同的服务器和数据库,当我比较并打开以前的导出文件时,它显示的是我可以导入的版本 EXPORT:V11.02.00,但现在对于新的导出,它显示的是版本 EXPORT:V12.01.00 .所以它看起来是兼容性问题。

如果这两个数据库之间有网络连接 然后使用第一台服务器在第二台数据库服务器上执行导入命令。

执行 imp 命令时必须小心,确保使用 imp 命令针对第二个数据库。

IMP-00010:不是有效的导出文件,header 验证失败。这会让您觉得您尝试导入的文件有问题。我得到了同样的错误,但这只是 STUPID Oracle 愚蠢。我的档案没有任何问题。 imp user/password@server/service 文件=mydumpfile.dmp 上面的命令给出了来自我的客户端 PC 的错误,但如果我 运行 使用远程桌面连接从服务器发送它,它就可以正常工作。

IMP-00010: not a valid export file, header failed verification.

今天我在尝试将 12.0.2 dmp 文件导入 11.2.0 时得到了这个 数据库。在 Ultraedit 中打开转储文件时,第一行有版本号 12.0.2 或其他内容。

我怀疑这个数字是 IMP-00010 的原因,手动将其更改为 11.0.2,保存转储文件,imp 成功。

显然 imp 只检查第 1 行中的版本号,imp 实用程序本身似乎没有变化,至少在这两个版本的 oracle 数据库之间是这样。

当我尝试使用 imp 命令将从 Oracle 11.2.0.4 导出的数据库转储导入到 Oracle 11.2.0.2.0 版本时,我遇到了同样的问题。它给了我完全相同的错误。但是,当我尝试将转储文件导入 Oracle 12.1.0.2.0 时,它工作正常。

问题是由于 Oracle 旧版本无法正确识别新版本转储。因此,您必须尝试使用​​较新的 Oracle 版本转储文件。如果您在不同的 Oracle 版本之间导入和导出,请阅读它们的 documentation.

https://docs.oracle.com/database/121/SUTIL/GUID-BAA3B679-A758-4D55-9820-432D9EB83C68.htm#SUTIL110

您从版本 V12.01.00 导出转储并尝试将其导入版本 V11.02.00

使用

expdp username/password 版本=11.02 转储文件=filename.dmp 日志文件=filename.log

impdp username/password 转储文件=filename.dmp 日志文件=filename.log