用IMP导入dmp文件时,出现IMP-00010 不是有效的导出文件,标头验证失败问题。
第一种:网上搜索到的大多解决方法是说导出文件时使用的Oracle版本不一致问题,需要修改dmp文件的版本号。如果确定版本号确实不一样,请自行搜索一下解决方法。
第二种:备份dmp文件时,备份的语句可能使用的是expdp命令备份的文件,如果是用expdp备份的文件,使用imp导入命令也是会报这样的错误。
所以:导出dmp文件时,如果使用的是expdp命令导出文件时,应该使用impdp命令导入。如果使用的exp命令导出文件时,应该使用imp命令导入。
如果确定是dmp文件版本不一致的问题时,使用第一种方法。第一种方法解决不了时,可能就是第二种所描述的原因。
第二种具体解决步骤:
1、 一般导入都是先建立表空间、实例、用户名
2、用impdp命令导入
(1) 使用sqlplus或者Oracle客户端(PL/SQL) 链接到相应的Oracle数据库实例.
(2)创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。
create directory dpdata1 as 'd: estdump'; (查看服务器上若没有存在d: estdump目录,则手动新建,把dmp备份文件放到d: estdump目录下面)
(3)impdp导入数据
impdp bbcj/bbcj@orcl directory=dpdata1 dumpfile=ERMS_20190923.dmp FULL=y;
导入时,d: estdump目录下会有相应的日志。