인덱스 모니터링 방법
- 한 번에 10개 정도의 인덱스 모니터링을 권고
- ex: 출근 해서 체크, 퇴근 시 체크 후 사용 한 인덱스가 있으면 모니터링 종료, 다른 인덱스 모니터링 시작(10개 정도의 인덱스를 유지)
- alter index <index_name> monitoring usage ;
- alter index <index_name> nomonitoring usage ;
참조 뷰
- select * from v$object_usage ;
- 사용 예
(참고) 특정 Index의 사용 여부를 판단하는 방법
다음 명령을 통해 index의 사용여부를 monitoring 하거나 monitoring을 해제할 수 있다. monitoring 설정은 index owner 또는 admin 권한을 갖는 user에서 수행 가능하다. monitoring을 중단 할 때는 nomonitoring usage 구문을 사용하며, index owner 또는 admin 권한을 갖는 user에서 수행한다.
alter index <index_name> monitoring usage;
alter index <index_name> nomonitoring usage;
v$object_usage를 조회하여 Monitoring 상태 및 사용여부를 알 수 있다. v$object_usage는 해당 Index의 owner에 접속하여 조회해야만 Monitoring 상태 및 사용여부를 조회할 수 있다.
select * from v$object_usage;
사용 Sample
SQL> alter index WHHH01_LCLIEXRT monitoring usage;
Index altered.
SQL> select * from v$object_usage;
INDEX_NAME TABLE_NAME MON USE START_MONITORING END_MONITORING
—————————— —————————— — — ——————- ——————-
WHHH01_LCLIEXRT LCLIEXRT YES YES 02/20/2006 14:42:57
사용여부를 알리는 USE 컬럼의 값이 YES이므로 사용되는 Index이다.
SQL> alter index ocsdba.WHHH01_LCLIEXRT nomonitoring usage;
Index altered.
SQL>select * from v$object_usage;
INDEX_NAME TABLE_NAME MON USE START_MONITORING END_MONITORING
—————————— —————————— — — ——————- ——————-
WHHH01_LCLIEXRT LCLIEXRT NO YES 02/20/2006 14:42:57 02/20/2006 14:45:28
ex)
# 사용여부 조회
select * from v$object_usage ;
# 인덱스 모니터링
alter index BONUS_IDX01 monitoring usage ;
# 인덱스 사용
select /*+INDEX(BONUS BONUS_IDX1)*/ * from BONUS where ename=’AAA’ ;
# 인덱스 모니터링 해제
alter index BONUS_IDX01 nomonitoring usage ;