db_buffer_cache size 증가 관련 질문이요 0 1 2,337

by 골커 [2016.09.27 11:42:20]


db 점검중 buffer cache의 hit율이 낮아 buffer cache의 크기를 증가시켜 주려고 합니다.

오라클은 11g 사용중인데 sga에서 buffer cache의 크기가 자동 할당으로 알고 있는데,

db_block_buffers 파라미터를 조회하면 0으로 나옵니다.

show sga 했을때 조회 화면은 아래와 같습니다.

Total System Global Area                  1603411968 bytes                             
Fixed Size                                      2253608 bytes               
Variable Size                                  973081816 bytes               
Database Buffers                             603979776 bytes               
Redo Buffers                                  24096768 bytes    

spfile 사용하고 있고요, dynamic 으로 변경 해줘야 할 것 같은데, db_cache_size변경 해주는게 맞나요?

크기는 얼마정도로 변경하면 괜찮을지 여쭤봅니다. buffer cache hit율은 현재 55% 정도 입니다.

alter system set db_cache_size = 크기 이것만 변경해주면 되는지 질문드립니다.

 

by 탱 [2016.09.27 12:29:04]

sga_target을 설정하고 자동메모리 관리 방식인 경우에는 DB_CACHE_SIZE를 증가 시킬 경우 LIBRARY_CACHE_SIZE가 감소하여 LIBRARY CACHE 히트율이 감소하고 ora-4031 에러또는 LIBRARY CACHE 관련 에러가 발생할 것으로 예상됩니다.

자동 메모리 관리 방식이 아닌경우에는 sga_target=0으로 설정 후 physical memory의 25~50%를 총 sga크기로 잡습니다. 그리고 SGA의 80~90% 정도를 DB_CACHE_SIZE로 잡으며 10%정도를 LIBRARY_CACHE_SIZE로 잡습니다.

DB_CACHE 히트율이 낮다고 무조건 메모리 사이즈를 늘리는 것보다는 튜닝을 하는 것을 권장드립니다.  

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입