Skip to main content

We are running APPS9 with Oracle 12c standard edition.

about & months ago we moved away from Auto memory Management and set max values for memory on our Oracle Environment.

We have 128 G set aside for our VM oracle Db with 3 prod instances, each of which are allocated 28G each.

I’ve been seeing 1 of the instances use up to 27G while the others bounce between 20-24G.

What are the advantages, disadvantages of using Oracle AMM and why would you want to limit RAM to an oracle instance when not using AMM?

 

Thank you,

Marjie

 

 

 

@CUCSOLUTIONS ,

According to the IFS Applications 9 Technical Documentation, IFS recommends not using Automatic Shared Memory Management, instead one shall use Manual Shared Memory Management to be able to control the memory within the SGA and PGA. The reason that IFS does not recommends Automatic Shared Memory Management is that it can cause performance issues in the IFS Applications.

Below from the documentation in the IFS Installation Guide/Fresh Install/Planning Installation/Storage Tier/Oracle 12c Considerations:

…….…………………………………..

Automatic Shared Memory Management

Oracle Database can manage the SGA memory and instance PGA memory completely automatically. You only designate the total memory size to be used by the instance and Oracle dynamically exchanges memory between the SGA and the instance PGA as needed to meet processing demands. It is also possible to exclude PGA from this and let Oracle handle the memory automatically for all memory pools within the SGA.

Oracle Automatic Shared Memory management is controlled by the following parameters:

MEMEORY_TARGET – define memory the memory target for both SGA and PGA
MEMORY_MAX_TARGET – define the maximal memory size for both SGA and PGA
SGA_TARGET – define the memory target for SGA
SGA_MAX_TARGET – define the maximal memory size for SGA

More information about Oracle Automatic Shared Memory Management can be found in the Oracle12c documentation.

IFS recommends not using Automatic Shared Memory Management, instead one shall use Manual Shared Memory Management to be able to control the memory within the SGA and PGA. However, Automatic Shared Memory Management can be used, but in that case, it is vital only to this for the SGA e.g. use SGA_TARGET and SGA_MAX_TARGET and set MEMORY_TARGET=0.

Manual Shared Memory management

To have more control over the individual memory components in the SGA you can disable automatic memory management and configure the database for manual memory management. You configure and tune each memory pool of the SGA individual and thereby determine the overall SGA size.

IFS has done tests using both automatic and manual shared memory management and our findings are that Oracle, over time, favors memory for the shared pool compared to the buffer cache, which for a system like IFS Applications can imply decreased performance. Therefore, we recommend IFS Applications to use manual memory shared management so you have more control over the memory.

Automatic PGA Memory Management

For automatic PGA memory management mode, the main goal of Oracle is to honor the PGA_AGGREGATE_TARGET limit set by the DBA, by controlling dynamically the amount of PGA memory allotted to SQL work areas. At the same time, Oracle tries to maximize the performance of all the memory-intensive SQL operators, by maximizing the number of work areas that are using an optimal amount of PGA memory (cache memory).

The PGA memory management is controlled by two parameters:

PGA_AGGREGATE_TARGET
WORKAREA_SIZE_POLICY
 
IFS recommends using Automatic PGA Memory Management in all Oracle12c development and production databases.

…………………………………………………...