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


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


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 73748 session uga memory max 1086120 session pga memory 183360 session pga memory max 1469192

Учтите, однако, что в большинстве систем это действие — пустая трата времени. Можно уменьшить размер кучи PGA в рамках экземпляра Oracle, но память при этом операционной системе не возвращается. В зависимости от принятого в ОС метода управления памятью, суммарное количество используемой памяти даже увеличится. Все зависит от того, как на данной платформе реализованы функции malloc(), free(), realloc(), brk() и sbrk() (стандартные функции управления памятью в языке C).

Итак, мы рассмотрели две структуры памяти, области PGA и UGA. Теперь понятно, что область PGA принадлежит процессу. Она представляет собой набор переменных, необходимых выделенному или разделяемому серверному процессу Oracle для поддержки сеанса. Область PGA — это "куча" памяти, в которой могут выделяться другие структуры. Область UGA также является кучей, в которой определяются связанные с сеансом структуры. Область UGA выделяется из PGA при подключении к выделенному серверу Oracle и — из области SGA при подключении в режиме MTS. Это означает, что при работе в режиме MTS необходимо задать такой размер области SGA, чтобы в ней хватило места под области UGA для предполагаемого максимального количества одновременно подключенных к базе данных пользователей. Поэтому область SGA в экземпляре, работающем в режиме MTS, обычно намного больше, чем область SGA аналогично сконфигурированного экземпляра, работающего в режиме выделенного сервера.




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



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