Best Practice for Oracle SGA and PGA Memory Components Size

best practicesconfigurationmemoryoracle

I have a Server that has 128GB RAM. I have read here and there that the size of SGA + PGA can bee 80% of the RAM.
I wonder if there is any best practice for this configuration that could allow Oracle Database to utilize hardware even better?
There is also this consumption that this server will be used only to serve the Oracle database.

Best Answer

What version of Oracle are you using? Are you actually setting values for the SGA components and/ or the PGA separately? If so, why? If you're using a recent version of Oracle, the starting point would normally be to set memory_target and let Oracle size the various memory components automatically. Unless, of course, you have some reason to need to set minimum values for certain memory components.

As for what to set memory_target to, you just need to leave enough memory for the OS and any other processes that need to run on the machine (including things like any backup manager you might be using, any monitoring software that runs on the server, etc.) It seems unlikely to me that you'd need 20% of 128 GB for that software. I'd guess that 8 GB would be more than enough leaving 120 GB for Oracle's memory_target. You could do better than guessing by taking a look at the actual memory utilization on the server over time.