반응형

오라클 11g 에서 추가된 Result Cache 관련 오라클 파라메터에 대해서 확인 해 보도록 하자.

SQL RESULT를 오라클 서버에 저장 할 수도 있고 , Client 측에 저장 할 수도 있다.


- Server Side Parameter


RESULT_CACHE_MODE ( ALTER SYSTEM / ALTER SESSION )


RESULT CACHE를 어떻게 운영할 것인지에 대한 파라메터로 MANUAL이 기본으로 설정 되어 있다.


MANUAL : /*+ result_cache */ 힌트를 사용한 쿼리에 대해서 RESULT CACHE에 등록

FORCE : 사용되는 모든 SQL에 대하여 RESULT CACHE에 등록

/*+ no_result_cache */ 힌트를 사용하는 SQL문에 대해서는 RESULT CACHE에 등록하지 않음.

AUTO : MANUAL 상에는 존재 하지 파라메터 설정 후 사용 가능

오라클 내부적으로 많이 사용되는 쿼리 및 설정된 범위를 넘는 쿼리에 대해서 RESULT CACHE에 등록

AUTO 관련 내부 파라메터로 다음과 같은 것들이 있음.


_result_cache_auto_size_threshold : result cache auto max size allowed

_result_cache_auto_time_threshold : result cache auto time threshold

_result_cache_auto_execution_threshold : result cache auto execution threshold

_result_cache_auto_time_distance : result cache auto time distance



RESULT_CACHE_MAX_SIZE ( ALTER SYSTEM )


RESULT CACHE의 크기를 지정하는 파라메터. 기본값은 Shared_pool_size , sga_target, memory_target 값에 따라서 틀림


오라클 권장 메모리 크기


Shared_pool_size의 1% , Sga_target의 0.5% , Memory_target의 0.25%



RESULT_CACHE_MAX_RESULT ( ALTER SYSTEM )


RESULT CACHE내에 저장되는 RESULT중 하나의 RESULT가 사용할 수 있는 최대 크기를 지정 함.

기본값은 RESULT_CACHE_MAX_SIZE의 5%값 임.



RESULT_CACHE_REMOTE_EXPIRATION ( ALTER SYSTEM / ALTER SESSION )


REMOTE OBJECT에 대한 캐싱 여부 설정. 설정 단위는 분(minute)이다.

기본값은 0 이다. 0으로 설정 시 Remote Object관련 SQL에 대해서는 캐싱 하지 않음.

0 이외의 값으로 설정 시 해당 시간(분) 동안 Remote Object에 대한 SQL 결과를 캐싱 함. 이 경우 Remote Object에 대한 변경이 있을 경우 반영이 되지 않고 캐싱 된 데이터를 사용 할 수 있음.



_RESULT_CACHE_BLOCK_SIZE


SQL Result를 저장하는데 사용되는 블록의 기본 크기 설정. 기본값은 1024(1K) 임


_RESULT_CACHE_TIMEOUT


하나의 세션에서 SQL RESULT를 획득하기 위하여 최대로 대기 할 수 있는 시간(초)

기본값은 60초 임.


- Client Side Parameter



CLIENT_RESULT_CACHE_SIZE


Client Process가 사용할 수 있는 최대 RESULT CACHE 크기를 지정. 기본값은 0 임.

OCI_RESULT_CACHE_MAX_SIZE 값이 Client에 설정 될 경우 그 값으로 대체 됨.



CLIENT_RESULT_CACHE_LAG


Client에 캐시 되어 있는 RESULT 에 대해서 얼마 동안 유용하게 사용 할지에 대한 설정. Milliseconds

캐시된 데이터 중 동일 쿼리를 재 사용하기 전에 기존에 캐시 되어 있던 데이터가 얼마 동안 유용한 데이터로 인정 될지에 대한 시간설정 값임. 해당 시간 전에 동일 쿼리 수행 시 관련 데이터 베이스 변경사항이 존재 하였으면 새로운 데이터로 변경되어 캐시됨


반응형

+ Recent posts