기술 정보
home
채널 소개
home

통계 정보 복구 방법

문서 유형
기술 정보
분야
튜닝
키워드
dbms_stats
optimizer
plan
restore_table_stats
stat_table
적용 제품 버전
6FS06
6FS07
6FS07PS
7FS02
7FS02PS

개요

이전에 적용했었던 테이블 통계 정보에 대한 복구 방법을 설명합니다.

방법

통계 정보 히스토리 테이블 정보 (기본 리텐션 31일) : SYS._STAT_TBL_HISTORY

통계 정보 히스토리 조회 쿼리 (테이블 단위, ANALYZETIME 컬럼으로 통계 수집 된 시점 확인)
SELECT DU.USERNAME , DO.OBJECT_NAME , SH.* FROM DBA_OBJECTS DO , DBA_USERS DU , SYS._STAT_TBL_HISTORY SH WHERE DO.OBJECT_ID = SH.OBJ_ID AND DO.OWNER = DU.USERNAME AND DO.OBJECT_TYPE = 'TABLE' AND DU.USERNAME = '<owner>' AND DO.OBJECT_NAME = '<table_name>' ORDER BY TIMESTAMP ;
SQL
복사

테이블의 통계 정보를 지정된 시간(as_of_timestamp)으로 복원하는 방법

EXEC DBMS_STATS.RESTORE_TABLE_STATS('<owner>', '<table_name>', TO_TIMESTAMP('2023/12/11 09:49:04', 'YYYY/MM/DD HH24:MI:SS'), force=>TRUE);
SQL
복사
주의
실행 시, 통계가 수집 되었을 때 통계 수집 된 시점보다 1초 크게 선택해야 적용됩니다.
통계 복원 확인: DBA_TABLESDBA_INDEXES 테이블의 LAST_ANALYZED 일자와 _STAT_TBL_HISTORY의 ANALYZETIME 통계 시점 일자와 일치하는지 확인합니다.