by wooks [설치/설정] memory_max_target memory_target [2018.03.20 18:03:21]
오라클 문서를 보면
MEMORY_TARGET specifies the Oracle system-wide usable memory.
The database tunes memory to the MEMORY_TARGET value, reducing or enlarging the SGA and PGA as needed.
In a text-based initialization parameter file, if you omit MEMORY_MAX_TARGET and include a value for MEMORY_TARGET,
then the database automatically sets MEMORY_MAX_TARGET to the value of MEMORY_TARGET.
If you omit the line for MEMORY_TARGET and include a value for MEMORY_MAX_TARGET,
the MEMORY_TARGET parameter defaults to zero. After startup,
you can then dynamically change MEMORY_TARGET to a nonzero value, provided that it does not exceed the value of MEMORY_MAX_TARGET.
위와 같이 나와 있습니다.
요약해보면,
1. MEMORY_MAX_TARGET을 0 으로 지정 하고, MEMORY_TARGET을 1GB 로 지정 시
MEMORY_MAX_TARGET은 자동으로 MEMORY_TARGET 값으로 지정이 된다.
2. MEMORY_MAX_TARGET을 5GB 로 지정 하고, MEMORY_TARGET을 0으로 지정 시
MEMORY_TARGET은 MEMORY_MAX_TARGET을 넘을 수 없으며, 그 한계 안에서 유동적으로 변경이 된다.
인데.. 2번 항목에서 궁금증이 있습니다.
저기서 말하는 유동적인 변경이 가능하다는 뜻이 5기가 까지 자동으로 메모리 사용량이 오른다는 것인지,
아니면 5기가가 넘지 않는 용량에서 작업자가 수동(alter)으로 변경을 해야한다는 것인지 모르겠습니다.
또한 MEMORY_MAX_TARGET을 5기가 MEMORY_TARGET을 2기가로 설정 했다고 하면,
MEMORY는 2기가까지만 사용할 수 있다는 소리인 것인지, 아니면 기본 2기가로 설정이 되고, OVER 시에 자동으로 5기가 까지 변동이 된다는 뜻인지 알고 싶습니다.
(프로그램 상 자동으로 증가하는 것인지, 관리자가 직접 재설정을 해줘야 하는 것인지)