Oracle Export(exp)와 Datapump(expdp) 파일 구분

Oracle Database에서 백업/복구의 대표적인 툴은 Data Pump와 Oracle exp/imp입니다. 두 툴은 완전히 다른 성격의 백업/복구 툴입니다. 그러나 데이터를 백업하는 결과 파일의 확장자는 dmp로 동일합니다.

이러한 이유로 Oracle Database의 데이터를 dmp 파일로 전달받을 때, 부가적인 정보가 없으면, 이 파일이 Data Pump로 만든 파일인지 exp 툴로 만든 파일인지 구분하기 어렵습니다.

현재 사용하는 운영체제가 리눅스 혹은 맥이라면 strings를 이용하여 파일을 구분할 수 있습니다.

strings <FILE_NAME> | head

Data Pump로 만든 대상 파일에 위 명령을 실행하면 다음과 같이 출력됩니다.

> strings data-01.dmp|head
  "SYSTEM"."SYS_EXPORT_SCHEMA_02"
  x86_64/Linux 2.4.xx
  orcl
  AL32UTF8
  19.00.00.00.00
  001:001:000001:000001
  HDR>T<?
  S%(##Dh
  3^t[r
  isfoNsl
>

exp로 만든 대상 파일에 위 명령을 실행하면 다음과 같이 출력됩니다.

> strings data-02.dmp|head
  EXPORT:V18.00.00
  DDEMO_DATA
  RTABLES
  8192
                                   Wed Oct 14 19:7:40 2020expdat.dmp
  #G#G
  #G#G
  +00:00
  BYTE
  UNUSED
>

strings로 첫 줄 출력으로 Data Pump 파일과 exp 파일을 구분할 수 있습니다.

참고 문서

김태완 avatar
작성자: 김태완
1999년 부터 Java, Framework, Middleware, SOA, DB Replication, Cache, CEP, NoSQL, Big Data, Cloud를 키워드로 살아왔습니다. 현재는 빅데이터와 Machine Learning을 중점에 두고 있습니다.
E-mail: taewanme@gmail.com

이 저작물은 Oracle과 관계없이 개인으로서 개인의 시간을 할애하여 작성된 글 입니다. 본 글의 내용, 입장, 예측은 Oracle을 공식적으로 절대 대변하지 않습니다.