TECH
QUESTION
자주하는 질문답변 입니다.
Oracle
작성자 | 유건데이타 | 등록일 | 2015-10-08 |
제목 | 11g> MEMORY_TARGET | ||
---|---|---|---|
MEMORY_TARGET
================ Oracle 11g에서 AMM(Automatic Memory Management) 기능을 활성화 하는 경우에 memory_target 파라미터로 SGA, PGA가 사용할 최대 메모리 사이즈를 지정하게 되는데, AMM은 posix 기반의 공유메모리를 사용하는 여타 프로그램과 마찬가지로 /dev/shm 파일시스템을 사용하게 된다. MEMORY_TARGET은 오라클의 시스템 전역 가용 메모리를 정의한다. 데이터베이스는 SGA와 PGA를 늘였다 줄였다 하면서 MEMORY_TARGET값에 맞게 메모리를 조절한다. 만약 MEMORY_MAX_TARGET을 설정하지 않고 MEMORY_TARGET을 설정했다면, 데이터베이스는 자동으로 MEMORY_MAX_TARGET값을 MEMORY_TARGET 값으로 설정한다. 반대의 경우라면, MEMORY_TARGET은 0으로 설정되고 DB가 기동된 이후에 유동적으로 MEMORY_TARGET값을 변경할 수 있으며, 그 값은 MEMORY_MAX_TARGET 을 넘어선 안 된다. !!!!!!!!!!!!!!!!!! LOCK_SGA가 세팅되어 있을 경우 memory_target과 memory_max_target파라미터는 따로 지정할 수 없다. * AMM Configuration ====================== MEMORY_TARGET = SGA_TARGET + GREATEST(PGA_AGGREGATE_TARGET, "maximum PGA allocated") - 밑의 쿼리들을 참조해서 memory_target값 설정 COLUMN name FORMAT A30 COLUMN value FORMAT A10 SELECT name, value FROM v$parameter WHERE name IN ('pga_aggregate_target', 'sga_target') UNION SELECT 'maximum PGA allocated' AS name, TO_CHAR(value) AS value FROM v$pgastat WHERE name = 'maximum PGA allocated'; -- Calculate MEMORY_TARGET SELECT sga.value + GREATEST(pga.value, max_pga.value) AS memory_target FROM (SELECT TO_NUMBER(value) AS value FROM v$parameter WHERE name = 'sga_target') sga, (SELECT TO_NUMBER(value) AS value FROM v$parameter WHERE name = 'pga_aggregate_target') pga, (SELECT value FROM v$pgastat WHERE name = 'maximum PGA allocated') max_pga; - 예를들어 MEMORY_TARGET을 5G사용 하는 것이라고 가정하면 CONN / AS SYSDBA -- Set the static parameter. Leave some room for possible future growth without restart. ALTER SYSTEM SET MEMORY_MAX_TARGET=6G SCOPE=SPFILE; -- Set the dynamic parameters. Assuming Oracle has full control. ALTER SYSTEM SET MEMORY_TARGET=5G SCOPE=SPFILE; ALTER SYSTEM SET PGA_AGGREGATE_TARGET=0 SCOPE=SPFILE; ALTER SYSTEM SET SGA_TARGET=0 SCOPE=SPFILE; -- Restart instance. SHUTDOWN IMMEDIATE; STARTUP; *AMM Tuning ============== - 11g에서 AMM관련 된 새로운 view가 소개 됨 ?V$MEMORY_CURRENT_RESIZE_OPS ?V$MEMORY_DYNAMIC_COMPONENTS ?V$MEMORY_RESIZE_OPS ?V$MEMORY_TARGET_ADVICE - 현재의 각 구성 요서별 할당 된 메모리 현황은 V$MEMORY_DYNAMIC_COMPONENTS에서 확인 COLUMN component FORMAT A30 SELECT component, current_size, min_size, max_size FROM v$memory_dynamic_components WHERE current_size != 0; COMPONENT CURRENT_SIZE MIN_SIZE MAX_SIZE ------------------------------ ------------ ---------- ---------- shared pool 171966464 163577856 171966464 large pool 4194304 4194304 4194304 java pool 4194304 4194304 4194304 streams pool 8388608 8388608 8388608 SGA Target 243269632 239075328 247463936 DEFAULT buffer cache 41943040 37748736 54525952 PGA Target 167772160 163577856 171966464 6 rows selected. - V$MEMORY_CURRENT_RESIZE_OPS , V$MEMORY_RESIZE_OPS 는 현재 및 메모리 변경 이력에 대한 정보 확인 SQL> select * from V$MEMORY_RESIZE_OPS; COMPONENT OPER_TYPE OPER_MODE PARAMETER INITIAL_SIZE TARGET_SIZE FINAL_SIZE STATUS START_TIM END_TIME ------------------------------ ------------- --------- ------------------------------ ------------ ----------- ---------- --------- --------- --------- DEFAULT 8K buffer cache STATIC db_8k_cache_size 0 0 0 COMPLETE 01-NOV-12 01-NOV-12 DEFAULT 4K buffer cache STATIC db_4k_cache_size 0 0 0 COMPLETE 01-NOV-12 01-NOV-12 RECYCLE buffer cache STATIC db_recycle_cache_size 0 0 0 COMPLETE 01-NOV-12 01-NOV-12 shared pool STATIC shared_pool_size 0 310378496 310378496 COMPLETE 01-NOV-12 01-NOV-12 large pool STATIC large_pool_size 0 4194304 4194304 COMPLETE 01-NOV-12 01-NOV-12 java pool STATIC java_pool_size 0 4194304 4194304 COMPLETE 01-NOV-12 01-NOV-12 streams pool STATIC streams_pool_size 0 12582912 12582912 COMPLETE 01-NOV-12 01-NOV-12 SGA Target STATIC sga_target 0 524288000 524288000 COMPLETE 01-NOV-12 01-NOV-12 DEFAULT 32K buffer cache STATIC db_32k_cache_size 0 0 0 COMPLETE 01-NOV-12 01-NOV-12 DEFAULT 16K buffer cache STATIC db_16k_cache_size 0 0 0 COMPLETE 01-NOV-12 01-NOV-12 PGA Target STATIC pga_aggregate_target 0 268435456 268435456 COMPLETE 01-NOV-12 01-NOV-12 COMPONENT OPER_TYPE OPER_MODE PARAMETER INITIAL_SIZE TARGET_SIZE FINAL_SIZE STATUS START_TIM END_TIME ------------------------------ ------------- --------- ------------------------------ ------------ ----------- ---------- --------- --------- --------- DEFAULT buffer cache INITIALIZING db_cache_size 184549376 184549376 184549376 COMPLETE 01-NOV-12 01-NOV-12 ASM Buffer Cache STATIC db_cache_size 0 0 0 COMPLETE 01-NOV-12 01-NOV-12 DEFAULT buffer cache STATIC db_cache_size 0 184549376 184549376 COMPLETE 01-NOV-12 01-NOV-12 DEFAULT 2K buffer cache STATIC db_2k_cache_size 0 0 0 COMPLETE 01-NOV-12 01-NOV-12 KEEP buffer cache STATIC db_keep_cache_size 0 0 0 COMPLETE 01-NOV-12 01-NOV-12 shared pool SHRINK DEFERRED shared_pool_size 310378496 297795584 297795584 COMPLETE 02-NOV-12 02-NOV-12 DEFAULT buffer cache GROW DEFERRED db_cache_size 184549376 197132288 197132288 COMPLETE 02-NOV-12 02-NOV-12 shared pool SHRINK DEFERRED shared_pool_size 297795584 285212672 285212672 COMPLETE 05-NOV-12 05-NOV-12 DEFAULT buffer cache GROW DEFERRED db_cache_size 197132288 209715200 209715200 COMPLETE 05-NOV-12 05-NOV-12 DEFAULT buffer cache SHRINK DEFERRED db_cache_size 209715200 197132288 197132288 COMPLETE 06-NOV-12 06-NOV-12 shared pool GROW DEFERRED shared_pool_size 285212672 297795584 297795584 COMPLETE 06-NOV-12 06-NOV-12 22 rows selected. - V$MEMORY_TARGET_ADVICE 는 memory_target 파라미터를 조정하는데 필요한 정보를 제공 - memory_target 파라미터의 사이즈가 적절한지 확인 하기 위해서 해당 뷰를 사용 SQL> select * from v$memory_target_advice order by memory_size_factor; MEMORY_SIZE MEMORY_SIZE_FACTOR ESTD_DB_TIME ESTD_DB_TIME_FACTOR VERSION ----------- ------------------ ------------ ------------------- ---------- 503 .75 3068 1.0038 2 204 1 3056 1 2 105 1.25 3056 1 2 206 1.5 3056 1 2 107 1.75 3056 1 2 608 2 3056 1 2 |
Comment | |||
---|---|---|---|
등록된 코멘트가 없습니다. |