본문 바로가기

IT/Oracle

오라클 파티션 인덱스 상태 조회 쿼리

300x250

파티션 인덱스 상태 조회

SELECT 
    INDEX_NAME, 
    PARTITION_NAME, 
    STATUS,        -- VALID or UNUSABLE
    TABLESPACE_NAME, 
    LAST_ANALYZED  -- 최근 분석 날짜
FROM 
    USER_IND_PARTITIONS
WHERE 
    INDEX_NAME = '인덱스명';
  • INDEX_NAME: 인덱스 이름
  • PARTITION_NAME: 파티션 이름
  • STATUS:
    • VALID: 파티션 인덱스가 정상적으로 사용 가능
    • UNUSABLE: 파티션 인덱스가 비활성화됨 (재구성 필요)

특정 테이블의 모든 파티션 인덱스 상태 조회

SELECT 
    p.INDEX_NAME, 
    p.PARTITION_NAME, 
    p.STATUS, 
    i.TABLE_NAME, 
    i.TABLESPACE_NAME
FROM 
    USER_INDEXES i
JOIN 
    USER_IND_PARTITIONS p
ON 
    i.INDEX_NAME = p.INDEX_NAME
WHERE 
    i.TABLE_NAME = '테이블명';

 
 이 쿼리는 특정 테이블의 모든 파티션 인덱스 상태를 한 번에 확인합니다.
 

UNUSABLE 상태인 파티션 인덱스 조회

SELECT 
    INDEX_NAME, 
    PARTITION_NAME, 
    STATUS 
FROM 
    USER_IND_PARTITIONS
WHERE 
    STATUS = 'UNUSABLE';

파티션 별 인덱스 크기 조회

SELECT 
    INDEX_NAME, 
    PARTITION_NAME, 
    BYTES/1024/1024 AS SIZE_MB, 
    TABLESPACE_NAME
FROM 
    USER_SEGMENTS
WHERE 
    SEGMENT_TYPE = 'INDEX PARTITION'
    AND INDEX_NAME = '인덱스명';

파티션 인덱스 사용 여부 조회

인덱스의 사용 여부는 V$OBJECT_USAGE 뷰를 통해 확인 가능합니다. 파티션별 사용 여부를 확인하려면 아래를 실행합니다.
먼저 모니터링 활성화를 합니다.

ALTER INDEX 인덱스명 MONITORING USAGE;

 이후 사용 여부 확인

SELECT 
    INDEX_NAME, 
    TABLE_NAME, 
    PARTITION_NAME, 
    MONITORING, 
    USED 
FROM 
    V$OBJECT_USAGE
WHERE 
    INDEX_NAME = '인덱스명';

파티션 인덱스 상세 정보(컬럼 및 구성)

SELECT 
    a.INDEX_NAME, 
    a.PARTITION_NAME, 
    b.COLUMN_NAME, 
    b.COLUMN_POSITION
FROM 
    USER_IND_PARTITIONS a
JOIN 
    USER_IND_COLUMNS b
ON 
    a.INDEX_NAME = b.INDEX_NAME
WHERE 
    a.INDEX_NAME = '인덱스명'
ORDER BY 
    a.PARTITION_NAME, b.COLUMN_POSITION;

관련 블로그

 

오라클 파티션 테이블 삭제 및 정리

1. 파티션 삭제 기본 문법ALTER TABLE 테이블명 DROP PARTITION 파티션명;테이블명: 파티션이 존재하는 테이블 이름파티션명: 삭제하려는 파티션 이름주의: DROP PARTITION은 해당 파티션에 포함된 데이터

make2t.tistory.com

 

오라클 특정 파티션 내 데이터 조회

오라클에서 특정 파티션(partition) 내 데이터를 조회하려면 PARTITION 키워드를 사용하여 원하는 파티션만 지정할 수 있습니다. 이는 대량 데이터 처리 시 성능을 최적화하는 데 유용합니다.기본 구

make2t.tistory.com

 

오라클 파티션 리빌드(Rebuild) 쿼리

Oracle에서 파티션 리빌드(Rebuild)는 인덱스 파티션 또는 하위 파티션을 재구성할 때 사용됩니다. 데이터의 재정렬, 공간 최적화, 파티션 데이터 변경 후 성능을 개선하기 위해 리빌드가 필요할 수

make2t.tistory.com

 

300x250

'IT > Oracle' 카테고리의 다른 글

오라클 힌트 조회  (2) 2025.02.23
PL/SQL Function 기본 구조  (0) 2025.02.23
오라클 통계정보 갱신  (2) 2025.02.23
오라클 특정 파티션 내 데이터 조회  (0) 2025.02.23
Oracle 19c의 기능  (1) 2025.02.23