Ratio 기반 분석방법론과 대기이벤트 기반 분석방법론의 한계점은 문제가 있다고 진단했을때 그 원인을 찾아 실제 문제를 해결하는 데까지 많은 시간이 걸리는 데 있다고 합니다.
그래서 오라클이 10g에서 ASH기능을 탄생시켰습니다. 10g AWR은 데이터 수집을 아주 빠르게, 좀 더 많이 한다는 것 외에 외형적으로 Statspack과 크게 달라진 것이 없다고 느낄 수 있습니다. 하지만 ASH는 다릅니다. 이것은 별도의 Third Party 모니터링 도구 없이 오라클 내에서 세션 레벨 실시간 모니터링을 가능케 하는 강력한 기능으로써 OWI 활용성을 극대화 해줍니다.
SQL> select * from v$sgastat where name = 'ASH buffers';
POOL NAME BYTES CON_ID
-------------- -------------------------- ---------- ----------
shared pool ASH buffers 4194304 0
오라클은 현재 접속해서 활동중인 Active 세션 정보를 1초에 한번씩 샘플링해서 ASH버퍼에 저장합니다. SGA Shared Pool에서 CPU당 2MB의 버퍼를 할당 받아 세션 정보를 기록하며, 1시간 혹은 버퍼의 2/3이 찰 때마다 디스크로 기록합니다. 즉 AWR에 저장하는 것입니다. v$active_session_history뷰를 이용해 ASH 버퍼에 저장된 세션 히스토리 정보를 조회할 수 있습니다.
select
1 sample_id,sample_time,
2 session_id,session_serial#,user_id,xid,
3 sql_id,sql_child_number,sql_plan_hash_value,
4 session_state,
5 qc_instance_id, qc_session_id,
6 blocking_session, blocking_session_serial#,blocking_session_status,
7 event,event#,seq#,wait_class,wait_time,time_waited,
8 p1text,p1,p2text,p2,p3text,p3,
9 current_obj#,current_file#,current_block#,
10 program,module,action,client_id
from v$active_session_history;
1 샘플링이 일어난 시간과 샘플 ID
2 세션정보, User명, 트랜잭션 ID
3 수행중 SQL정보
4 현재 세션의 상태 정보, 'ON CPU' 또는 'WAITING'
5 병렬 Slave 세션일때 쿼리 코디네이터 정보를 찾을 수 있게 함
6 현재 세션의 진행을 막고 있는 블로킹 세션 정보
7 현재 발생 중인 대기 이벤트 정보
8 현재 발생 중인 대기 이벤트의 파라미터 정보
9 해당 세션이 현재 참조하고 있는 오브젝트 정보. v$session뷰에 있는 row-wait_obj#,row_wait_file#,row_wait_block#컬럼을 가져온 것임
10 애플리케이션 정보
7,8번의 대기 이벤트 정보는 매우 중요하고 블로킹 세션의 정보와 현재 액세스 중인 오브젝트 정보도 매우 유용합니다.
ASH 기능을 이용하면 현재뿐 아니라 과거시점에 발생한 장애 및 성능 저하 원인까지 세션 레벨로 분석할 수 있게 도와줍니다.
오라클 10g부터는 v$active_session_history정보를 AWR 내에 보관하므로 과거치에 대한 세션 레벨 분석이 가능해졌습니다. v$active_session_history를 조회했을때 정보가 찾아지지 않는다면 이미 AWR에 쓰여진 것이므로 dba_hist_active_sess_history뷰를 조회하면 됩니다.
'스터디 > 오라클 성능고도화 원리와 해법1' 카테고리의 다른 글
04.라이브러리 캐시 최적화 원리 - 01.SQL과 옵티마이저, 02.SQL처리과정 (0) | 2020.01.09 |
---|---|
CH03.오라클 성능관리 - 10.V$SQL, 11.End-To-End 성능관리,12.데이터베이스 성능 고도화 정석 해법 (0) | 2020.01.06 |
CH03.오라클 성능관리 - 07. Response Time Analysis 방법론과 OWI 08.Statspack / AWR (0) | 2020.01.04 |
CH03.오라클 성능관리 - 05.V$SYSSTAT,06.V$SYSTEM_EVENT (0) | 2020.01.02 |
CH03.오라클 성능 관리 - 04.DBMS_XPLAN 패키지 (0) | 2020.01.01 |
댓글