728x90
배경
실시간 모니터링을 통해 문제를 빠르게 해결하려면 세션 레벨 성능 분석이 필요한데, 오라클 9i까지 제공하던 세션 레벨 동적 뷰만으로는 한계가 많았다. 물론 SQL 트레이스를 통해 가장 상세한 세션 레벨 분석이 가능하지만 다음과 같은 어려움이 있었다.
- 시스템에 주는 부하가 큼.
- 파일 단위로 수집되기에 통계적 접근 어려움.
- 분석 완료 까지 소요되는 시간 큼.
- 수동으로 활성화해야함. (⇒ 때문에 이미 상황이 끝나고 난 뒤에는 확인 불가)
도입
그렇기에 오라클 10g부터는 ASH 기능을 도입하여, 현재 접속해서 활동중인 Active Session 정보를 1초에 한 번씩 샘플링해서 ASH 버퍼에 저장한다. SGA Shared Pool에서 CPU 당 2mb를 할당받아 세션 정보를 기록하며, 1시간 혹은 버퍼의 2/3가 찰 때마다 디스크(AWR)에 기록한다.
조회 방법
ASH 버퍼에 저장된 세션 히스토리 정보는 v$active_session_history 뷰를 통해 조회할 수 있다. ASH 기능 이용 시 현재뿐 아니라 과거에 발생한 장애 및 성능 저하 원인까지 세션 레벨로 분석할 수 있도록 도와준다. AWR로 옮겨진 정보는 dba_hist_active_sess_history 뷰를 통해 조회할 수 있다.
'Database' 카테고리의 다른 글
인덱스 종류(알고리즘) (0) | 2023.06.10 |
---|---|
SQL 분석 도구 (0) | 2023.06.10 |
데이터베이스 I/O 매커니즘 (0) | 2023.06.09 |
SQL 처리과정 (0) | 2023.06.09 |
오라클 아키텍처 (0) | 2023.06.09 |