STATISTICS_LEVEL 초기화 파라미터는 ORACLE 9i R2 에서 주요 통계정보 수집과 advisor를 컨트롤하기 위해 처음으로 소개 되었다. STATISTICS_LEVEL 초기화 파라미터를 사용하여 캡처할 통계 집합을 제어할 수 있다.
STATISTIC_LEVEL 캡처 레벨
- BASIC : MMON이 DB 통계정보를 캡처하지 않기 때문에 AWR 통계 및 metric이 계산되지 않고, ASMM 을 사용할 수 없으며 ADVISOR 기능이 비활성화 된다.
- TYPICAL : 일부 통계만 수집. 일반적으로 오라클 데이터베이스 동작을 모니터하는 데 필요한 사항. 이 자동 통계 수집에서는 오래되거나 잘못된 통계로 인해 SQL 문의 성능이 저하될 가능성이 줄어든다.
- ALL : 가능한 모든 통계 캡처. 별도의 SQL 진단 정보가 필요한 특별한 경우 외에는 사용하지 않는 것을 권장.
STATISTICS_LEVEL 변경
아래의 명령어로 3가지 레벨로 변경이 가능하다.
SQL> ALTER SESSION SET STATISTICS_LEVEL = BASIC;
SQL> ALTER SESSION SET STATISTICS_LEVEL = TYPICAL;
SQL> ALTER SESSION SET STATISTICS_LEVEL = ALL;
STATISTICS_LEVEL 확인
SQL> SELECT statistics_name,
2 session_status,
3 system_status,
4 activation_level,
5 session_settable
6 FROM v$statistics_level
7 ORDER BY statistics_name;
Session System Activation Session
Statistics Name Status Status Level Settable
------------------------------ ---------- ---------- ---------- ----------
Buffer Cache Advice DISABLED DISABLED TYPICAL NO
MTTR Advice DISABLED DISABLED TYPICAL NO
PGA Advice DISABLED DISABLED TYPICAL NO
Plan Execution Statistics DISABLED DISABLED ALL YES
Segment Level Statistics DISABLED DISABLED TYPICAL NO
Shared Pool Advice DISABLED DISABLED TYPICAL NO
Timed OS Statistics DISABLED DISABLED ALL YES
Timed Statistics DISABLED DISABLED TYPICAL YES
.. 중간생략
16 rows selected.
SQL> ALTER SYSTEM SET statistics_level=typical;
System altered.
SQL> SELECT statistics_name,
2 session_status,
3 system_status,
4 activation_level,
5 session_settable
6 FROM v$statistics_level
7 ORDER BY statistics_name;
Session System Activation Session
Statistics Name Status Status Level Settable
------------------------------ ---------- ---------- ---------- ----------
Buffer Cache Advice ENABLED ENABLED TYPICAL NO
MTTR Advice ENABLED ENABLED TYPICAL NO
PGA Advice ENABLED ENABLED TYPICAL NO
Plan Execution Statistics DISABLED DISABLED ALL YES
Segment Level Statistics ENABLED ENABLED TYPICAL NO
Shared Pool Advice ENABLED ENABLED TYPICAL NO
Timed OS Statistics DISABLED DISABLED ALL YES
Timed Statistics ENABLED ENABLED TYPICAL YES
.. 중간생략
16 rows selected.
SQL> ALTER SYSTEM SET statistics_level=all;
System altered.
SQL> SELECT statistics_name,
2 session_status,
3 system_status,
4 activation_level,
5 session_settable
6 FROM v$statistics_level
7 ORDER BY statistics_name;
Session System Activation Session
Statistics Name Status Status Level Settable
------------------------------ ---------- ---------- ---------- ----------
Buffer Cache Advice ENABLED ENABLED TYPICAL NO
MTTR Advice ENABLED ENABLED TYPICAL NO
PGA Advice ENABLED ENABLED TYPICAL NO
Plan Execution Statistics ENABLED ENABLED ALL YES
Segment Level Statistics ENABLED ENABLED TYPICAL NO
Shared Pool Advice ENABLED ENABLED TYPICAL NO
Timed OS Statistics ENABLED ENABLED ALL YES
Timed Statistics ENABLED ENABLED TYPICAL YES
.....
위에서 현재 세션에서 사용가능한 상태를 나타내는 SESSION STATUS 가 각 LEVEL 에 따라서 차이가 나는지 나타난다.
위와 같이 ALL 로 설정했을 시에 불과 PLAN EXECUTION STATISTICS 와 Timed OS statistics 기능만이 Typical 보다 추가적으로 수집된다. ALL 로 설정시에 이 두 항목을 수집하기 위한 추가적인 오버헤드(마치 SYSTEM 레벨로 SQL TRACE 를 거는 정도와 같이)가 발생한다.
또한 PLAN EXECUTION STATISTICS 의 경우에는 10g의 신규 오라클 힌트인 /*+ gather_plan_statistics */ 를 SQL문 단위로 설정해서 이용하는 방법도 있다.
이 힌트의 설명은
을 참조.
결론은 굳이 ALL 로 설정하지 않고서도 TYPICAL 만으로도 대부분의 기능이 사용가능하다는 것이다.
참조 :
http://cafe.naver.com/prodba.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=9293
'오라클 > Admin1' 카테고리의 다른 글
언두 데이터 관리 (2) | 2010.07.22 |
---|---|
[Oracle Virus] 왜 Index가 불필요하게 커지는가? (0) | 2010.07.22 |
Static Data Dictionary View & Dynamic Performance View (0) | 2010.07.22 |
SELECT 및 DML 처리 과정 (0) | 2010.07.21 |
Constraints의 활성화 및 비활성화 (0) | 2010.07.21 |