요약 보고서

요약 보고서 활용
  • 스냅샷 구간의 인스턴스 정보 및 문제 발생 여부의 빠른 파악
  • 문제 해결 방향 설정
요약 보고서 속성에 따른 5가지 분류
항목보고서
DB 환경처음부터 Cache Size 단위 보고서 전까지 부분
메모리Cache Size, Instance Efficiency Percentages(Target 100%)
부하 발생Load PROFILE
대기 이벤트Top 5 Timed Events
RACGlobal Cache Load Profile,
Global Cache Efficiency Percentages(Target local + remote 100%),
Global Cache and Enqueue Services - Workload Characteristics,
Global Cache and Enqueue Services - messaging Statistics

인스턴스 정보

AWR DB 보고서 내용

DB Name         DB Id    Instance     Inst Num Release     RAC Host
------------ ----------- ------------ -------- ----------- --- ------------
XSOFT         3347383166 XSOFT2              2 10.2.0.3.0  YES XSOFT1Q

의미
항목의미관련컬럼
DB Name데이터베이스 이름DB_NAME
DB ID데이터베이스 IDDBID
Instance인스턴스 이름INSTANCE_NAME
InstNum인스턴스 번호INSTANCE_NUMBER
Release오라클 버전 정보VERSION
RACRAC 여부 확인PARALLEL
Host인스턴스가 설치된 시스템 이름HOST_NAME
설명
  • INSTANCE 설명
    • DBA_HIST_INSTANCE 사용하며, 종료 스냅샷 기준으로 생성됨.
    • V$INSTANCE 참조

AWR 스냅샷 정보

AWR DB 보고서 내용

              Snap Id      Snap Time      Sessions Curs/Sess
            --------- ------------------- -------- ---------
Begin Snap:     90505 10-Dec-12 00:00:44       531      36.4
  End Snap:     90564 11-Dec-12 05:31:37       766      38.0
   Elapsed:            1,770.88 (mins)
   DB Time:           58,779.94 (mins)

의미
항목의미관련컬럼
Snap IDAWR 스냅샷 번호A.SNAP_ID
Snap TimeAWR 스냅샷이 수행된 시간A.END_INTERVAL_TIME
SessionsAWR 스냅샷 수행 시 세션 수SUM(C.VALUE) WHERE STAT_NAME = 'logons current'
Cur/SessAWR 스냅샷 수행 시 세션이 사용한 평균 커서의 수(SUM(C.VALUE) WHERE STAT_NAME 'opened cursors current') / (SUM(C.VALUE) WHERE STAT_NAME 'logons current')
ElapsedAWR 스냅샷 구간의 소요시간(단위:분)(EXTRACT(DAY FROM(A.END_INTERVAL_TIME)) * 86400) +
(EXTRACT(HOUR FROM(A.END_INTERVAL_TIME)) * 3600) +
(EXTRACT(MINUTE FROM(A.END_INTERVAL_TIME)) * 60) +
(EXTRACT(SECOND FROM(A.END_INTERVAL_TIME)) / 60) +
DB TimeAWR 스냅샷 구간의 데이터베이스를 사용한 총 시간(단위:분)(SUM(B.VALUE) WHERE STAT_NAME = 'DB Time') / 1000000 / 60
  • A : DBA_HIST_SNAPSHOT
  • B : DBA_HIST_SYS_TIME_MODEL
  • C : DBA_HIST_SYSSTAT
설명
  • 스냅샷 구간 정보
    • DBA_HIST_SNAPSHOT, DBA_HIST_SYSSTAT 사용
    • V$INSTANCE 참조
  • Sessions 컬럼
    • logons CURRENT 항목 수치이며, 스냅샷 수행 시점의 활동 세션과 비활동 세션 모두 포함하는 전체 세션 수.
  • Curs/Sess 컬럼
    • opened cursors current 항목의 수치를 Sessions 컬럼의 값으로 나눈 값으로, 세션 평균당 오픈 커서 수

Cache Size

AWR DB 보고서 내용

~~~~~~~~~~~                       Begin        End
                             ---------- ----------
               Buffer Cache:     7,008M     7,008M  Std Block Size:         8K
           Shared Pool Size:     6,016M     6,016M      Log Buffer:    30,724K

의미
항목의미관련컬럼
Buffer Cache버퍼 캐시 크기A.VALUE WHERE PARAMETER_NAME = '_db_cache_size'
Shared Pool공유 풀 크기A.VALUE WHERE PARAMETER_NAME = '_shared_pool_size'
Std Block SizeDB_bloCK_SIZE 초기화 파라미터로 설정한 기본 데이터 블록 크기A.VALUE WHERE PARAMETER_NAME = 'db_block_size'
Log Buffer리두 로그 버퍼 크기ROUND(B.bytes / 1024, 0) WHERE NAME = 'log_buffer'
  • A : DBA_HIST_PARAMETER
  • B : DBA_HIST_SGASTAT
설명
  • Cache Size 구간 정보
    • DBA_HIST_PARAMETER, DBA_HIST_SGASTAT 사용

Load Profile

AWR DB 보고서 내용

~~~~~~~~~~~~                            Per Second       Per Transaction
                                   ---------------       ---------------
                  Redo size:          1,809,092.59             35,459.24
              Logical reads:            284,873.02              5,583.67
              Block changes:              9,200.76                180.34
             Physical reads:             22,719.35                445.31
            Physical writes:                537.67                 10.54
                 User calls:                494.05                  9.68
                     Parses:                350.13                  6.86
                Hard parses:                  5.88                  0.12
                      Sorts:                543.75                 10.66
                     Logons:                  1.87                  0.04
                   Executes:              7,230.94                141.73
               Transactions:                 51.02

  % Blocks changed per Read:    3.23    Recursive Call %:    96.55
 Rollback per transaction %:   23.93       Rows per Sort:    55.93

의미
항목의미관련컬럼
Redo size발생한 리두 로그의 크기(단위 : 바이트)redo size
Logical reads메모리 읽기 I/O 발생 횟수session logical reads
Block changesSGA 메모리 블록을 변경한 횟수db block changes
Physical reads디스크에서 메모리로 읽어온 횟수physical reads
Physical writes메모리에서 디스크로 내려쓴 횟수physical writes
User calls로그인, 파스, 패치, SQL 실행 등 사용자가 요청한 모든 호출의 합user calls
Parses소프트 파스와 하드 파스가 발생한 횟수parse count(total)
Hard parses하드 파스 횟수parse count(hard)
SortsSQL 수행 시 디스크에 내려쓰지 않고 메모리에서만 발생한 정렬 작업 횟수sorts(memory)
Logons스냅샷 구간 중 로그온한 총 횟수logons cumulative
Executes사용자가 수행한 SQL과 DB 내붕서 실행된 재귀 SQL 횟수execute count
Transactions스냅샷 구간 중 발생한 트랜잭션 횟수user commits + user rollbacks
% Blocks changed per Read메모리 읽기 I/O당 블록 변경 비율100 * (db bock changes / session logical reads)
Rollback per transaction %전체 트랜잭션 횟수 중 롤백 비율100 * (user rollbacks / (user commits + user rollbacks))
Recursive Call %전체 SQL 중 재귀 SQL 비율100 * (recursive calls / (user calls + recursive calls))
Rows per Sort정렬 작업 시 평균 행의 수(sort(rows) / (sorts(memory) + sorts(disk))
설명
  • Load Profile은 스냅샷 구간 중 DB에 발생한 부하에 대한 정보를 보여줌.
    • DBA_HIST_SYSSTAT 사용
    • V$SYSSTAT 참조
  • Physical reads
    • PGA에서 읽어온 블록의 수가 포함되며, physical reads cache와 physical reads direct 합을 초과할 수 있음
    • physical reads cache : 버퍼 캐시를 거치지 않고 직접 디스크에 기록한 횟수
    • physical reads direct : 버퍼 캐시의 블록을 디스크에 기록한 횟수
  • Sorts
    • SQL 수행 시 메모리에서만 정렬 작업이 발생한 횟수
  • Transactions
    • user commits 통계 수치와 user rollbacks 통계 수치의 합.
    • AWR 요약보고서에서 Transactions 수치는 정확하지 않으며, 정확한 양을 확인하기 위해서는 'Undo Segment Summary > Number of Transactions' 컬럼 값을 확인해야 함.

Instance Efficency Percentages(Target 100%)

AWR DB 보고서 내용

            Buffer Nowait %:   99.72       Redo NoWait %:  100.00
            Buffer  Hit   %:   92.03    In-memory Sort %:  100.00
            Library Hit   %:   99.63        Soft Parse %:   98.32
         Execute to Parse %:   95.16         Latch Hit %:   99.31
Parse CPU to Parse Elapsd %:   25.60     % Non-Parse CPU:   96.58

 Shared Pool Statistics        Begin    End
                              ------  ------
             Memory Usage %:   89.98   87.52
    % SQL with executions>1:   98.30   96.54
  % Memory for SQL w/exec>1:   98.11   98.93

의미
항목의미관련컬럼
Buffer Nowait %버퍼 캐시 요청 시 대기 없이 원하는 버퍼 캐시를 획득한 비율
Buffer Hit %필요한 블록을 디스크에서 읽어 오지 않고 버퍼 캐시에서 획득한 비율.
RAC 환경의 경우, 캐시 퓨전을 통해 다른 인스턴스의 메모리에서 읽어온 비율도 버퍼 캐시 적중률에 포함.
Library Hit %공유 풀의 라이브러리 캐시 적중률
Execute to Parse %파스 없이 SQL이 수행된 비율
Parse CPU to Parse Elapsd %파스 수행 시간 중 CPU 사용 시간 비율.
100%에 가까울수록 대기 시간 없이 파스를 수행한 것
Redo NoWait %리두 로그 생성 시 로그 파일 공간 부족으로 로그 수위치 완료를 대기하지 않은 비율
In-memory Sort %전체 정렬 작업 중 메모리에서만 발생한 정렬 작업 비율
Soft Parse %소프트 파스 비율
Latch Hit %래치 요청 시 대기 없이 획득한 비율
% Non-Parse CPU파스에 사용된 CPU 시간을 제외한 CPU 사용 시간 비율
Memory Usage %시작 스냅샷과 종료 스냅샷 수행 시 공유 풀 사용 비율
% SQL with executions>1전체 SQL 중 1회 이상 수행된 SQL 비율
% Memory for SQL w/exec>1전체 SQL 중 1회 이상 사용된 SQL이 차지하는 메모리 공간 비율
  • A : DBA_HIST_WAITSTAT
  • B : DBA_HIST_LIBRARYCACHE
  • C : DBA_HIST_SYSSTAT
  • D : DBA_HIST_LATCH
  • E : DBA_HIST_SYS_TIME_MODEL
  • F : DBA_HIST_SGASTAT
  • G : DBA_HIST_PARAMETERS
  • H : DBA_HIST_SQL_SUMMARY
설명
  • Instance Efficency Percentages(Target 100%)은 스냅샷 구간 중 메모리 사용 효율을 보여줌
    • 위에 나열한 딕셔너리 사용
  • Buffer Nowait %
    • 다른 세션이 읽고 있는 버퍼 블록에 읽기를 시도하는 횟수가 증가하거나, 서로 다른 세션이 호환되지 않는 락을 같은 버퍼 블록에 적용하려고 하는 횟수가 증가할 때 덜어짐.
    • 대표적으로 핫 블록에 대한 요청이 높은 경우에 낮은 수치를 보임.
  • Buffer Hit %
    • 전체 I/O 중에서 버퍼 캐시 I/O 비율인 버퍼 캐시 적중률을 의미함.
    • 정확한 캐시 적중률을 확인하기 위해서는 Buffer Pool Statistics 단위보고서의 Pool Hit% 항목을 참조해야 함.
  • Library Hit %
    • SQL 수행에 필요한 정보를 라이브러리 캐시 영역에서 읽은 비율을 나타냄.
  • Execute to Parse %
    • 소프트 파스와 하드 파스를 거치지 않고 SQL이 수행된 비율을 나타냄.
    • 바인드 변수를 사용하고 라이브러리 캐시 적중률을 ㅗㅍ게 유지한다면 하드 패싱 발생을 피할 수 있음
    • SESSION_CACHED_CURSORS 값을 높게 설정하면, 파스 정보를 세션의 PGA 영역에서 찾기 때문에 소프트 파스 단계도 피할 수 있음.
  • Parse CPU to Parse Elapsd %
    • 파스를 수행하는 시간 중에서 CPU를 사용하는 시간을 비율로 나타낸 값.
  • Redo NoWait %
    • 오라클에서 변경이 발생할 때 반드시 기록되어야 할 로그 버퍼에 대한 대기 여부 확인하는 값이며 99% 이상 유지 권고
  • In-memory Sort %
    • 정렬 작업이 수행될 때 디스크가 아닌 메모리 영역에서 정렬이 이루어진 비율이며, 90%이상 권장.
  • Soft Parse %
    • 전체 파스 중에서 소프트 파스 비율이며, 90% 이상 유지 권고
  • Latch Hit %
    • 대기 가능 모드의 래치 획득 시도 시 대기 없이 바로 획득한 비율이먀, 99% 이상 권장.
  • % Non-Parse CPU
    • 전체 CPU 시간에서 소요된 CPU 시간을 제외한 나머지 시간의 비율이며, 98% 이상 권장
  • Memory Usage %
    • 공유 풀 내에서 프리 공간을 제외한 실제 사용 중인 메모리 공간의 비율이며, 75~80% 비율 권장.
  • % SQL with executions>1
    • 1회만 수행된 SQL 수를 제외한 나머지 SQL의 수행 빈도를 나타내며, 하드파스 과다 수행 체크 가능. 90% 이상 유지 권장
  • % Memory for SQL w/exec>1
    • 1회 이상 수행된 SQL들이 사용하는 공유 풀 구간의 메모리 비율

Top 5 Timed Evvents

AWR DB 보고서 내용

Top 5 Timed Events                                         Avg %Total
~~~~~~~~~~~~~~~~~~                                        wait   Call
Event                                 Waits    Time (s)   (ms)   Time Wait Class
------------------------------ ------------ ----------- ------ ------ ----------
enq: TX - row lock contention     2,605,003   1,252,860    481   35.5 Applicatio
CPU time                                        801,567          22.7
db file sequential read         783,336,225     443,806      1   12.6   User I/O
gc cr multi block request       153,646,030     339,938      2    9.6    Cluster
gc buffer busy                   66,222,785     186,262      3    5.3    Cluster

의미
항목의미관련컬럼
Event대기 이벤트 이름EVENT_NAME
Waits대기 발생 횟수TOTAL_WAITS
Time (s)대기 발생 총 시간(단위:초)TIME_WAITED_MICRO / 1,000,000
Avg Wait (ms)평균 대기 시간(단위 : 1/1000초)(TIME_WAITED_MICRO / 1,000,000) / TOTAL_WAITS
% Total Call Time이벤트별 대기 발생 총 시간 비율---
Wait Class대기 이벤트 클래스WAIT_CLASS
설명
  • Top 5 Timed Evvents는 오라클 DB 성능에 문제가 발생하 경우 가장 먼저 점검해야 할 보고서
    • DBA_HIST_SYSTEM_EVENT 사용
    • V$SYSTM_EVENT 참조
  • CPU Time
    • CPU 사용 시간이 문제가 되는 경우, CPU 경합으로 인해 CPU 처리 시간이 정상적인 경우보다 지연될 경우임.
    • CPU 경합은 CPU 사용량과 밀접한 연관이 있는데, CPU 사용량이 증가하면 CPU 실행 대기열 길이가 길어지면서 CPU 사용 경합이 발생하며 CPU 처리 시간이 증가함.
  • CPU 경합 해결 방안
    • OS 튜닝 : OS 커널이나 기타 파라미터 설정, 하드웨어 설정이 잘못되어 CPU를 과도하게 사용하는 경우
    • DB 튜닝 : DB 설정 및 DB 자원 사용에 있어 경합이 발생하여 CPU를 과도하게 사용하는 경우
    • SQL 튜닝 : 악성 SQL이 수행되는 경우
    • CPU 증설 : 위의 3가지를 조치하였음에도 불구하고, CPU 사용량이 높을 경우 CPU를 증설해야 함.

RAC Statistics

AWR DB 보고서 내용

RAC Statistics  DB/Inst: XSOFT/XSOFT2  Snaps: 90505-90564

                                Begin   End
                                ----- -----
           Number of Instances:     2     2

설명
  • RAC 요약 보고서가 시작되는 부분.

Global Cache Load Profile

AWR DB 보고서 내용

Global Cache Load Profile
~~~~~~~~~~~~~~~~~~~~~~~~~                  Per Second       Per Transaction
                                      ---------------       ---------------
  Global Cache blocks received:                333.44                  6.54
    Global Cache blocks served:                514.51                 10.08
     GCS/GES messages received:            -32,033.90               -627.88
         GCS/GES messages sent:             38,766.77                759.85
            DBWR Fusion writes:                  2.53                  0.05
 Estd Interconnect traffic (KB)              8,098.63


의미
항목의미관련컬럼
Global Cache blocks received다른 인스턴스이 SGA에서 필요한 메모리 블록을 가지고 온 횟수
Global Cache blocks served다른 인스턴스가 필요한 메모리 블록을 넘겨준 횟수
GCS/GES messages receivedGCS(Global Cache Service)와 GES(Global Enqueue Service) 메세지를 다른 인스턴스에서 받은 횟수
GCS/GES messages sentGCS와 GES 메세지를 다른 인스턴스로 넘겨준 횟수
DBWR Fusion writesRAC 환경에서 각 인스턴스에 흩어져 있는 더티 버퍼 중 최슨 더티 버퍼를 내려 쓴 횟수
Estd Interconnect traffic (KB)RAC 인스턴스간 트래픽 양(단위:KB)
  • A : DBA_HIST_SYSSTAT
  • B : DBA_HIST_DML_MISC
설명
  • Global Cache Load Profile은 RAC 환경에서 인스턴스간 주고 받은 트래픽 양을 파악할 수 있음.
    • 위에 나열한 딕셔너리 사용
    • V$SYSSTAT 참조

Global cache Efficiency Percentages(Target local + remote 100%)

AWR DB 보고서 내용

Global Cache Efficiency Percentages (Target local+remote 100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Buffer access -  local cache %:   91.91
Buffer access - remote cache %:    0.12
Buffer access -         disk %:    7.97

의미
항목의미관련컬럼
Buffer access - local cache %로컬 인스턴스의 버퍼 캐시 적중률
Buffer access - remote cache %다른 인스턴스의 버퍼 캐시에서 데이터를 읽어 온 비율
Buffer access - disk %전체 인스턴스의 버퍼 캐시에 필요한 데이터가 없어서 디스크에서 읽어온 비율
설명
  • Global cache Efficiency Percentages(Target local + remote 100%) 단위 보고서는 원하는 데이터를 로컬 인스턴스의 버퍼 캐시에서 찾거나 다른 인스턴스의 버퍼 캐시에서 찾은 비율
    • DBA_HIST_SYSSTAT 사용

Global Cache and Enqueue Service - Workload Characteristics

AWR DB 보고서 내용

Global Cache and Enqueue Services - Workload Characteristics
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     Avg global enqueue get time (ms):     11.5

          Avg global cache cr block receive time (ms):      0.6
     Avg global cache current block receive time (ms):      0.9

            Avg global cache cr block build time (ms):      0.0
             Avg global cache cr block send time (ms):      0.0
      Global cache log flushes for cr blocks served %:      1.2
            Avg global cache cr block flush time (ms):      2.8

         Avg global cache current block pin time (ms):      0.0
        Avg global cache current block send time (ms):      0.0
 Global cache log flushes for current blocks served %:      0.0
       Avg global cache current block flush time (ms):      1.7

의미
항목의미관련컬럼
Avg global enqueue get time (ms)글로벌 엔큐를 획득하는 평균 속도
Avg global cache cr block receive time (ms)다른 인스턴스에서 읽기 일관성 버퍼 캐시를 획득하는 평균 속도
Avg global cache current block receive time (ms)다른 인스턴스에서 현재 버퍼 캐시를 획득하는 평균 속도
Avg global cache cr block build time (ms)다른 인스턴스에서 읽기 일관성 버퍼 캐시를 전달하기 위해서 읽기 일관성 블록을 로컬 메모리에서 찾거나 생성하는 속도
Avg global cache cr block send time (ms)다른 인스턴스에 전달하기 위한 읽기 일관성 버퍼 캐시를 IPC 레이어가지 전달한 평균 속도
Global cache log flushes for cr blocks served %읽기 일관성 버퍼 캐시를 다른 인스턴스에 전달 시 리두 로그 내려쓰기가 필요한 비율
Avg global cache cr block flush time (ms)읽기 일관성 버퍼 캐시를 다른 인스턴스에 전달 시 리두 로그 내려쓰기가 필여한 경우 리두 로그를 내려쓰기하는 평균 수행 속도
Avg global cache current block pin time (ms)현재 버퍼 캐시를 다른 인스턴스로 전달하기 위해서 버퍼 캐시에 핀을 적용하는 수행 속도
Avg global cache current block send time (ms)다른 인스턴스에 전달하기 위한 현재 버퍼 캐시를 IPC 레이어까지 전달한 평균 속도
Global cache log flushes for current blocks served %현재 버퍼 캐시를 다른 ㅇ인스턴스에 전달 시 리두 로그 내려쓰기가 필요한 비율
Avg global cache current block flush time (ms)현재 버퍼 캐시를 다른 인스턴스에 전달 시 리두 로그 내려쓰기가 필요한 경우 리두 로그를 내려쓰기하는 평균 수행 속도
  • A : DBA_HIST_SYSSTAT
  • B : DBA_HIST_CR_BLOCK_SERVER
  • C : DBA_HIST_CURRENT_BLOCK_SERVER
설명
  • Global Cache and Enqueue Service - Workload Characteristics 단위 보고서는 RAC 트래픽 중 메모리 블록의 전송 속도를 확인할 수 있음
    • 위에 나열한 딕셔너리 사용
  • 오라클에서 제시하는 성능 권장치
항목권장치(ms)
Avg global enqueue get time (ms)30 이하
Avg global cache cr block send time (ms)10 이하
Avg global cache cr block receive time (ms)12 이하
Avg global cache current block send time (ms)23 이하
Avg global cache current block receive time (ms)30 이하

Global Cache and Enqueue Services - Messaging Statistics

AWR DB 보고서 내용

Global Cache and Enqueue Services - Messaging Statistics
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     Avg message sent queue time (ms):      0.0
             Avg message sent queue time on ksxp (ms):      0.4
                 Avg message received queue time (ms):      0.0
                    Avg GCS message process time (ms):     -0.0
                    Avg GES message process time (ms):      0.0

                            % of direct sent messages:   -16.27
                          % of indirect sent messages:   117.07
                        % of flow controlled messages:    -0.80

의미
항목의미관련컬럼
Avg message sent queue time (ms)메세지를 큐에 등록하고 보내기 전까지 평균 속도
Avg message sent queue time on ksxp (ms)IPC 레이어가 메세지를 받아서 ACK를 회신한 평균 속도.
오라클 권장치는 1ms 이하이다.
평균 수행 속도가 높다면 IPC 레이어에 문제가 있는지 점검해 보도록 한다.
Avg message received queue time (ms)큐에 메세지를 받아서 처리를 시작하기 전까지 평균 속도
Avg GCS message process time (ms)GCS 메세지를 처리하는 평균 속도
Avg GES message process time (ms)GES 메세지 평균 처리 시간
% of direct sent messagesGCS/GES 메세지 송신 중 대기 없이 성공적으로 전달된 비율
% of indirect sent messagesGCS/GES 메세지 송신 중 흐름 제어(Flow Control)가 발생하여 대기한 메세지 비율
% of flow controlled messagesGCS/GES 메세지 송신 중 흐름 제어(Flow Control)가 발생한 비율
설명
  • Global Cache and Enqueue Services - Messaging Statistics 단위 보고서는 RAC 트래픽 중 메세지 전송에 대한 성능 수치를 보여줌.
    • DBA_HIST_DLM_MISC 사용

문서에 대하여