본문 바로가기
Database

[ Oracle] 오라클 ALL_INDEXTYPES 뷰 완전 정복

by 코드개미 2025. 6. 23.

오라클 ALL_INDEXTYPES 뷰 완전 정복
[Oracle] ALL_INDEXTYPES

 

Oracle 데이터베이스는 단순한 B-tree 인덱스 외에도 다양한 목적에 맞춘 인덱스 타입(Index Type)을 제공합니다. 특히 사용자 정의 도메인 인덱스나 Oracle Text, Spatial 인덱스를 사용할 때 그 기반이 되는 메타정보가 ALL_INDEXTYPES 뷰를 통해 제공됩니다. 본 문서에서는 Oracle의 ALL_INDEXTYPES 뷰를 구조적으로 분석하고, 실제 시스템 설계 및 튜닝 과정에서 어떤 방식으로 활용할 수 있는지 설명합니다.

1. ALL_INDEXTYPES란?

ALL_INDEXTYPES는 사용자가 접근할 수 있는 모든 인덱스 타입 객체의 정보를 조회할 수 있는 Oracle의 데이터 딕셔너리 뷰입니다. 주로 도메인 인덱스(Domain Index) 구현에 사용되며, Oracle Text, Spatial, XML 등 다양한 분야에서 활용됩니다.

주요 역할

  • 사용 가능한 인덱스 타입 식별
  • 도메인 인덱스 생성 시 인덱스 타입 참조
  • 기존 인덱스 타입에 대한 권한 및 소유자 정보 확인

2. 주요 컬럼 설명

컬럼명 설명
OWNER 인덱스 타입을 소유한 사용자 스키마
INDEXTYPE_NAME 인덱스 타입의 이름 (예: CTXSYS.CONTEXT, MDSYS.SPATIAL_INDEX 등)
INDEXTYPE_OID 객체 식별자(Object Identifier)
IMPLEMENTATION_TYPE 인덱스 타입의 구현 유형 ('EXTERNAL' 또는 'INTERNAL')
GENERATED 자동 생성 여부 ('Y' 또는 'N')

3. 실무 활용 예시

사용자가 접근 가능한 인덱스 타입 목록을 조회하는 기본 쿼리는 다음과 같습니다.

SELECT 
  owner, 
  indextype_name, 
  implementation_type 
FROM 
  ALL_INDEXTYPES;

위 결과는 Oracle Text, Spatial, XMLType 인덱스 등 사용자에게 권한이 부여된 다양한 인덱스 타입의 목록을 보여주며, 인덱스 설계 또는 데이터 모델링 문서화 시 매우 유용합니다.

4. Oracle에서 사용 가능한 대표 인덱스 타입

INDEXTYPE_NAME 설명 사용 예시
CONTEXT Oracle Text에서 제공하는 텍스트 인덱스 타입 문서 검색, 자연어 질의 분석
SPATIAL_INDEX Oracle Spatial에서 공간 데이터에 대한 인덱스 GIS 시스템, 지도 기반 애플리케이션
ORDDATA_INDEXTYPE Oracle Multimedia에서 사용하는 이미지/비디오 인덱스 디지털 자산 검색
XMLINDEX XMLType 컬럼에 대한 경로 기반 인덱스 XML 문서 내 특정 노드 검색

5. 실무 활용 팁

  • Oracle Text 구현 시 ALL_INDEXTYPES에서 CONTEXT 인덱스 확인
  • 인덱스 재사용 여부 검토: 사용자 정의 도메인 인덱스 설계 전 참고
  • 보안 감사 및 관리: 외부에서 생성된 인덱스 타입에 대한 접근권한 점검
  • 자동 생성 여부(GENERATED)를 활용해 직접 생성된 인덱스만 선별

6. 보안 및 권한 관리

ALL_INDEXTYPES는 사용자가 SELECT 권한이 있는 인덱스 타입만 조회할 수 있습니다. DBA 권한을 가진 사용자는 DBA_INDEXTYPES를 통해 전체 인덱스 타입을 조회할 수 있으며, USER_INDEXTYPES는 사용자 본인이 소유한 인덱스 타입만을 확인합니다.

7. 성능 및 구조적 고려사항

도메인 인덱스는 내부적으로 트리거 또는 사용자 정의 패키지를 통해 동작하므로 성능 영향이 일반 인덱스와 다를 수 있습니다. 따라서 ALL_INDEXTYPES를 통해 인덱스 타입을 정확히 파악하고, 시스템 설계 시 적절한 사용을 결정하는 것이 중요합니다.

8. 결론

ALL_INDEXTYPES 뷰는 단순한 B-tree 인덱스를 넘어 Oracle이 제공하는 다양한 고급 인덱스 타입의 기반 정보를 제공합니다. 실무에서 텍스트, 공간, XML 데이터를 다룰 경우 이 뷰를 통해 사용 가능한 인덱스 타입을 미리 파악하고 적절한 설계 전략을 수립해야 합니다.

출처

  • Oracle Database 19c Application Developer's Guide - Indexes
  • Oracle Text Reference - Oracle 공식 문서
  • Oracle Spatial and Graph Developer's Guide
  • 2020~2025 실무 프로젝트 경험 기반 도메인 인덱스 설계 사례