DBDBDEEP
Oracle 데이터베이스 유지관리 (AWR, ADDM, Auto Task) 본문
목차
1. AWR(Automatic Workload Repository) - 오라클이 수집하는 정보들이 쌓이고 있음
2. 오라클 각종 Advisor 소개 : ADDM
3. 오라클 서버의 성능향상을 위한 Auto Task 3가지
4. Server Generated Alert
1. AWR
- sysaux의 영역에 AWR이 저장되어 있다.
- 오라클 성능정보에 대해 내장 저장소이다.
- 60분마다 데이터베이스 Metrics의 스냅샷을 생성하여 8일동안 보관한다.
- 모든 자체 관리 기능의 토대이다.
• shared Pool 안의 Fixed Area
- v$ 형태의 값이 저장된다.
- 데이터베이스가 shutdown 되면 drop이 된다.
- 데이터 베이스 올라온 이후의 정보만 적히게 된다.
- 따라서, v$ 은 실시간으로 되어있는 것들에 대한 정보를 보여주게되는 것이다.
- 실시간으로 제공 되는 통계정보를 알 수 있다. v$sysstat - 누적치를 보여준다.
- 실시간으로 변하는 값이라 일관된 값이 저장되지는 않음
ㄴ-> 이러한 이유들로 인하여 MMON(관리 효율성 모니터)가 60분 마다 SYSAUX의 AWR에 변경된 값을 적는 것이다.
- 기본적으로 스냅샷은 8일간 보관된다
- 한 세트의 통계값을 SnapShot 이라고 한다.
• AWR 관리
- Retention 기간 : 기본값은 8일이다. 필요한 저장 영역을 고려하여 정한다.
- 수집 간격 : 기본값은 60분이다. 필요한 저장 영역을 고려하여 정한다.
- 수집 레벨
1) Basic(대부분의 ADDM기능 비활성화
2) Typical(권장) --> 이것으로 두고 사용하면된다
3) All(스냅샷에 SQL Tunning 정보 추가)
• AWR 사용
1. 기능활성화
STATISTICS_LEVEL = TYPICAL or ALL
2.snapshot 생성
1) 자동 : MMON
2) 수동 : EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT ();
3. snapshot List (스냅샷 확인해보기)
SQL> select snap_id, to_char(begin_interval_time, 'yyyy-mm-dd hh24:mi:ss')
snap_time
from dba_hist_snapshot
order by snap_time desc;
4. AWR 설정 확인 및 변경
- 스냅샷 Interval, Retention 확인
SQL> select snap_interval, retention from DBA_HIST_WR_CONTROL;
-스냅샷 AWR에 저장시 설정확인
DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS( retention => 43200,
interval => 30,
topnsql => 100,
dbid => 3310949047);
• AWR Baseline
- 일반적으로 AWR baseline은 AWR에서 지정하고 보존하는 중요 기간에 대한 스냅샷 데이터의 집합이다.
2. ADDM
- 각 AWR 스냅샷이 생성될 때 마다 ADDM 이 실행된다.
- AWR 데이터를 통해 DB의 문제점을 자동으로 분석한다.
- 결과를 AWR에 저장한다.
ex) 11:00 에 찍힌 스냅샷과 12:00에 찍힌 스냅샷을 비교한다
두 스냅샷에 해당하는 기간을 분석한다.
• ADDM에 의해 감지되는 문제
- CPU 병목 지점
- 부실한 Oracle Net 연결 관리
- Lock 경합
- 입출력(I/O)용량
- 너무 작은 데이터베이스 Instance 메모리 구조 크기
- 로드량이 많은 SQL 문
- 높은 PL/SQL및 자바시간
- 높은 체크포인트 및 로그 원인
지정된 스냅샷 기간 동안의 DB 성능 분석 보고서 보기
1)
SQL> @$ORACLE_HOME/rdbms/admin/awrrpt.sql
2) 일 수 입력
3) 기간 입력
4) 이름 지정하기
3. 오라클 서버의 성능향상을 위한 Auto Task 3가지
Optimizer
- SQL을 위한 최적의 실행계획을 생성하는 알고리즘 또는 DBMS의 핵심엔진
자동화된 유지관리 작업, AutoTask 3가지
1) Optimizer 통계 (자동 최적기 통계수집)
- 데이터베이스의 모든 오브젝트에 대한 자료를 모아 기술한 통계
- 데이터 딕셔너리에 저장
- 이 통계정보를 바탕으로 Optimizer가 SQL 문장 실행을 위한 효율적인 실행계획 만들어냄
2) Automatic segment Advisor(자동세그먼트 권고자)
- 회수 가능한 공간을 가지는 세그먼트를 구분, 해당 세그먼트에 대한 조각모음에 대한 권장 사항을 생성한다.
3) Automatic SQL Advisor
- 높은 부하를 가지는 SQL 문장에 대한 성능을 감시하고, 튜닝 방법에 대한 권고사항을 제공한다.
4. Server Generated Alert
Server Generated Alert (서버 생성 Alert)
- 데이터베이스가 부적합한 상태에 있을 때 주의가 필요하다고 알리는 통지.
- 콘솔에 alert 정보를 표시 가능 / 전자메일로 관리자에게 송신 가능
- alert 임계값을 설정하여 임계값 85% / 97% 에 도달하면 사전에 통지한다.
Alert 에 대한 대응
- ADDM이나 적절한 Advisor를 실행하여 시스템 또는 객체 동작에 대한 자세한 진단.
- 공간 부족상황에 대한 alert 이면 talbespace 수정.
- physical read가 올라가면 적절하게 수정해줘야 한다.
'Oracle ADMIN' 카테고리의 다른 글
Oracle RM (리소스 매니저) (0) | 2022.07.25 |
---|---|
Oracle 데이터베이스 성능관리 (SGA, PGA 관리) (0) | 2022.07.25 |
Oracle Data Pump, 데이터 이동 (0) | 2022.07.24 |
Oracle 데이터베이스 감사(Audit) 구현 (0) | 2022.07.24 |
Oracle 데이터 동시성 관리, Lock (0) | 2022.07.24 |