참조 : http://blog.naver.com/tlswoals21/120151499573
-Managing Memory Components(메모리 관리)
메모리를 적절하게 할당하지 않으면 io도 많이생기고 느려진다
1)Automatic Shared Memory Management (ASMM)
SGA메모리 부분들을 따로 따로 설정하는방법
전체를 SG_TARGER을 보고 자동적으로 관리하는 기법
** Automatic Shared Memory Management(ASMM) **
ASMM의 장점
상대적으로 사용량을 적은 transper가 가능하다
(ex) sharedpool 일부분을 Buffer cache가 사용한다
show parameter shared_pool_size
show parameter db_cache_size
show parameter sga_target (동적으로 변경할수 있다)
show parameter sga_max_size (동적으로 변경이 불가능하다)
모든 SGA 구성요소는 SGA_MAX_SIZE를 초과할 수 없다.
(SGA_TARGET 포함)
1. 자동 (임의값을 모를때)
SGA_TARGET = value
(SGA_TARGET만 설정한다)
DB_CACHE_SIZE = 0
SHARED_POOL_SIZE = 0
LARGE_POOL_SIZE = 0
JAVA_POOL_SIZE = 0
STREAMS_POOL_SIZE = 0
2. 반자동 (경험수치가 있다면 상당히 좋은 방식)
SGA_TARGET = value
(SGA_TARGET값도 쓰고 , 밑에 값도 일부분 사용한다)
아래 구성요소중 설정된 값은 하한 값으로 작용
DB_CACHE_SIZE = value
SHARED_POOL_SIZE = value
LARGE_POOL_SIZE = value
JAVA_POOL_SIZE = value
STREAMS_POOL_SIZE = value
3. 수동 (권장하는 방식이 아니다 (현실은 수동을 많이 사용하고 있다))
(dba가 적절한사이즈를 미리알고 적절할게 변경할수 있다면 수동으로 사용해도 괜찬다(실제로 그렇게 하기 힘들다)
9i 이하 방식처럼 구성요소 각각 설정
SGA_TARGET = 0
(SGA_TARGET을 0으로 두고 따로따로 설정하는 방식)
DB_CACHE_SIZE = value
SHARED_POOL_SIZE = value
LARGE_POOL_SIZE = value
JAVA_POOL_SIZE = value
STREAMS_POOL_SIZE = value
SQL> show parameter sga_target
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sga_target big integer 272M
SQL>
SQL> show parameter db_cache_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_cache_size big integer 0
SQL>
SQL> show parameter shared_pool_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
shared_pool_size big integer 0
alter system set sga_target=0; (비활성화 시킨다)
alter system set sga_target=272;(다시 활성화 시키는것) (SGA SIZE가 272이다)