[Oracle] ASH와 AWR

HYEOB KIM·2022년 11월 1일
0

Oracle

목록 보기
12/58

ASH(Active Session History)

Ratio 기반 분석방법론과 wait event 기반 분석방법론의 한계점은 문제가 있다고 진단했을때 그 원인을 찾아 실제 문제를 해결하는 데까지 많은 시간이 걸리는 데 있다고 합니다.

v$session 이용하여 실시간 세션에 대한 모니터링을 할 수 있지만 이는 해당 시점에서의 걸리는 쿼리만을 볼 수 있다는 점 때문에 한계가 있습니다.

그래서 나온 기능이 바로 10g부터 나온 ASH입니다.

ASH는 실시간 세션(Actvie Session)의 활동 정보, SQL 수행 빈도 등의 정보1초 간격으로 수집해 SGA -> Shared Pool -> ASH Buffer 영역에 보관해뒀다가 가득 차게 되면 AWR로 내려씁니다.

ASH 정보를 디스크로 내려 쓰는 역할을 담당하는 Background ProcessMMNL입니다.

AWR(Automatic Workload Repository)

자동으로 DB에 대한 통계 및 성능 자료를 수집해 스냅샷으로 만들어 일정 기간동안 보관하고, 이를 활용할 수 있게 해주는 기능입니다.

성능자료의 간단한 예로는 Buffer/CPU/Pin/Latch/Library 등의 히트율, 자원 사용률, Soft/Hard Parse 정도, 가장 느리게 돌았던 쿼리(Slow Query) 등이 있습니다.

느린 쿼리를 튜닝한다든지, SGA의 값을 AWR이 추천하는 값으로 변경해 효용성을 높인다든지 하는 방법으로 활용할 수 있습니다.

AWR과 관련한 작업을 도와주는 Background ProcessMMON입니다.


참고

profile
Devops Engineer

0개의 댓글