/* 인덱스의 blevel이 4 이상 나타는 대상 analyze 명령문 추출 */
SELECT I.OWNER,I.TABLE_NAME,I.INDEX_NAME,T.NUM_ROWS,I.BLEVEL,S.BYTES/1024/1024 "MB",'ANALYZE INDEX '||I.OWNER||'.'||I.INDEX_NAME||' VALIDATE STRUCTURE;' ANLY_INDEX
FROM DBA_INDEXES I,
DBA_TABLES T,
DBA_SEGMENTS S
WHERE I.OWNER = T.OWNER
AND T.OWNER = S.OWNER
AND I.TABLE_NAME = T.TABLE_NAME
AND T.TABLE_NAME = S.SEGMENT_NAME
AND S.SEGMENT_TYPE = 'TABLE'
AND I.OWNER NOT IN ('SYS','SYSTEM','OUTLN','WMSYS','DBSNMP','EXFSYS','SYSMAN','XDB','ORANGE')
ORDER BY I.BLEVEL DESC
/*위 결과로 추출된 명령어로 특정 index 분석 */
ANALYZE INDEX MESAPUSER.IX_M17_INST_SEQ_BAK_N3 VALIDATE STRUCTURE;
/* 분석결과 : PCT_DELETED 가 20이 넘어가면 Rebild 고려, DISTINCTIVENESS 가 높으면 분포도가 높다는 의미이며
이러한 경우 Rebuild 대상이 아닌 bitmap index 생성을 고려해야함 */
SELECT NAME,
DEL_LF_ROWS*100/DECODE(LF_ROWS, 0, 1, LF_ROWS) PCT_DELETED,
(LF_ROWS-DISTINCT_KEYS)*100/ DECODE(LF_ROWS,0,1,LF_ROWS) DISTINCTIVENESS
FROM INDEX_STATS
'Oracle > admin' 카테고리의 다른 글
락 세션 조회 및 KILL 방법 (0) | 2016.09.06 |
---|---|
주요 성능분석지표 SQL (0) | 2016.09.05 |
Purge Scheduler Job Log (0) | 2016.08.30 |
ORACLE RAC ON/RAC OFF (0) | 2016.08.30 |
Oracle10g crs 관련 커맨드 (0) | 2016.08.03 |