주식회사 누리아이티

정보자산의 보안강화를 위한 다계층 인증SW (BaroPAM) 전문기업.

▶ Tuxedo/오류 메시지(Oracle)

Oracle 성능애 영향을 미치는 것들-DB_BLOCK_BUFFERS

누리아이티 2017. 12. 21. 08:19

 

이 파라미터는 모든 버젼의 오라클에서 사용되며, Oracle block 크기를 단위로 지정하게 됩니다. 이 값은 사용자가 요청하는 데이터를, 메모리 영역에 저장해 둘 수 있는 공간의 크기를 지정하므로 튜닝시 매우 중요한 역할을 합니다.

 

db_block_buffers 값은 SGA 캐쉬 영역에 존재하는 버퍼의 갯수를 지정 하는데 사용되며, 적절한 캐쉬 크기는 실제 디스크 I/O를 줄이는데 도움이 됩니다.

 

캐쉬 영역이 적절하게 지정되어 있는지 여부는 buffer cache hit ratio로 측정 가능하며, 일반적으로 90% 이상의 값을 유지하도록 하는 것이 바람직합니다.

 

buffer cache hit ratio는 다음 SQL을 사용하여 조회 가능합니다.

 

SELECT ROUND(((1-(SUM(DECODE(name, 'physical reads', value,0))/

       (SUM(DECODE(name, 'db block gets', value,0))+

       (SUM(DECODE(name, 'consistent gets', value, 0))))))*100),2) || '%' "Buffer Cache Hit Ratio"

FROM V$SYSSTAT;

 

실행 결과는 다음과 같은 형식으로 나타나게 됩니다.

 

Buffer Cache Hit Ratio

--------------------------------------------------------------------------------

65.29%

 

만약 hit ratio 90% 미만이라면, hit ratio 90% 이상을 유지할 정도로 buffer cache의 크기를 늘려주는 것이 바람직합니다.

이 값이 작을 경우 사용된 데이터가, 다른 데이터를 처리할 메모리 영역을 확보시키기 위해 메모리에서 삭제된 후, 다시 해당 데이터가 요청될 경우 충분한 cache를 확보하였을 때 피할 수 있는 물리 I/O 가 발생하게 됩니다.

 

그러나 만약 이 값을 가용한 메모리 크기에 비해 너무 크게 지정할 경우에는 OS 에서 swapping이 발생하게 되어 시스템이 hang 상태까지 갈 수 있습니다.