Index monitoring usage
A. Hr 스키마내 employees 테이블에 지정된 모든 인덱스에 대한 정보를 확인하는데 인덱스 이름, 컬럼이름, 순서를 조회하시오
SQL> conn hr/hr Connected. SQL> col column_name for a20 SQL> select index_name, column_name, column_position from user_ind_columns where table_name = 'EMPLOYEES' order by 1;
INDEX_NAME COLUMN_NAME COLUMN_POSITION ------------------------------ ------------------------------- ---------------------- EMP_DEPARTMENT_IX DEPARTMENT_ID 1 EMP_EMAIL_UK EMAIL 1 EMP_EMP_ID_PK EMPLOYEE_ID 1 EMP_EMP_ID_SAL_IX SALARY 2 EMP_EMP_ID_SAL_IX EMPLOYEE_ID 1 EMP_JOB_IX JOB_ID 1 EMP_MANAGER_IX MANAGER_ID 1 EMP_NAME_IX LAST_NAME 1 EMP_NAME_IX FIRST_NAME 2 9 rows selected. |
B. Hr.employees 테이블의 인덱스 중 last_name, first_name에 지정된 인덱스에 대해서 monitoring usage 기능을 활성화하시오
인덱스 찾기 : ALL_IND_COLUMNS SQL> select * from ALL_ind_columns where table_name = 'EMPLOYEES' ORDER BY INDEX_NAME;
SQL> alter index hr.EMP_NAME_IX monitoring usage;
Index altered.
SQL> select index_name, start_monitoring, end_monitoring, used from v$object_usage;
INDEX_NAME START_MONITORING END_MONITORING USE ------------------------------ ------------------------------- ---------------------------- ---------- EMP_NAME_IX 01/02/2013 14:48:47 NO |
C. 다음의 쿼리문을 수행하시오
Select * from employees where last_name = 'Whalen'; Select * from employees where first_name = 'Susan'; |
D. B에서 지정한 monitoring usage를 비활성화하시오
SQL> alter index EMP_NAME_IX nomonitoring usage;
Index altered. |
E. 인덱스 사용에 대한 정보를 조회하시오. 이 때 hr 세션에서 조회하시오. 만약 sys에서 조회하면 결과는? 이유는? 해결방법은?
'ORACLE' 카테고리의 다른 글
MATERIALIZED VIEW 생성 (0) | 2013.03.28 |
---|---|
trace and mview (0) | 2013.03.28 |
INDEX 분석 (0) | 2013.03.26 |
오라클 falshback (0) | 2013.03.16 |
오라클 awr 리포트 뽑기 (0) | 2013.03.13 |