로그 버퍼 (log buffer) 튜닝
작성자 관리자 작성시간 2016-02-09 23:32:51
 

1. V$SESSION_WAIT 자료사전을 참조하면 이 영역에 대한 튜닝 여부를 확인할 수 있다.

SQL> SELECT sid, event, second_in_wait, state
        FROM v$session_wait
        WHERE event = 'log buffer space%' ;

SID    EVENT                      SECONT_IN_WAIT        STATE
-----------------------------------------------------------
5      log buffer space                  110                      WAIT
                                <- STATE 컬럼을 확인
SECOND_IN_WAITS 칼럼 값이 계속 증가되는 값을 나타내고 STATE 컬럼이 "WAITING"을 나타내면 로그 버퍼 영역이 작아서 서로 프로세스 간에 경합이 발생하고 있음을 의미한다.

2. v$sysstat 자료사전에서 서버 프로세스가 로그 정보를 저장했던 로그 버퍼의 블록수(REDO ENTRIES)와 로그 버퍼의 경합으로 인해 발생한 대기 상태에서 다시 로그 버퍼 공간을 할당받았던 블록 수(REDO BUFFER ALLOCATION ENTRIES)를 확인 할 수 있다.

REDO BUFFER ALLOCATION RETRIES의 값이 0 이어야 하고
REDO ENTRIES 값이 1% 미만일 때 로그 버퍼 영역에 대한 좋은 성능을 기대할 수 있다.

SQL> SELECT name, value
        FROM v$sysstat
        WHERE name IN ( 'redo buffer allocation retries', 'redo entries' );

NAME                                                          VALUE
----------------------------------------------------------
  redo entries                                                  2015
  redo buffer allocation retries                            12    <= 비율이 1% 미만이면 성능에 문제가 없음.

만약 기준치에 적합하지 않은 결과가 나오면
LOG_BUFFER 값을 늘려준다.


목록 | 입력 | 수정 | 답변 | 삭제