본문 바로가기
Database/Oracle

[ORACLE] DBA_EXP_FILES 완벽 해설 : Data Pump 및 Export 파일 관리의 핵심 뷰

by Papa Martino V 2025. 10. 14.
728x90

DBA_EXP_FILES
[ORACLE] DBA_EXP_FILES

 

Oracle 데이터베이스에서 DBA_EXP_FILES는 데이터베이스의 Export 작업과 관련된 파일 정보를 관리하는 핵심적인 데이터 사전 뷰(View)입니다. 이 뷰는 Data Pump Export(Expdp) 또는 전통적인 EXP 유틸리티를 사용한 데이터 내보내기 작업 시 생성된 파일들의 경로, 이름, 크기, 상태 등을 확인하는 데 사용됩니다. DBA_EXP_FILES는 주로 Data Pump Directory Object를 기반으로 하여, Oracle이 파일 I/O 작업을 수행하는 위치와 메타데이터를 추적하기 위한 목적으로 활용됩니다.

즉, DBA_EXP_FILES는 DBA가 데이터베이스 내의 내보내기(Export) 파일을 한눈에 파악하고 관리할 수 있도록 해주는 도구로, 대규모 백업, 마이그레이션, 또는 데이터 전송 업무에서 매우 중요한 역할을 수행합니다.


1. DBA_EXP_FILES 개요

DBA_EXP_FILES 뷰는 Oracle 데이터베이스가 Export(Data Pump) 작업을 수행할 때 내부적으로 생성한 파일 정보를 보여주는 데이터 사전 뷰입니다. 이 뷰는 각 파일의 소유자(Owner), 디렉터리 이름(Directory), 파일 이름(File Name), 파일 크기(Bytes), 상태(Status) 등을 저장합니다. 일반적으로 Data Pump 작업은 Oracle 서버의 파일 시스템 상의 특정 디렉터리에 데이터를 내보내며, 이때 Oracle은 해당 파일의 메타데이터를 DBA_EXP_FILES에 기록합니다. 이를 통해 DBA는 어떤 디렉터리에 어떤 Export 파일이 존재하는지를 즉시 조회할 수 있습니다.


2. 주요 특징

  • Data Pump Export 작업에 의해 생성된 모든 파일의 메타데이터 확인
  • DBA 권한으로 시스템 전체 Export 파일 관리 가능
  • 파일 크기 및 생성 시점 기반 용량 모니터링
  • Data Pump 디렉터리 객체와 직접 연계
  • 보안 정책 수립 및 불필요한 Export 파일 정리 시 활용

3. 주요 컬럼 설명

아래 표는 DBA_EXP_FILES 뷰의 주요 컬럼 구조와 의미를 정리한 것입니다.

컬럼명 데이터 타입 설명
OWNER VARCHAR2 Export 파일을 생성한 사용자 계정명
FILE_NAME VARCHAR2 Export 파일의 이름 (.dmp, .log, .xml 등)
DIRECTORY_NAME VARCHAR2 파일이 위치한 Oracle Directory Object 이름
FILE_SIZE NUMBER 파일의 크기 (바이트 단위)
CREATION_TIME DATE 파일이 생성된 날짜 및 시각
LAST_UPDATE_TIME DATE 마지막으로 파일이 수정된 시각
FILE_TYPE VARCHAR2 파일의 유형 (DUMPFILE, LOGFILE, SQLFILE 등)

4. DBA_EXP_FILES 조회 예제

다음 SQL 예제는 현재 데이터베이스에서 관리되고 있는 Export 파일 정보를 조회하는 기본 쿼리입니다.


SELECT 
    OWNER,
    DIRECTORY_NAME,
    FILE_NAME,
    FILE_TYPE,
    FILE_SIZE,
    CREATION_TIME
FROM 
    DBA_EXP_FILES
ORDER BY 
    CREATION_TIME DESC;

이 쿼리를 통해 최근 생성된 Export 파일과 해당 파일의 경로, 크기, 생성자를 한눈에 확인할 수 있습니다. 특히 Data Pump 백업 스케줄링이 설정된 환경에서는, 이 뷰를 활용하여 정기적인 파일 모니터링자동 청소 정책(Cleanup Policy)을 적용할 수 있습니다.


5. DBA_EXP_FILES와 관련된 주요 뷰 비교

Oracle은 Export 및 Data Pump 관련 정보를 다양한 데이터 사전 뷰에서 제공합니다. 다음 표는 DBA_EXP_FILES와 함께 자주 사용되는 관련 뷰들을 비교한 것입니다.

뷰 이름 역할 DBA_EXP_FILES와의 관계
DBA_DIRECTORIES Oracle Directory Object 목록 및 경로 관리 DBA_EXP_FILES의 DIRECTORY_NAME 컬럼과 연결됨
DBA_DATAPUMP_JOBS 현재 실행 중이거나 완료된 Data Pump Job 정보 해당 Job에서 생성된 파일 정보를 DBA_EXP_FILES에서 조회 가능
DBA_DATAPUMP_SESSIONS Data Pump 관련 세션 관리 정보 DBA_EXP_FILES에 기록된 파일의 생성 프로세스를 추적 가능
DBA_EXP_FILES Export 파일 메타데이터 Data Pump 작업 결과를 기록

6. DBA_EXP_FILES의 활용 사례

① Data Pump Export 파일 관리

DBA_EXP_FILES는 Data Pump 작업 시 생성된 Dump 파일(.dmp) 및 로그 파일(.log)의 위치와 크기를 효율적으로 관리할 수 있게 합니다. 예를 들어, DBA는 특정 사용자 또는 디렉터리에 생성된 파일만 필터링하여 확인할 수 있습니다.


SELECT 
    FILE_NAME, FILE_SIZE, CREATION_TIME
FROM 
    DBA_EXP_FILES
WHERE 
    DIRECTORY_NAME = 'EXPORT_DIR' 
    AND OWNER = 'HR';

이 쿼리는 HR 스키마에서 EXPORT_DIR 디렉터리에 생성된 파일 정보를 조회합니다.

② 백업 스토리지 모니터링

대규모 Export 환경에서는 파일 크기 추세를 모니터링하여 스토리지 용량을 예측하는 것이 중요합니다. DBA_EXP_FILES의 FILE_SIZE와 CREATION_TIME 컬럼을 이용해 용량 증감 패턴을 분석할 수 있습니다.


SELECT 
    TO_CHAR(CREATION_TIME, 'YYYY-MM-DD') AS EXPORT_DATE,
    SUM(FILE_SIZE)/1024/1024 AS TOTAL_MB
FROM 
    DBA_EXP_FILES
GROUP BY 
    TO_CHAR(CREATION_TIME, 'YYYY-MM-DD')
ORDER BY 
    EXPORT_DATE;

이 결과를 통해 일자별 Export 데이터 용량을 파악하고, 향후 저장 공간 부족 문제를 사전에 대비할 수 있습니다.

③ 불필요한 Export 파일 정리

DBA_EXP_FILES는 오래된 Export 파일을 찾아 자동 삭제 정책을 수립하는 데 유용합니다. 예를 들어, 30일 이상된 파일을 식별하여 제거 대상 리스트를 추출할 수 있습니다.


SELECT 
    FILE_NAME, DIRECTORY_NAME, CREATION_TIME
FROM 
    DBA_EXP_FILES
WHERE 
    CREATION_TIME < SYSDATE - 30;

이 데이터를 기반으로 서버 스크립트를 작성하면 오래된 파일을 정기적으로 삭제할 수 있습니다.


7. DBA_EXP_FILES와 DIRECTORY 객체의 관계

DBA_EXP_FILES의 DIRECTORY_NAME 컬럼은 Oracle의 DBA_DIRECTORIES 뷰와 직접 연관되어 있습니다. 즉, Oracle은 실제 파일 경로를 데이터베이스 객체(DIRECTORY)로 매핑하여 관리하며, 파일 접근 권한은 GRANT READ/WRITE ON DIRECTORY 명령을 통해 제어됩니다.

예시:


CREATE DIRECTORY EXPORT_DIR AS '/u01/app/oracle/exports';
GRANT READ, WRITE ON DIRECTORY EXPORT_DIR TO hr;

이후 HR 사용자가 expdp를 통해 데이터를 내보내면, 해당 파일이 EXPORT_DIR 디렉터리에 생성되고, DBA_EXP_FILES 뷰에 그 메타데이터가 기록됩니다.


8. DBA_EXP_FILES 모니터링 자동화

운영 환경에서는 Data Pump Export 파일을 자동으로 관리하기 위해 DBA_EXP_FILES 기반의 모니터링 스크립트를 배치 작업에 포함할 수 있습니다.

  • 매일 새로 생성된 Export 파일 수와 총 용량 계산
  • 30일 이상된 파일 목록 자동 메일 발송
  • 지정된 용량 초과 시 관리자 경고 알림 트리거 실행

예시 쿼리:


SELECT 
    COUNT(*) AS TODAY_FILES,
    SUM(FILE_SIZE)/1024/1024 AS TODAY_MB
FROM 
    DBA_EXP_FILES
WHERE 
    TRUNC(CREATION_TIME) = TRUNC(SYSDATE);

이 쿼리를 활용하면, 오늘 생성된 Export 파일의 개수와 용량을 자동으로 리포트할 수 있습니다.


9. DBA_EXP_FILES 활용 요약 비교표

항목 DBA_EXP_FILES DBA_DIRECTORIES
주요 역할 Export 파일 메타데이터 관리 파일 시스템 경로와의 매핑 관리
중요 컬럼 FILE_NAME, FILE_SIZE, CREATION_TIME DIRECTORY_NAME, DIRECTORY_PATH
활용 목적 Data Pump Export 파일 조회 및 모니터링 파일 저장 경로 정의 및 권한 관리
주요 사용자 DBA, 시스템 관리자 DBA, 보안 관리자

10. 결론

DBA_EXP_FILES는 Oracle Database에서 Export 관련 파일의 관리, 모니터링, 보안 정책 수립을 담당하는 핵심 뷰입니다. 특히 Data Pump Export(Expdp) 환경에서는 파일 생성부터 보관, 정리까지 전 과정을 추적할 수 있어, 데이터 이관 및 백업 관리 효율을 크게 향상시킬 수 있습니다. DBA_EXP_FILES를 정기적으로 점검하고 관련 뷰(DBA_DIRECTORIES, DBA_DATAPUMP_JOBS 등)와 연계하면 Oracle 환경에서 안정적이고 체계적인 Export 관리 체계를 구축할 수 있습니다.


출처

  • Oracle Database Reference 19c – DBA_EXP_FILES View
  • Oracle Data Pump Utilities Guide
  • Oracle Administrator’s Guide – Managing Directories and Data Pump
728x90