"오라클 통계정보 이동"의 두 판 사이의 차이
DB CAFE
(→통계정보 EXPORT/IMPORT) |
(→통계정보 수집/추출/입력) |
||
2번째 줄: | 2번째 줄: | ||
== 통계정보수집 == | == 통계정보수집 == | ||
− | === | + | === 테이블 === |
<source lang=sql> | <source lang=sql> | ||
EXEC DBMS_STATS.GATHER_TABLE_STATS( | EXEC DBMS_STATS.GATHER_TABLE_STATS( | ||
24번째 줄: | 24번째 줄: | ||
</source> | </source> | ||
− | === | + | === 파티션테이블 === |
<source lang=sql> | <source lang=sql> | ||
exec DBMS_STATS.GATHER_TABLE_STATS ( | exec DBMS_STATS.GATHER_TABLE_STATS ( | ||
38번째 줄: | 38번째 줄: | ||
</source> | </source> | ||
− | === | + | === 스키마 === |
<source lang=sql> | <source lang=sql> | ||
EXEC DBMS_STATS.GATHER_SCHEMA_STATS( | EXEC DBMS_STATS.GATHER_SCHEMA_STATS( | ||
46번째 줄: | 46번째 줄: | ||
</source> | </source> | ||
− | === | + | === 인덱스 === |
<source lang=sql> | <source lang=sql> | ||
EXEC DBMS_STATS.GATHER_INDEX_STATS( | EXEC DBMS_STATS.GATHER_INDEX_STATS( | ||
53번째 줄: | 53번째 줄: | ||
</source> | </source> | ||
− | === | + | === 파티션인덱스 === |
<source lang=sql> | <source lang=sql> | ||
EXEC DBMS_STATS.GATHER_INDEX_STATS( | EXEC DBMS_STATS.GATHER_INDEX_STATS( | ||
61번째 줄: | 61번째 줄: | ||
</source> | </source> | ||
− | === | + | === 데이터베이스 === |
<source lang=sql> | <source lang=sql> | ||
DBMS_STATS.GATHER_DATABASE_ STATS | DBMS_STATS.GATHER_DATABASE_ STATS | ||
</source> | </source> | ||
− | === | + | === 시스템통계정보 === |
<source lang=sql> | <source lang=sql> | ||
DBMS_STATS.GATHER_SYSTEM_STATS | DBMS_STATS.GATHER_SYSTEM_STATS | ||
</source> | </source> | ||
− | === | + | === 보다 상세한 통계정보 === |
<source lang=sql> | <source lang=sql> | ||
DBMS_STATS.GENERATE_STATS | DBMS_STATS.GENERATE_STATS | ||
80번째 줄: | 80번째 줄: | ||
=== 통계정보 EXPORT === | === 통계정보 EXPORT === | ||
− | + | ====통계정보를 임시로 저장할 테이블 생성 ==== | |
<source lang=sql> | <source lang=sql> | ||
EXEC DBMS_STATS.CREATE_STAT_TABLE ( | EXEC DBMS_STATS.CREATE_STAT_TABLE ( | ||
89번째 줄: | 89번째 줄: | ||
</source> | </source> | ||
− | + | ====통계추출테이블에 EXPORT ==== | |
− | + | =====테이블 정보 EXPORT===== | |
* dbms_stats.export_table_stats ('table_owner', 'table name', null, 'stat table','stat_id',true,'stat table owner'); | * dbms_stats.export_table_stats ('table_owner', 'table name', null, 'stat table','stat_id',true,'stat table owner'); | ||
<source lang=sql> | <source lang=sql> | ||
105번째 줄: | 105번째 줄: | ||
</source> | </source> | ||
− | + | =====스키마 정보 EXPORT===== | |
* dbms_stats.export_schema_stats ('schema name', 'stat table','stat_id','stat table owner'); | * dbms_stats.export_schema_stats ('schema name', 'stat table','stat_id','stat table owner'); | ||
<source lang=sql> | <source lang=sql> | ||
118번째 줄: | 118번째 줄: | ||
=== 통계정보 IMPORT === | === 통계정보 IMPORT === | ||
− | ==== | + | ==== 테이블 통계정보 입력 ==== |
dbms_stats.import_table_stats ('table_owner', 'table name', null, 'stat table','stat_id',true,'stat table owner'); | dbms_stats.import_table_stats ('table_owner', 'table name', null, 'stat table','stat_id',true,'stat table owner'); | ||
<source lang=sql> | <source lang=sql> | ||
129번째 줄: | 129번째 줄: | ||
</source> | </source> | ||
− | ==== | + | ==== 스키마 정보 입력 ==== |
<source lang=sql> | <source lang=sql> | ||
EXEC DBMS_STATS.IMPORT_SCHEMA_STATS ( | EXEC DBMS_STATS.IMPORT_SCHEMA_STATS ( | ||
138번째 줄: | 138번째 줄: | ||
); | ); | ||
</source> | </source> | ||
− | + | ||
+ | ==== 통계정보 복구 ==== | ||
<source lang=sql> | <source lang=sql> | ||
EXEC DBMS_STATS.IMPORT_TABLE_STATS ( | EXEC DBMS_STATS.IMPORT_TABLE_STATS ( | ||
155번째 줄: | 156번째 줄: | ||
* dbms_stats.export_schema_stats | * dbms_stats.export_schema_stats | ||
− | === | + | === 테이블별 통계 백업 === |
<source lang=sql> | <source lang=sql> | ||
EXEC DBMS_STATS.EXPORT_TABLE_STATS( | EXEC DBMS_STATS.EXPORT_TABLE_STATS( | ||
169번째 줄: | 170번째 줄: | ||
</source> | </source> | ||
− | === | + | === 스키마별 통계 백업 === |
<source lang=sql> | <source lang=sql> | ||
EXEC DBMS_STATS.EXPORT_SCHEMA_STATS ( | EXEC DBMS_STATS.EXPORT_SCHEMA_STATS ( | ||
179번째 줄: | 180번째 줄: | ||
dbms_stats.export_schema_stats ('schema name', 'stat table','stat_id','stat table owner'); | dbms_stats.export_schema_stats ('schema name', 'stat table','stat_id','stat table owner'); | ||
</source> | </source> | ||
− | |||
− | |||
[[Category:oracle]] | [[Category:oracle]] |
2020년 1월 29일 (수) 14:14 판
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 (
'CYKIM' -- schema name
, 'TB_MGR_STATS' -- stat table
, 'CYKIM_TB_MGR_STATS' -- 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');