Q & A

Re: [q] shared pool size

Date2002.07.22 / Hit : 15798
[q] shared pool size
v$sgastat의 정보를 보면 아시겠지만 오라클에서 정의하고 있는 shared pool은 크게 dynamic하게 관리되는 영역과 permanent memory 영역으로 구성됩니다. 초기화 파라미터 shared_pool_size는 이 가운데 dynamic하게 할당/해제하는데 사용되는 메모리의 크기를 지정하는 기능을 합니다. permanent memory는 process, session, transaction, enqueue lock, buffer cache header 등 다양한 배열 및 구조체를 위해 할당된 메모리 영역이며 이 크기는 각각에 관련된 초기화 파라미터에 의해 결정되어 인스턴스 기동후 거의 변경이 없습니다. (초기화 파라미터 processes 크기보다 많은 프로세스가 기동되려구 하면 에러가 나는 것은 프로세스 관리를 위한 Array크기가 processes 값으로 고정되어 있기 때문이지요.) dynamic memory 영역은 대표적으로 SQL Area, Library Cache 등으로 구성되는데 shared_pool_size에 의해 지정된 메모리 크기 내에서 SQL수행을 위해 필요한 각종 오브젝트 정의나 SQL 커서 정보등을 저장하기 위한 영역을 할당, 해제하는 작업을 반복하면서 사용하게 됩니다. 도움이 되시기를 바랍니다.

---------- Original Message ----------
이름 : 허종필 제목 : [q] shared pool size 안녕하십니까? sga 모니터링을 하다보니 제가 알고 있는 shared pool size 는 init.ora 에 설정된 것으로 SELECT NAME,VALUE FROM v$parameter WHERE NAME='shared_pool_size'로 보는 것으로 알고 있었는데요, 오렌지로 모니터링 된것을 보니 사이즈가 더 크게 나오더군요 (약 23MB정도) 나름대로 찾아보니, 다음과 같이 v$sgastat에서 값을 찾아오는것 같습니다. SELECT sum(bytes)/1024/1024 "Shared pool size(MB)" FROM v$sgastat where POOL = 'shared pool' 어떤것이 맞는 것인지요? shared pool 은 init.ora 에서 고정해주는 것 아닙니까? 만일 달라지는것이 맞다면, 다른 sga 의 값 중 변경되는 것(init.ora에 명기한 것중)은 어떤것들이 있는지 알고 싶습니다.
  • 대표전화
    1660-1675

  • 기술 문의
    02-6931-1734

  • 오렌지 문의
    070-8666-8175

  • 라이선스 문의
    02-6931-1728