Oracle 구성하는 요소의 세부적인 정보를 제공한다
data dictionary로 성능을 분석할 수 있다
성능 모델의 주요 구성 요소
STAT과 WAIT은 겹치지 않으며, SQL, SESSION은 여러 요소에 영행을 줄 수 있다
1. STAT (통계지표)
- buffer hit ratio , sort ratio, pga hit ratio , hard parsing, soft parsing
2. WAIT
- SQL 처리 시 oracle의 여러 component 에 Access 하게 된다. Access 할때 발생하는 Event는 병목이 생길 경우 wait한다.
3. SQL
- IO, wait등을 얼마나 발생시키는지 확인
4. SESSION
5. METRICS (추가적으로 만듬)
6. TIME MODEL (추가적으로 만듬)
일반적인 성능 분석 프로세스
top-down 방식으로
1. 시스템 레벨 에서 문제 확인
- CPU 100 %
- physical reads 과다 발생
2. 세션 레벨
- 어떤 세션이 read 하는 지 확인 (parallel 돌)
3. SQL 레벨
- 대량의 full scan SQL이 돌고 있다
System | Session | SQL | |
Stat | v$sysstat | v$sesstat | v$sqlstats |
Wait Event | v$system_event v$system_wait_class ( wait 정보가 많아 class단위로 묶어서 보여준다) |
v$session_event v$session_wait v$session_wait_class |
v$sql에서 sql 관련 성능정보를 다 볼 수 있지만, 동시접속을 하거나 성능문제? 로 인해 쓰는 걸 권고 하지않는
v$sysstat
user call 횟수, session logical read 횟수 등을 볼 수 있다
v$system_event로 하면 너무 많은 데이터가 나온다 (117개의 데이)
v$system_wait_class 로 Class 별로 볼 수 있다
select wait_class , sum(total_waits) from v$system_event group by wait_class ;
== select * from v$system_wait_class;
v$eventmetric , v$waitclassmetric , v$waitclassmetric_history
지표별 누적값이다
시간당 증가치를 알기 힘들다
개선이 되어 델타값을 알 수 있다
- v$system_event -> v$eventmetric (1분단위)
- v$system_wait_class -> v$waitclassmetric (1분단위) -> v$waitclassmetric_history ( 1분전과의 비교가 아닌 더 과거를 보고 싶다면 )
'DBMS > Oracle' 카테고리의 다른 글
[Oracle] Wait event - DB File Sequential Read & DB File Scattered Read (0) | 2024.04.28 |
---|---|
[Oracle] Wait Event (0) | 2024.04.19 |
[Oracle]PGA- AMM (Automatic Memory Management) (0) | 2024.04.15 |
[Oracle] PGA- Cursor란? (0) | 2024.04.15 |
[Oracle] PGA란? (0) | 2024.04.15 |