Program.../Oracle

ORACLE PARTION 관리 및 검색

Duritz 2009. 3. 12. 16:47

## TABLE의 PARTITION 정보 검색 ## 
SELECT *
FROM ALL_TAB_PARTITIONS
WHERE TABLE_NAME = '테이블명'

## PARTITION 정보 ANALYZE 하기위한 Syntex 추출
SELECT 'ANALYZE TABLE '||TABLE_NAME||' PARTITION ('||PARTITION_NAME||') ESTIMATE STATISTICS;'

FROM ALL_TAB_PARTITIONS
WHERE TABLE_OWNER = '테이블 소유계정명'
    AND TABLE_NAME = '테이블명'
-> 추출된 SQL문을 실행하여 PARTITION 정보를 ANALYZE 한다.

## INDEX 정보 ANALYZE 하기위한 Syntex 추출
SELECT 'ANALYZE INDEX '||B.INDEX_NAME||' PARTITION ('

        ||A.PARTITION_NAME||') ESTIMATE STATISTICS;'
FROM ALL_TAB_PARTITIONS A,ALL_INDEXES B
WHERE A.TABLE_OWNER = '테이블 소유계정명'
  AND B.OWNER = '인덱스 소유계정명'
  AND A.TABLE_NAME  = '테이블명'
  AND B.TABLE_NAME = A.TABLE_NAME

-> 추출된 SQL 문을 실행하여 INDEX 정보를 ANALYZE 한다.


## INDEX관련 테이블

- ALL_INDEXES, ALL_IND_COLUMNS (COLUMN_POSITION-인텍스 순서)