본문 바로가기
Database/Oracle

[ORACLE] ALL_PARTIAL_DROP_TABS 뷰 완전 분석 : 파티션 테이블 삭제 추적 가이드

by Papa Martino V 2025. 6. 26.
728x90

Oracle 데이터베이스에서 파티션 테이블을 관리하다 보면 일부 파티션을 삭제(drop)하거나 테이블의 일부만 삭제한 후 시스템적으로 처리가 완료되지 않는 상황이 발생할 수 있습니다. 이처럼 파티션 또는 서브 오브젝트의 부분 삭제 상태(partial drop)를 추적하고 분석하는 데 유용한 뷰가 바로 ALL_PARTIAL_DROP_TABS입니다. 본 글에서는 ALL_PARTIAL_DROP_TABS 뷰가 제공하는 정보와 그 활용 사례, 관련 뷰와의 비교, 실무에서 꼭 알아야 할 포인트를 정리하여 제공합니다.

1. ALL_PARTIAL_DROP_TABS란?

ALL_PARTIAL_DROP_TABS는 오라클 데이터베이스에서 사용자가 접근 가능한 테이블 중 일부 오브젝트(예: 파티션 또는 서브파티션)가 삭제 도중에 있는 상태의 정보를 보여주는 데이터 딕셔너리 뷰입니다. 즉, 테이블 전체는 여전히 존재하지만 내부 일부 구조가 완전히 드롭되지 않았거나, 시스템에서 GC(garbage collection) 처리를 기다리는 상태를 나타냅니다.

1-1. 뷰 사용 목적

  • 파티션 삭제 후 정리가 되지 않은 테이블의 상태 추적
  • 트러블슈팅 시 “object does not exist” 오류의 원인 파악
  • Data Pump export/import 수행 중 삭제 처리 중단 여부 확인

2. 주요 컬럼 설명

컬럼명 설명
OWNER 테이블 소유자
TABLE_NAME 해당 테이블 이름
TAB_TYPE 테이블 유형 (예: TABLE, PARTITIONED TABLE)
DROPPED_TIMESTAMP 부분 삭제가 수행된 시점
DROPPED_OBJ_NAME 삭제 대상 오브젝트 이름 (파티션명 등)

3. 실무 활용 예시

파티션 삭제 이후 시스템에서 해당 파티션 오브젝트를 물리적으로 제거하지 못해, 트러블이 발생하는 경우 다음과 같이 이 뷰를 통해 확인이 가능합니다.

SELECT * 
FROM ALL_PARTIAL_DROP_TABS 
WHERE OWNER = 'SALES' AND TABLE_NAME = 'SALES_DATA';

이 쿼리는 SALES.SALES_DATA 테이블의 삭제 처리 중인 파티션 또는 내부 오브젝트 정보를 조회합니다.

4. 관련 뷰와의 비교

뷰 이름 설명 주요 활용
ALL_PARTIAL_DROP_TABS 부분 삭제 상태의 테이블 정보 제공 파티션 드롭 상태 추적 및 트러블슈팅
DBA_TAB_PARTITIONS 파티션 테이블의 모든 파티션 메타데이터 파티션 존재 유무 및 상태 확인
DBA_OBJECTS 전체 오브젝트 상태와 속성 삭제 여부, 생성 시점 등 메타 조회
DBA_RECYCLEBIN 논리적으로 삭제된 오브젝트 목록 오브젝트 복구 여부 확인

5. 실전 사례 분석

사례 1: 파티션 드롭 후 export 오류 발생

운영 환경에서 대용량 파티션 테이블 중 일부 파티션을 삭제한 후 expdp를 수행했으나 다음과 같은 오류가 발생했습니다:

ORA-31693: Table data object "SALES"."SALES_DATA" failed to load/unload and is being skipped due to error:
ORA-08103: object no longer exists

 

ALL_PARTIAL_DROP_TABS를 조회한 결과, 해당 파티션이 물리적으로 완전히 삭제되지 않은 상태였으며, 내부적으로 GC 처리가 지연되고 있었던 것으로 확인되었습니다. 이 후 DBA는 DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL 등의 유틸리티로 관련 정보를 강제로 정리하였습니다.

6. 관리 및 성능 팁

  • 정기적으로 ALL_PARTIAL_DROP_TABS를 모니터링하여 불완전 삭제 테이블 발생 여부 점검
  • 파티션 드롭 후 DBMS_METADATA 또는 DBA_TAB_PARTITIONS와 연계하여 완전성 검증
  • 오류 발생 시 리사이클빈(RECYCLEBIN)과도 연계해보는 것이 좋음

7. 결론

ALL_PARTIAL_DROP_TABS 뷰는 일반적인 운영 환경에서는 잘 드러나지 않지만, 대용량 파티션 테이블 관리, 자동화된 파티션 삭제, 비정상 종료 등 특수 상황에서 데이터 무결성 및 시스템 안정성 확보에 매우 유용한 도구입니다. SQL 튜닝이나 export/import 오류 원인 분석, 또는 테이블스페이스 정리 시 반드시 체크해야 할 시스템 뷰 중 하나로, DBA 또는 데이터 아키텍트에게 실질적인 가치를 제공하는 정보입니다.

8. 참고 자료

  • Oracle® Database Reference 19c – ALL_PARTIAL_DROP_TABS View
  • Oracle® Database Administrator's Guide
  • Oracle Support Doc ID 1550334.1 – Issues with Dropped Partitions Not Fully Removed
728x90