[출처] 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 |