본문 바로가기

Oracle/Admin

[Oracle] ASH, AWR

728x90

Oracle ASH (Active Session History)

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

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

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

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

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

 

  • 기능: ASH는 데이터베이스에서 활동 중인 세션의 정보를 수집합니다. 이를 통해 특정 시점에 세션들이 무엇을 하고 있었는지에 대한 정보를 확인할 수 있습니다.
  • 샘플링: Oracle은 1초마다 활동 중인 세션에 대한 데이터를 수집하여 메모리에 저장합니다. 따라서 특정 시간 동안의 세션 활동을 파악하는 데 유용합니다.
  • 주 용도: 주로 특정 시점의 성능 이슈나 병목 현상을 파악할 때 사용됩니다. 예를 들어, 특정 쿼리로 인해 CPU나 I/O 리소스가 부족할 경우, ASH 데이터를 통해 어느 세션이 문제를 일으켰는지 확인할 수 있습니다.
  • 저장 위치: ASH는 메모리에 저장되며, 일정 시간이 지나면 데이터가 삭제됩니다. 그러나 필요한 경우 AWR로 이동되어 더 오래 보존될 수 있습니다.  dba_hist_active_sess_history 테이블을 대신 보면됩니다.

 

 

Oracle AWR (Automatic Workload Repository)

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

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

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

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

 

  • 기능: AWR은 데이터베이스의 성능 데이터를 주기적으로 수집하고, 이를 통해 장기적인 성능 분석과 튜닝에 필요한 데이터를 제공합니다.
  • 샘플링 주기: 기본적으로 매 1시간마다 데이터가 수집되며, 수집된 데이터는 데이터베이스에 저장되어 보존됩니다.
  • 저장 데이터: AWR은 CPU, 메모리, 디스크 I/O, 대기 이벤트, SQL 실행 통계 등 데이터베이스 전반의 성능 관련 데이터를 저장합니다.
  • 주 용도: AWR 보고서를 통해 일정 기간 동안의 성능 문제나 병목 현상을 파악할 수 있으며, 추세 분석이나 성능 최적화에도 유용합니다. 예를 들어, 특정 기간 동안 반복되는 성능 이슈를 추적하여 그 원인을 분석하는 데 AWR 보고서가 많이 활용됩니다.
  • 라이선스: AWR은 Oracle Diagnostics Pack에 포함되어 있으며, 사용하려면 별도의 라이선스가 필요합니다.

 


차이점 요약

 

항목 ASH AWR
수집 주기 1초마다 활동 중인 세션의 샘플을 수집 기본적으로 1시간마다 성능 데이터 수집
데이터 저장 메모리 (일정 시간 후 삭제) 데이터베이스에 저장되어 장기간 보존
주 용도 특정 시점의 세션 활동 분석 장기적인 성능 분석 및 최적화
라이선스 Diagnostics Pack 라이선스 필요 Diagnostics Pack 라이선스 필요

 

ASH는 주로 실시간 문제를 추적하는 데 유용하고, AWR은 주기적인 보고서를 통해 전체 성능을 관리하는 데 유리합니다.

728x90
반응형

'Oracle > Admin' 카테고리의 다른 글

[ORACLE] RMAN BAKCUP  (0) 2024.11.15
[Oracle] Index Rebuild  (0) 2024.11.13
[Oracle] Wait Event 목록  (0) 2024.10.31
[Oracle] single grid 환경에서의 oracle 재기동 방법  (0) 2024.09.19
[Oracle] 10046 event Trace 분석  (3) 2024.09.06