총 메모리 크기 조정(MEMORY_TARGET)

MEMORY_TARGET은 SGA와 PGA를 모두 포함하여 Oracle 시스템 전체에서 사용 가능한 메모리를 지정합니다. Oracle 데이터베이스 릴리스 11g 이전에는 SGA와 PGA를 별도로 조정해야 했습니다.

Oracle 10g에서 11g로 데이터베이스를 업그레이드한 경우 Oracle 10g 데이터베이스의 SGA_TARGET 및 PGA_AGGREGATE_TARGET을 추가하면 MEMORY_TARGET을 간단하게 확인할 수 있습니다.

Oracle 9i에서 11g로 데이터베이스를 업그레이드한 경우 DB_CACHE_SIZE, SHARED_POOL_SIZE, LARGE_POOL_SIZE, JAVA_POOL_SIZE 등의 모든 SGA 구성요소와 PGA_AGGREGATE_TARGET을 추가하면 MEMORY_TARGET을 확인할 수 있습니다.

이전 버전에서 데이터베이스를 업그레이드하지 않았으며 내역 참조가 없는 경우 시스템 리소스 및 시스템 제한에 따라 처음에 이 매개변수를 1-3GB로 설정하는 것이 좋습니다. 이 매개변수를 데이터베이스를 사용 중입니다 잠시 동안 후에는 다음과 같이 조정할 수 있습니다. 이 조정은 위의 두 업그레이드 시나리오에도 적용됩니다.

SQL> select * from v$memory_target_advice order by memory_size;
MEMORY_SIZE MEMORY_SIZE_FACTOR ESTD_DB_TIME ESTD_DB_TIME_FACTOR VERSION
180 .5 458 1.344 0
270 .75 367 1.0761 0
360 1 341 1 0
450 1.25 335 .9817 0
540 1.5 335 .9817 0
630 1.75 335 .9817 0
720 2 335 .9817 0

MEMORY_SIZE_FACTOR가 1인 행은 MEMORY_TARGET 초기화 매개변수로 설정된 현재 메모리 크기와 현재 워크로드를 완료하는 데 필요한 DB 시간을 표시합니다. 이전 및 이후 행의 결과는 많은 대체 MEMORY_TARGET 크기를 보여 줍니다. 각 대체 크기에 대해 데이터베이스는 크기 요소(현재 크기의 배수) 및 MEMORY_TARGET 매개변수가 대체 크기로 변경될 경우 현재 워크로드를 완료하는 예상 DB 시간을 보여 줍니다. 총 메모리 크기가 현재 MEMORY_TARGET 크기(이 예에서는 360)보다 작은 경우 예상 DB 시간(ESTD_DB_TIME)이 증가합니다. 또한 이 예에서 총 메모리 크기를 450MB 이상 늘릴 경우 ESTD_DB_TIME 값이 감소하지 않으므로 얻어지는 이득이 없습니다. 따라서 이 예에서 제안된 MEMORY_TARGET 크기는 450 지정됩니다.