행위

"오라클 통계정보 이동"의 두 판 사이의 차이

DB CAFE

(1) 테이블별 통계 백업)
(통계정보 EXPORT/IMPORT)
80번째 줄: 80번째 줄:
 
=== 통계정보 EXPORT ===
 
=== 통계정보 EXPORT ===
  
==== 1) 통계정보를 임시로 저장할 테이블 생성 ====
+
1) 통계정보를 임시로 저장할 테이블 생성  
 
 
 
<source lang=sql>
 
<source lang=sql>
 
EXEC DBMS_STATS.CREATE_STAT_TABLE (
 
EXEC DBMS_STATS.CREATE_STAT_TABLE (
90번째 줄: 89번째 줄:
 
</source>           
 
</source>           
  
==== 2) 통계추출테이블에 EXPORT ====
+
2) 통계추출테이블에 EXPORT  
  
 
1)테이블 정보 EXPORT
 
1)테이블 정보 EXPORT
106번째 줄: 105번째 줄:
 
</source>
 
</source>
  
2)스키마 정보 EXPORT
+
2) 스키마 정보 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>

2020년 1월 20일 (월) 14:35 판

thumb_up 추천메뉴 바로가기


1 통계정보 수집/추출/입력[편집]

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 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 3) 스키마[편집]

EXEC DBMS_STATS.GATHER_SCHEMA_STATS(
      ownname => 'CYKIM'
    , method_opt => 'FOR ALL INDEXED COLUMNS SIZE AUTO'
    , cascade=>TRUE);
=== 4) 인덱스 ===
EXEC DBMS_STATS.GATHER_INDEX_STATS(
'CYKIM'
,'IX_DICT_01');

1.1.4 5) 파티션인덱스[편집]

EXEC DBMS_STATS.GATHER_INDEX_STATS(
ownname => 'CYKIM'
, indname => 'IX_DICT_01'
, partname => 'P20110222');

1.1.5 6) 데이터베이스[편집]

DBMS_STATS.GATHER_DATABASE_ STATS

1.1.6 7) 시스템통계정보[편집]

DBMS_STATS.GATHER_SYSTEM_STATS

1.1.7 8) 보다 상세한 통계정보[편집]

DBMS_STATS.GENERATE_STATS


1.2 통계정보 EXPORT/IMPORT[편집]

1.2.1 통계정보 EXPORT[편집]

1) 통계정보를 임시로 저장할 테이블 생성

EXEC DBMS_STATS.CREATE_STAT_TABLE (
           '스키마명'
          ,'TB_MGR_STATS'
          ,'테이블스페이스명-생략가능'
          );

2) 통계추출테이블에 EXPORT

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'         -- 소유자명 
) ;

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 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 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
);

5.통계정보 복구

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 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 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');