Oracle Tunning Etc

  1. PGA영역
    SELECT * FROM v$resource_limit WHERE rownum <= 2;
  2. PGA영역 확장여부확인
    SET LINES 500
    SET pages 500
    SELECT * FROM v$sysstat;
     
    STATISTIC# NAME                                                                  CLASS      VALUE    STAT_ID
    ---------- ---------------------------------------------------------------- ---------- ---------- ----------
    ...
           327 workarea memory allocated                                                64      22822 2433935387
           328 workarea executions - optimal                                            64  309377443 3211650785
           329 workarea executions - onepass                                            64      41131  798730793
           330 workarea executions - multipass                                          64        268 3804491469
    ...
NAME 설명
workarea memory allocated 특정 세션이나 시스템에 할당된 전체 PGA 메모리 크기
workarea executions - optimal SQL 실행 메모리가 최적의 크기를 가졌던 누적 횟수.
여기서 메모리가 최적의 크기를 갖는다는 것은 예를 들어,
disk에 write하지 않고 sort 작업을 수행하는 경우를 의미한다.
workarea executions - onepass SQL 실행 메모리가 1 pass의 크기를 가졌던 누적 횟수.
여기서 메모리가 1 pass의 크기를 갖는다는 의미는,
예를 들어 sort의 경우 disk에 임시 결과를 한번은 저장하고
결과를 merge해서 sort 작업을 마치는 경우를 의미한다.
workarea executions - multipass SQL 실행 메모리가 2 pass 이상의 크기를 가졌던 누적 횟수.
이들 뷰를 이용해서 SGA가 아닌 PGA 메모리의 사용 현황을 모니터링할 수 있다.
예를 들어, 다음은 시스템 전체에 걸쳐 SQL 실행 영역이 최적의 크기를 가졌던 비율을 구하는 SQL 문이다.