First of all : thank you
Jeremy PI, November 28, 2018 - 9:17 am UTC
Thank you for your answer but the documentation said (for the 11g version) that manageable resources are :
CPU
Degree of Parallelism Limit
Parallel Target Percentage
Parallel Queue Timeout
Active Session Pool with Queuing
Automatic Consumer Group Switching
Canceling SQL and Terminating Sessions
Execution Time Limit
Undo Pool
Idle Time Limit
There is nothing like memory management in it. Am I missing the point ?
In my head there is two possible answers but I really do not see how to apply them :
1. Make that a session have to use only a max limited RAM amount
2. Make that a session keep its single usage an amount of RAM
But maybe I am all wrong in my mindset. I am open to all suggestions (even if it is to read the documentation about the resource manager better if you assure me that the answer is in it). Maybe its a correlation between memory management (PGA/SGA) and the resource manager that I am missing but if that is the case then I really missed it.
Could you please enlight me?
Thanks for all your work !
November 29, 2018 - 12:36 am UTC
My point 1 was that pga_aggregate_target already controls that for sessions. They don't get more than 5% of the total for sql execution.
They could exceed that if they did things like create giant plsql arrays etc, but for SQL, they wont be allowed to consume more than that - they'll dump out to temporary storage.
If you want more granular than that, then you'd need to be on 12.2 and someone has already pointed out.
To Jeremy
J. Laurindo Chiappa, November 28, 2018 - 2:32 pm UTC
Hi : I will be waitiing anxiously for Connor´s answer, too, but (to the best of my knowledge) the capacity of PGA control/limit by session was added to RM only in 12cR2, see
https://oracle-base.com/articles/12c/resource-manager-per-process-pga-limits-12cr2 ....
If this is confirmed, probably you will neeed to do the same as me, in previous occasions, ie : have a job running each 5 minutes or so consulting v$stat views and killing the session consuming too much memory for PGA....
Regards,
Chiappa
Thanks ;)
Jeremy PI, November 29, 2018 - 12:44 pm UTC
Thank you for your help and sorry for bothering you this much ;)
November 30, 2018 - 6:14 am UTC
No bother at all, we're glad to help
Need help
Morris, November 30, 2018 - 6:48 am UTC
Hi connor and thank you.
Am on 12.1 . My application do not exceed more than 10 sessions . PGA is set max up to 50gb.
How could let users consume more than the 5%?
Do you have an example how to setup such need?
I follow the link but it's on undo. Wht I need is letting any session consume what ever needed for their queries to complete using memory and CPU as I know in advance that the 50gb are enough for the 10 sessions . By an example I can setup and test it. Do you have a link or a set of scripts regarding the PGA and CPU?
December 03, 2018 - 3:34 am UTC
There are some internal (start with underscore) parameters that can be set to allow a single process to have a larger slice of the overall amount.
Log a call with Oracle Support, explain your requirement and they will give you advice on the parameters to set.
(I'm recommending that course of action, because then if you ever use Support for something else, they might say "Oh...you have underscore parameters set". In this way, they'll be aware of that)