Almost-Native

오라클 imp 작업시 에러 (IMP-00010, IMP-00000) not a valid export file, header failed verification 본문

Java 프로그램 개발, IT

오라클 imp 작업시 에러 (IMP-00010, IMP-00000) not a valid export file, header failed verification

2022. 11. 6. 14:33

Oracle 백업/마이그레이션 툴인 imp (import) 를 사용할때, 아래와 같은 에러를 만나는 경우가 있습니다.

아래의 경우는 Oracle 21c DB 에서 exp 받은 dmp 파일을 19c DB 에서 imp 하려고 하다가 문제가 발생하였습니다.

 

imp
Import: Release 19.0.0.0.0 - Production on Sat Nov 5 20:41:07 2022
Version 19.12.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
Username: aim/aim
Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.12.0.0.0
Import data only (yes/no): no >
Import file: expdat.dmp > ssb.dmp
Enter insert buffer size (minimum is 8192) 30720>
IMP-00010: not a valid export file, header failed verification
IMP-00000: Import terminated unsuccessfully

 

Import/Export 툴을 사용할때 상위버전으로 올라가는 경우는 에러가 발생하지 않습니다.

즉, 19c DBMS 에서 exp 받은 dmp 파일을 21c DBMS 에서 imp 하는 경우는 잘 동작합니다.

 

하지만, 반대로 하위버전으로 내려가는 경우는 에러가 발생합니다.

즉, 21c DBMS 에서 exp 받은 dmp 파일을 19c DBMS 에 가져가서 imp 하는 경우 문제가 발생합니다.

 

이런 경우에는 Oracle DBMS Client 를 19c 를 이용하면 됩니다.

즉, Oracle 19c DB 에서 tnsnames.ora 에 21c DB 로 연결하는 설정을 추가하고, 이를 이용해서 원격연결하여 exp 받으면 됩니다. 만약 이렇게 연결할 수 있는 환경이 안된다면, 21c DB 서버에 Oracle 19c Client S/W 를 설치해야 합니다.

 

 

위와같이 tnsnames.ora 에 Oracle 21c DB 에 연결하는 tns 를 설정해주고, (PDB1)

이를 아래와같이 exp 툴에서 사용했습니다.

 

 

exp/imp 뿐만 아니라 Data Pump (expdp/impdp) 의 경우도 마찬가지 입니다.

단, Data Pump 의 경우는 version 이라는 파라메타가 있어서 이걸 설정하면 하위버전의 클라이언트 없이도 expdp 가 가능합니다.

 

Comments