본문 바로가기
Oracle/운영

통계정보 복사하기 (partition table)

by 취미툰 2021. 11. 19.
반응형

운영중에 테이블의 통계정보를 동일하게 맞춰달라는 요청을 받고 수행한 내역을 정리한 글입니다.

 

요청해준 테이블은 파티션테이블이었습니다.

 

버전 Oracle 12.2.0.1

 

1.테이블의 통계정보 확인

LAST_ANALYZED컬럼을 확인해보면 날짜가 다른것을 확인할 수 있습니다. 즉, 통계정보가 다르다는 것이고, 202110의 통계정보를 복사하여 동일하게 맞춰줄 것입니다.

SQL> select owner,table_name,partition_name,NUM_ROWS,blocks,last_analyzed from dba_tab_statistics
where table_name='DM_FIM030M'
and partition_name in ('PT_FIM030M_202111','PT_FIM030M_202110')
order by partition_position desc;

OWNER    TABLE_NAME    PARTITION_NAME       NUM_ROWS         BLOCKS       LAST_ANALYZED              
-------- ------------- -------------------- ---------------- ------------ -------------------------- 
EDWOWN   DM_FIM030M    PT_FIM030M_202111            13328050       207872 2021/11/08 12:45:52       
EDWOWN   DM_FIM030M    PT_FIM030M_202110            13328050       207872 2021/11/09 11:28:25

 

2.기존 통계정보 백업 (백업이 필요하지 않는 경우에는 하지않아도 됩니다)

 

dbms_stats의 명령어를 이용하여 기존 통계정보를 백업받습니다.

--통계테이블 생성
SQL> exec dbms_stats.create_stat_table('AAA','STATS_PT_FIM030M_202111','USERS');

PL/SQL procedure successfully completed.


--export 수행
SQL> exec DBMS_STATS.EXPORT_TABLE_STATS(ownname => 'EDWOWN',tabname => 'DM_FIM030M',STATTAB=>'STATS_PT_FIM030M_202111',statown=> 'AAA',CASCADE=>TRUE);


PL/SQL procedure successfully completed.

 

 

3.통계정보 COPY

SQL> exec DBMS_STATS.COPY_TABLE_STATS('EDWOWN','DM_FIM030M', srcpartname=> 'PT_FIM030M_202110', dstpartname=> 'PT_FIM030M_202111');

PL/SQL procedure successfully completed.

 

4.정보확인

last_analyzed 컬럼의 날짜가 동일하게 맞춰진 것을 확인 할 수 있습니다.

SQL> select owner,table_name,partition_name,NUM_ROWS,blocks,last_analyzed from dba_tab_statistics
where table_name='DM_FIM030M'
and partition_name in ('PT_FIM030M_202111','PT_FIM030M_202110')
order by partition_position desc;

OWNER    TABLE_NAME    PARTITION_NAME       NUM_ROWS         BLOCKS       LAST_ANALYZED              
-------- ------------- -------------------- ---------------- ------------ -------------------------- 
EDWOWN   DM_FIM030M    PT_FIM030M_202111            13328050       207872 2021/11/09 11:28:25       
EDWOWN   DM_FIM030M    PT_FIM030M_202110            13328050       207872 2021/11/09 11:28:25

 

 

반응형

댓글