Skip to Main Content
  • Questions
  • Why UGA is in PGA in dedicate server mode and in SGA in shared server mode.

Breadcrumb

Question and Answer

Connor McDonald

Thanks for the question, Ankit.

Asked: February 08, 2016 - 7:35 pm UTC

Last updated: February 09, 2016 - 1:21 am UTC

Version: oracle 11g

Viewed 1000+ times

You Asked

Hi, In db architecture i have come across that UGA is in PGA in dedicate server mode and in SGA in shared server mode.
Can you please explain the reason for this , i am not able to get the reasoning for this.

Thanks in advance.

and Connor said...

In shared server, I'm repeatedly being allocated to *new* processes.

eg,

- I open a cursor, I get allocated to process 12. I do my stuff and I'm done.
- I come back 3 seconds later and fetch from that cursor, I now get allocated to process 15, I do my stuff and I'm done.

So since I might be allocated to *any* process, I need somewhere where they can *all* see my current memory state (UGA). So it sits in the SGA.

For dedicated server, I will *always* have the same process - its dedicated to me - so I can keep my state in the PGA


Is this answer out of date? If it is, please let us know via a Comment