awr 보관 주기
AWR 보관시간 및 snapshot주기 조정하기AWR 많이 쓰시나요?
10g부터 나오긴 했습니다만,
생각보다 많은 정보를 얻을수 있습니다, 재미있기도 하지요.
기본적으로 AWR은 1시간마다 snapshot정보를 수집하고, 7일을 보관하고 있기 때문에,
추후 장애나 성능분석을 할때, 상세분석시 필요한 데이터가 부족할지모릅니다.
초기 설치시나 문제 발생이전에 미리 AWR주기를 조정(15분 snapshot, 14일 보관)해 놓는게 좋은것 같습니다.
(snapshot정보도 결국은 테이블에 저장되는것이므로, AWR설정 변경후의 크기를 계산하여 sysaux를 조정해주셔야합니다.)
1. AWR repository 크기 계산하기
- 현재 사용하고 있는 AWR 크기를 참고하여 계산하기.
@?/rdbms/admin/awrinfo.sql
- AWR Interval, Retention, Num Instances, Active Sessions, Datafiles 개수를 인수로 받아 AWR크기 계산하기.
(링크 : http://msutic.blogspot.com/2010/07/automatic-workload-repository-awr-space.html)
@?/rdbms/admin/utlsyxsz.sql
2. AWR의 Snapshot주기 및 보관시간 변경
오라클 DPI(Database Performance Inspection) 서비스를 받을때 오라클 엔지니어가 와서 아래처럼 보관주기를 변경하지요.ㅎ
SET TIME ON
SET ECHO ON
SET TIMING ON
COL SNAP_INTERVAL FOR A30
COL RETENTION FOR A30
SET PAGESIZE 100
SPOOL 201XXXX_change_awr_interval
SELECT DBID, SNAP_INTERVAL, RETENTION FROM DBA_HIST_WR_CONTROL;
SELECT SNAP_ID, DBID, INSTANCE_NUMBER, TO_CHAR(BEGIN_INTERVAL_TIME, 'YYYY/MM/DD HH24:MI'), TO_CHAR(END_INTERVAL_TIME, 'YYYY/MM/DD HH24:MI')
FROM DBA_HIST_SNAPSHOT ORDER BY DBID, INSTANCE_NUMBER, SNAP_ID;
-- snapshot주기는 15분, 보관은 14일로 설정함.
EXEC DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(RETENTION=>60*24*14,INTERVAL=>15);
SELECT DBID, SNAP_INTERVAL, RETENTION FROM DBA_HIST_WR_CONTROL;