DBMS STATS.GATHER DICTIONARY STATS

EXEM Knowledge Base

Jump to: navigation, 찾기

목차

[편집] 개요

Oracle 10g부터는 RBO가 공식적으로 지원되지 않는다. 이로 인해 Dictionary ViewFixed Table에 해당하는 Query가 더 이상 RBO가 아닌 CBO로 실행 계획이 작성된다. 따라서 이제 Dictionary ViewFixed Table에 대한 참조 또한 부정확한 통계로 인한 실행 계획 이상 현상을 겪을 수 있다. 따라서, 이들 Object들에 대해서도 최신의 통계 정보를 유지할 필요가 있다.

  1. DBMS_STATS.GATHER_DICTIONARY_STATS: Dictionary 객체에 대한 통계 정보를 수집한다. Oracle은 주기적으로 Dictionary 객체에 대한 통계 정보를 수집할 것을 권장한다.
  2. DBMS_STATS.GATHER_FIXED_OBJECTS_STATS: Fixed Table에 대한 통계 정보를 수집한다. Oracle의 공식적인 가이드는 1) Oracle 최초(재) 설치나 업그레이드 후, 2) 적당한 일량이 발생하는 환경에서, 3) 단 한 번만 Fixed Table에 대한 통계 정보를 수집할 것을 권장한다.

[편집] 상세 정보

Oracle 10g에서 Dictionary View에 대한 Query 성능이 이전 버전에 비해 크게 저하되는 현상이 발생할 수 있다. 기존에 RBO로 작동하던 Query가 CBO로 동작하면서 잘못된 실행 계획이 생성되기 때문이다. 이 경우에는 DBMS_STATS.GATHER_DICTIONARY_STATS를 호출해서 Dictionary Object의 통계 정보를 갱신시켜주어야 한다.

[편집] 관련 정보

  1. DBMS_STATS.GATHER_FIXED_OBJECTS_STATS 프로시저
  2. DBMS_STATS.GATHER_SYSTEM_STATS 프로시저

[편집] 외부 참조