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