RDB/Oracle
oracle 19c dictionary 및 fixed 테이블 통계정보 수집
세모데
2022. 2. 18. 11:52
1. 19c dictionary 및 fixed 테이블 통계 정보 수집
-
EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;
- EXEC DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;
* 기존 데이터 백업시
- EXEC DBMS_STATS.GATHER_FIXED_OBJECTS_STATS(stattab=>'???', statid=>'???', statown=>'???');
- EXEC DBMS_STATS.GATHER_DICTIONARY_STATS(stattab=>'???',statid=>'???',statown=>'???');
2. 통계 수집 방식 변경
- 통계 수집을 incremental 방식으로 변경
begin
dbms_stats.set_global_prefs('incremental', 'true');
end;
/ - 통계 수집시 column에 대한 수집을 고정
begin
dbms_stats.set_global_prefs('method_opt', 'FOR ALL COLUMNS SIZE 1');
end;
/
3. 통계 global 설정 확인
SET LINESIZE 250
COLUMN autostats_target FORMAT A20
COLUMN cascade FORMAT A25
COLUMN degree FORMAT A10
COLUMN estimate_percent FORMAT A30
COLUMN method_opt FORMAT A25
COLUMN no_invalidate FORMAT A30
COLUMN granularity FORMAT A15
COLUMN publish FORMAT A10
COLUMN incremental FORMAT A15
COLUMN stale_percent FORMAT A15
SELECT DBMS_STATS.GET_PREFS('AUTOSTATS_TARGET') AS autostats_target,
DBMS_STATS.GET_PREFS('CASCADE') AS cascade,
DBMS_STATS.GET_PREFS('DEGREE') AS degree,
DBMS_STATS.GET_PREFS('ESTIMATE_PERCENT') AS estimate_percent,
DBMS_STATS.GET_PREFS('METHOD_OPT') AS method_opt,
DBMS_STATS.GET_PREFS('NO_INVALIDATE') AS no_invalidate,
DBMS_STATS.GET_PREFS('GRANULARITY') AS granularity,
DBMS_STATS.GET_PREFS('PUBLISH') AS publish,
DBMS_STATS.GET_PREFS('INCREMENTAL') AS incremental,
DBMS_STATS.GET_PREFS('STALE_PERCENT') AS stale_percent
FROM dual;