반응형
운영중에 테이블의 통계정보를 동일하게 맞춰달라는 요청을 받고 수행한 내역을 정리한 글입니다.
요청해준 테이블은 파티션테이블이었습니다.
버전 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
반응형
'Oracle > 운영' 카테고리의 다른 글
테스트로 확인하는 V$ASM_OPERATION (0) | 2021.11.23 |
---|---|
SQL_MONITOR 사용법 (0) | 2021.11.20 |
BULK INSERT (대량 INSERT 작업) 일반INSERT 작업과 비교 (0) | 2021.11.18 |
통계정보 관련 딕셔너리 뷰 (0) | 2021.11.11 |
테이블 파티션 Split,Merge,Coalesce (0) | 2021.11.08 |
댓글