본문 바로가기
Database

[Oracle] 오라클 ALL_INDEXTYPE_OPERATORS 뷰 실무 완전 해석

by 코드개미 2025. 6. 23.

오라클 ALL_INDEXTYPE_OPERATORS 뷰 실무 완전 해석
[Oracle] ALL_INDEXTYPE_OPERATORS

 

Oracle 데이터베이스에서 도메인 인덱스(Domain Index)는 사용자 정의 로직으로 검색 동작을 확장할 수 있게 해주는 매우 강력한 기능입니다. 이러한 인덱스를 사용하려면 연산자(Operator)와 이를 구현하는 인덱스 타입(Index Type) 간의 연결이 필요하며, 이 관계를 정의하고 조회할 수 있는 시스템 뷰가 바로 ALL_INDEXTYPE_OPERATORS입니다.

1. ALL_INDEXTYPE_OPERATORS란?

ALL_INDEXTYPE_OPERATORS는 현재 사용자가 접근할 수 있는 모든 인덱스 타입과 연관된 연산자 목록을 보여주는 Oracle의 데이터 딕셔너리 뷰입니다. 주로 도메인 인덱스 설계나 Oracle Text, Spatial, XML 검색을 위한 사용자 정의 연산자(operator) 지원 여부 확인에 활용됩니다.

주요 기능

  • 인덱스 타입이 어떤 연산자를 지원하는지 확인
  • 도메인 인덱스 생성 전 연산자 등록 여부 점검
  • 인덱스 연산자의 재사용 여부 검토

2. 주요 컬럼 설명

컬럼명 설명
INDEXTYPE_NAME 인덱스 타입의 이름 (예: CONTEXT, SPATIAL_INDEX 등)
INDEXTYPE_OWNER 해당 인덱스 타입을 소유한 사용자
OPERATOR_NAME 연산자의 이름 (예: CONTAINS, SDO_WITHIN_DISTANCE 등)
OPERATOR_OWNER 연산자를 정의한 사용자

3. 실무 활용 예시

Oracle Text에서 사용하는 CONTEXT 인덱스 타입이 어떤 연산자를 지원하는지 확인하고 싶다면 다음과 같은 SQL을 사용할 수 있습니다.

SELECT 
  indextype_name, 
  operator_name 
FROM 
  ALL_INDEXTYPE_OPERATORS 
WHERE 
  indextype_name = 'CONTEXT';

이 쿼리는 Oracle Text가 지원하는 CONTAINS, SCORE 같은 연산자 목록을 반환합니다. 이를 통해 검색 조건 설계나 쿼리 최적화 시 올바른 연산자 선택이 가능합니다.

4. 관련 뷰 비교

뷰 이름 설명 특징
ALL_INDEXTYPES 접근 가능한 인덱스 타입 목록 도메인 인덱스 타입 정보 조회
ALL_OPERATORS 연산자 자체 정의 목록 연산자의 인풋/아웃풋 타입 정보 포함
ALL_INDEXTYPE_OPERATORS 인덱스 타입과 연산자의 연결 정보 실제 검색 가능 연산자 여부 확인에 사용

5. 대표적인 연산자 및 인덱스 타입 예시

INDEXTYPE_NAME OPERATOR_NAME 사용 분야
CONTEXT CONTAINS Oracle Text (전체 텍스트 검색)
SPATIAL_INDEX SDO_WITHIN_DISTANCE 공간 좌표 기반 거리 검색
SPATIAL_INDEX SDO_FILTER 공간 데이터 필터링
XMLINDEX EXISTSNODE XML 데이터 노드 탐색

6. 실무 팁

  • 사용자 정의 인덱스 타입 개발 시: 연산자 등록 여부를 먼저 ALL_INDEXTYPE_OPERATORS에서 확인
  • Oracle Text 또는 Spatial 사용 시: 연산자-인덱스 연계가 잘못되면 오류 발생
  • DB 성능 튜닝: 연산자 지원 여부에 따라 인덱스 스캔 방식이 달라짐
  • 보안 정책 설계: 특정 연산자의 사용을 제한하려면 인덱스 타입별로 관리

7. 보안 및 권한 관리

이 뷰는 사용자가 SELECT 권한을 가진 인덱스 타입 또는 연산자에 대해서만 정보를 제공합니다. 전체 인덱스-연산자 연결 관계를 확인하려면 DBA 권한이 필요하며, 해당 경우 DBA_INDEXTYPE_OPERATORS 뷰를 사용하면 됩니다.

8. 결론

ALL_INDEXTYPE_OPERATORS 뷰는 Oracle 데이터베이스에서 도메인 인덱스와 연산자 간의 연결 정보를 확인할 수 있는 핵심적인 메타데이터 뷰입니다. 복잡한 텍스트, 공간, XML 처리 로직을 구현하는 개발자 또는 DBA라면 이 뷰를 적극적으로 활용해 검색 성능과 정확도를 높일 수 있습니다.

출처

  • Oracle Database 19c Application Developer's Guide - Indexes
  • Oracle Text Reference - 공식 문서
  • Oracle Spatial and Graph Developer's Guide
  • 2020~2025년 복합검색 시스템 구축 실무 경험