오라클 SGA 튜닝
SGA에는 데이터베이스 버퍼, 라이브러리 캐쉬, 딕셔너리 캐쉬, 리두 로그 버퍼가 있으며
이들의 기능은 모두 물리적인 Disk I/O를 최소화 하도록 만들어 졌습니다..
SGA 구분
1. 데이터베이스 버퍼
-. 자주 사용하는 데이터 블록을 메모리에서 유지하여 물리적인 I/O를 줄이는 역할
-. 90%이상 (DSS, DW에서는 좀더 작은 값일 수 있음)
-. db_block_buffers (db_cache_size 9i) 파라메터
-. 데이터베이스 버퍼 캐쉬 적중률
SELECT bg.value "DB Block Gets",
cg.value "Consistent Gets",
pr.value "Physical Reads",
round((1-(pr.value/(bg.value+cg.value)))*100, 2) "Hit Ratio"
FROM v$sysstat pr,
v$sysstat bg,
v$sysstat cg
WHERE pr.name = 'physical reads'
AND bg.name = 'db block gets'
AND cg.name = 'consistent gets';
2. 라이브러리 캐쉬
-.공유 SQL 영역으로 한번 사용된 SQL의 정보를 저장하며, 동일 SQL수행 시 재사용하여 parsing에 대한 부하를 줄임
-. 99%이상
-. shared_pool_size 파라메터
-. 라이브러리 캐쉬 적중률
SELECT to_char(1-(trunc(sum(reloads)/sum(pins)*100, 5)),99.99999) ratio
FROM v$librarycache;
3. 딕셔너리 캐쉬
-. 데이터베이스 오브젝트의 구조 정보를 저장하며, 이를 참조할 때 메모리에서 액세스하도록 함
-. 95%이상
-. shared_pool_size 파라메터
-. 딕셔너리 캐쉬 적중률
SELECT sum(gets) "gets",
sum(getmisses) "getmisses" ,
round( (1-(sum(getmisses)/sum(gets)) )*100,2) "Hit Ratio"
FROM gv$rowcache
WHERE gets > 0 ;
4. 리두 로그 버퍼
-. 리두 로그의 버퍼 역할
-. log_buffer 파라메터
-. 리두 로그 Request
SELECT value "Redo log request"
FROM v$sysstat
WHERE name = 'redo log space requests';