Question

Our database is slow in some very important use cases. I have traced it to a problem with some queries performing full text searches and single row accesses on a lot of records (db file sequential read) afterwards. Once the data is in memory, those queries become very fast.

The solution from us developers is now to put the hottest table into memory.

We currently have a SGA_MAX of 20 GB, SGA_TARGET is 14GB. ADDM and AWR recommend 25GB of SGA space.

Our infrastructure team will now upgrade our database to 40GB, however, the database admin sais that that much ram can kill oracle performance.

Is that true? I cannot possibly imagine that 20GB more RAM will make the database go slower.

Version: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

Était-ce utile?

La solution

Yes and No. With improper configuration, too much RAM can cause performance degradation.

For example on Linux platform, if HugePages is not configured, with large SGA and many database sessions, the pagetable will hold a significant amount of memory. Once at one our clients, the database server had 512 GB memory installed. They had about 4000-5000 database sessions with a 150 GB SGA, and this resulted in a 360GB pagetable size - so the server ran out of memory, and this caused hangs and reboots. After enabling HugePages, the size of the pagetable decreased to 1,5 GB (from 360 GB!!), saving and allowing to use more than 350 GB extra memory.

Another case, where the customer used Solaris x86-64 11.1, is the reverse of the above case. The database used 1 GB pages with 300 GB SGA, but because of a Solaris bug, 99.8% of the time spent handling large pages at OS level was overhead, caused the CPU to run in kernel mode, causing huge load on the server (300+ with 32 cores). The database was running fine with 24 GB SGA, but could not handle the load with 300 GB SGA. Disabling large pages in Solaris resolved this issue (there is a Solaris patch for it, but the local admins did not install it...).

These are however not Oracle limitations, but configuration issues. Oracle can handle large amount of memory. One of our customers has been using 500 GB+ SGA for a long time without any problems, and they are planning to increase it further.

Licencié sous: CC-BY-SA avec attribution
Non affilié à dba.stackexchange
scroll top