Oracle для профессионалов


Области PGA и UGA - часть 4


NAME VALUE ------------------------------ ---------- session uga memory 63288 session uga memory max 174968 session pga memory 1307580 session pga memory max 1307580

4 rows selected.

tkyte@TKYTE816> show parameter sort_area

NAME TYPE VALUE ------------------------------------ ------- -------------------------- sort_area_retained_size integer 1000000 sort_area_size integer 1000000

tkyte@TKYTE816> select * from all_objects order by 1, 2, 3, 4;

...(Нажмите Control-C после первой страницы данных) ...

tkyte@TKYTE816> select a.name, b.value 2 from v$statname a, v$mystat b 3 where a.statistic# = b.statistic# 4 and a.name like '%ga %' 5 /

NAME VALUE ------------------------------ ---------- session uga memory 66344 session uga memory max 1086120 session pga memory 1469192 session pga memory max 1469192

4 rows selected.

Теперь мы видим, что существенное увеличение размера области UGA связано с необходимостью дополнительно принять данные размером SORT_AREA_RETAINED_SIZE. В ходе обработки запроса 1 Мбайт сортируемых данных "кеширован в памяти". Остальные данные были на диске (где-то во временном сегменте). По завершении выполнения запроса это дисковое пространство возвращено для использования другими сеансами. Обратите внимание, что область PGA не уменьшилась до прежнего размера. Этого следовало ожидать, поскольку область PGA используется как "куча" и состоит из фрагментов, выделенных с помощью вызовов malloc(). Некоторые процессы в сервере Oracle явно освобождают память PGA, другие же оставляют выделенную память в куче (область для сортировки, например, остается в куче). Сжатие кучи при этом обычно ничего не дает (размер используемой процессами памяти только растет). Поскольку область UGA является своего рода "подкучей" (ее "родительской" кучей является область PGA либо SGA), она может сжиматься. При необходимости можно принудительно сжать область PGA:

tkyte@TKYTE816> exec dbms_session.free_unused_user_memory;

PL/SQL procedure successfully completed.




Начало  Назад  Вперед



Книжный магазин