오라클 통계정보 이동
DB CAFE
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
1 통계정보 수집/추출/입력[편집]
1.1 통계정보수집[편집]
1.1.1 테이블[편집]
EXEC DBMS_STATS.GATHER_TABLE_STATS(
ownname=>'CYKIM'
, stattab=>'TB_MGR_STATS'
, tabname=>'TB_DICT'
, method_opt=>'FOR ALL INDEXED COLUMNS SIZE 74'
, cascade=>TRUE);
보다자세히
exec DBMS_STATS.GATHER_TABLE_STATS (
'CYKIM'
,'TB_DICT5'
, estimate_percent => 100
, method_opt => 'FOR ALL COLUMNS SIZE 1'
, degree=> 10
, granularity => 'ALL'
, cascade => TRUE
, no_invalidate => FALSE);
1.1.2 파티션테이블[편집]
exec DBMS_STATS.GATHER_TABLE_STATS (
'CYKIM'
, 'TB_DICT5'
, partname => 'P201102' -- 파티션명
, estimate_percent => 5
, method_opt => 'FOR ALL COLUMNS SIZE 1'
, degree=> 10
, granularity => 'ALL'
, cascade => TRUE
, no_invalidate => FALSE);
1.1.3 스키마[편집]
EXEC DBMS_STATS.GATHER_SCHEMA_STATS(
ownname => 'CYKIM'
, method_opt => 'FOR ALL INDEXED COLUMNS SIZE AUTO'
, cascade=>TRUE);
=== 인덱스 ===
EXEC DBMS_STATS.GATHER_INDEX_STATS(
'CYKIM'
,'IX_DICT_01');
1.1.4 파티션인덱스[편집]
EXEC DBMS_STATS.GATHER_INDEX_STATS(
ownname => 'CYKIM'
, indname => 'IX_DICT_01'
, partname => 'P20110222');
1.1.5 데이터베이스[편집]
DBMS_STATS.GATHER_DATABASE_ STATS
1.1.6 시스템통계정보[편집]
DBMS_STATS.GATHER_SYSTEM_STATS
1.2 통계정보 EXPORT/IMPORT[편집]
1.2.1 통계정보 EXPORT[편집]
1.2.1.1 통계정보를 임시로 저장할 테이블 생성[편집]
EXEC DBMS_STATS.CREATE_STAT_TABLE (
'스키마명'
,'TB_MGR_STATS'
,'테이블스페이스명-생략가능'
);
1.2.1.2 통계추출테이블에 EXPORT[편집]
1.2.1.2.1 테이블 정보 EXPORT[편집]
- dbms_stats.export_table_stats ('table_owner', 'table name', null, 'stat table','stat_id',true,'stat table owner');
EXEC DBMS_STATS.EXPORT_TABLE_STATS(
'CYKIM' -- 스키마명
, 'TB_DICT' -- 테이블명
, NULL -- 파티션명
, 'TB_MGR_STATS' -- 통계테이블명
, 'TB_DICT_20161101' -- statid 옵션 식별자(버전)
, TRUE -- cascade 인덱스포함하여
, 'CYKIM' -- 소유자명
) ;
1.2.1.2.2 스키마 정보 EXPORT[편집]
- dbms_stats.export_schema_stats ('schema name', 'stat table','stat_id','stat table owner');
EXEC DBMS_STATS.EXPORT_SCHEMA_STATS (
'SCOTT' -- schema name
, 'TB_MGR_STATS' -- stat table
, 'STATS_BAK_2020' -- stat_id
, 'CYKIM' -- stat table owner
);
1.2.2 통계정보 IMPORT[편집]
1.2.2.1 테이블 통계정보 입력[편집]
dbms_stats.import_table_stats ('table_owner', 'table name', null, 'stat table','stat_id',true,'stat table owner');
EXEC DBMS_STATS.IMPORT_TABLE_STATS(
'CYKIM' -- 스키마명
, 'TB_DICT' -- 테이블명
, NULL -- 파티션명
, 'TB_MGR_STATS' -- 통계테이블
);
1.2.2.2 스키마 정보 입력[편집]
EXEC DBMS_STATS.IMPORT_SCHEMA_STATS (
'CYKIM' -- schema name
, 'TB_MGR_STATS' -- stat table
, 'CYKIM_TB_MGR_STATS' -- stat_id
, 'CYKIM' -- stat table owner
);
1.2.2.3 통계정보 복구[편집]
EXEC DBMS_STATS.IMPORT_TABLE_STATS (
'CYKIM'
, 'TB_DICT'
, NULL
, 'TB_MGR_STATS'
,' TB_MGR_STATS_20161101' -- 통계식별ID
, TRUE
, 'CYKIM'
);
1.3 통계정보 백업[편집]
- dbms_stats.export_table_stats
- dbms_stats.export_schema_stats
1.3.1 테이블별 통계 백업[편집]
EXEC DBMS_STATS.EXPORT_TABLE_STATS(
'CYKIM' -- 스키마명
, 'TB_DICT' -- 테이블명
, NULL -- 파티션명
, 'TB_MGR_STATS' -- 통계테이블명
, 'TB_DICT_20161101' -- statid 옵션 식별자(버전)
, TRUE -- cascade 인덱스포함하여
, 'CYKIM' -- statown
);
dbms_stats.export_table_stats ('table_owner', 'table name', null, 'stat table','stat_id',true,'stat table owner');
1.3.2 스키마별 통계 백업[편집]
EXEC DBMS_STATS.EXPORT_SCHEMA_STATS (
'CYKIM' -- schema name
, 'TB_MGR_STATS' -- stat table
, 'CYKIM_SCHEMA_20160101' -- stat_id(추후 복구용으로 사용할 ID)
, 'CYKIM' -- stat table owner
);
dbms_stats.export_schema_stats ('schema name', 'stat table','stat_id','stat table owner');