Oracle 성능 최적화 - 메모리 최적화

메모리 최적화: SGA 는 세 부분 으로 구성 되 어 있 습 니 다.데이터 버퍼, 로그 버퍼 및 공유 탱크
데이터 버퍼: 크기 는 DBCache_Size 매개 변수 결정.
   
   
   
   
  1. select name,value from v$parameter 
  2. where name in('db_cache_size','db_block_size','shared_pool_size','sort_area_size'); 
   
   
   
   
  1. select name value from v$sysstat   
  2. where name in ('db block gets','consistent gets','physical reads');  

그 중에서 이상 적 인 상황: physical reads 는 0 에 가깝다. 즉, 데 이 터 는 모두 데이터 버퍼 에서 나온다.db block gets 는 메모리 에서 데 이 터 를 읽 는 것 을 표시 합 니 다.  consistent gets 는 일치 하 는 데 이 터 를 읽 는 것 을 표시 합 니 다.
   
   
   
   
  1. select child#,sleeps/gets ratio from v$latch_children 
  2. where name ='cache buffers lru chain';  

데이터 버퍼 에 여유 가 있 는 지 확인 할 수 있 습 니 다. 남 은 충돌 비율 은 0 에 가 까 워 야 합 니 다.
데이터 버퍼 메모리 가 충분 한 지, 효율 이 어떤 지, 명중률 을 계산 해서 확인 할 수 있 습 니 다.디스크 물리 적 으로 읽 은 데이터 와 내 적 버퍼 의 데 이 터 를 계산 하면 명중률 이 나온다.일반적으로 90% 이상 을 요구 합 니 다. 그렇지 않 으 면 데이터 버퍼 의 크기 를 늘 려 야 합 니 다.
공유 탱크 크기 는 매개 변수 sharedpool_사이즈 결정.공유 탱크 에서 SQL 구역 은 데이터 캐 시 보다 메모리 영역 을 많이 소모 합 니 다. 
   
   
   
   
  1. select name ,bytes from v$sgastat order by name;  
  2. select * from v$sgastat where name = 'free memory'

free memory 는 남 은 메모리 로 공유 탱크 에서 사용 할 수 있 는 바이트 수 입 니 다. dictionary cache 는 데이터 사전 버퍼 이 고 library cache 는 라 이브 러 리 버퍼 이 며 sql area 는 SQL 버퍼 입 니 다.남 은 백분율 = (남 은 메모리 / 공유 탱크 바이트 수)×100% 20% 미 만 이면 공유 탱크 파라미터 SharedCache_size
다음으로 이동:http://www.cnblogs.com/liubiqu/archive/2006/04/01/364087.html

좋은 웹페이지 즐겨찾기