====== 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영역을 늘려줄 필요가 있다.