====== Oracle Tunning Etc ====== - PGA영역 select * from v$resource_limit where rownum <= 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 문이다. | * optimal 이 수행된 전체횟수이며, 다른 것의 수치가 optimal에 5~10% 이상이면 PGA영역을 늘려줄 필요가 있다.