본문 바로가기
OraclE

DBMS_STATS

by 타마마임팩트_쫀 2012. 6. 13.

[출처] http://blog.naver.com/vxxv122?Redirect=Log&logNo=130128138075

 

기능

1 . 현재 데이터베이스 내의 상태정보 Auto/Manual 수집

2 . 상태정보 참조 및 재 설정 가능

3 . 상태정보 백업, 복구 가능

이점

→ Cost 기반 Optimizer 환경에서의 Analyze 명령어는 테이블 단위로 상태정보를 수집한다.

    DBMS_STATS는 테이블, 유저, 데이터베이스, 선별적(시간, 수집된 테이블, 수집안된 테이블) 단위로 수집이 가능하다.

종류

1 . DBMS_Stats.Gather_Table_Stats

→ 테이블의 상태정보 수집

2 . DBMS_Stats.Gather_Index_Stats

→ 인덱스의 상태정보 수집

3 . DBMS_Stats.Gather_Schema_Stats

→ 사용자의 모든 객체에 대한 상태정보 수집

4 . DBMS_Stats.Gather_Database_Stats

→ 데이터베이스의 모든 객체에 대한 상태정보 수집

5 . DBMS_Stats.Gatherate_Stats

→ B-Tree, Bitmap 인덱스의 상태정보 수집

수집

→ Exec DBMS_Stats.Gather_Table_Stats('유저명','테이블명');

확인

→ Declare

Rows Number;

Blocks Number;

Avg_Row_Len Number;

    Begin

DBMS_Stats.Get_Table_Stats('유저명', '테이블명', null, null, null, Rows, Blocks, Avg_Row_Len);

DBMS_Output.Put_Line('Rows = '|| Rows || ', Blocks = ' || Blocks || ', Avg_Row_Len = ' || Avg_Row_Len );

    End;

    /

 

→ Exec DBMS_Stats.Create_Stat_Table('유저명', '백업테이블명');

 * 통계정보를 저장할 테이블 생성.

 

→ Exec DBMS_Stats.Export_Schema_Stats('유저명', '백업테이블명');

 * 통계정보를 백업한다.

 

→ Exec DBMS_Stats.Delete_Table_Stats('유저명', '테이블명');

 * 통계정보를 삭제한다.

 

→ Exec DBMS_Stats.Import_Table_Stats('유저명', '테이블명', Null, '백업테이블명');

 * 통계정보를 복구한다.

 

 

'OraclE' 카테고리의 다른 글

append 힌트의 효용성  (0) 2012.06.26
datapump  (0) 2012.06.20
DBMS_STATS 패키지  (0) 2012.06.13
tuning block space usage  (0) 2012.06.13
ALTER TABLE 에 있어서의 SHRINK 와 MOVE (10g)  (0) 2012.06.13