我有导出dmp文件,它是使用oracle版本11.2.0.4.0中的exp命令导出的。我想在我的oracle版本11.2.0.2.0中导入该文件。但在导入过程中,我收到错误Name
。
export dmp par文件包含以下信息:
'IMP-00010 not a valid export file, header failed verification'
导入dmp test_config 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
我使用以下命令运行导入:
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
。所以它看起来兼容性问题。
答案 0 :(得分:2)
IMP-00010:不是有效的导出文件,标头验证失败。这会让您觉得您尝试导入的文件出了问题。我得到了同样的错误,但它只是愚蠢的甲骨文是愚蠢的。我的文件没有任何问题。 imp user / password @ server / service FILE = mydumpfile.dmp 上面的命令从我的客户端PC发出错误,但如果我使用远程桌面连接从服务器运行它,则工作正常。
答案 1 :(得分:1)
如果这两个数据库之间有网络连接 然后使用第一台服务器在第二台数据库服务器上执行import命令。
执行imp命令时必须小心,请确保使用imp命令将第二个数据库作为目标。
答案 2 :(得分:1)
当我尝试导入使用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
答案 3 :(得分:0)
IMP-00010:不是有效的导出文件,标题验证失败。
今天我尝试将12.0.2 dmp文件导入11.2.0时得到了这个 数据库。在Ultraedit中打开转储文件时,版本号为12.0.2或第一行中的某个版本。
我怀疑这个数字是IMP-00010的原因,手动将其更改为11.0.2 ,保存了dumpfile,并且imp成功了。
显然imp只检查第1行中的版本号,imp实用程序本身看起来没有改变,至少在这两个版本的oracle数据库之间。
答案 4 :(得分:-1)
您从版本V12.01.00导出转储,并尝试将其导入版本V11.02.00
使用
expdp用户名/密码版本= 11.02 dumpfile = filename.dmp logfile = filename.log
impdp用户名/密码dumpfile = filename.dmp logfile = filename.log