By
Published: 19 Jul 2006
What should be the general ratio between SGA and the database for good performance? Let's say my database size is 20 to 30 GB.
There is no general ratio between the SGA size and the database size. Knowing your database is between 20 and 30 GB is not sufficient information to adequately determine how big your SGA should be. What defines an optimal SGA size is the usage patterns of your database, not the size of the database. You will need to have enough memory devoted to the various SGA components so as not to hamper your database performance. My 20 GB database may only need 200 MB for its buffer cache, whereas your 20 GB database may need 500 MB for its buffer cache.
You will have to pay attention to how each component of the SGA performs to decide the optimal size. The Oracle...
Performance Tuning Guide for your version has details on how to do just this. Please look for this document here.
Oracle 10g does help by letting you devote a chunk of memory to the total SGA and then managing the individual components within the SGA for you. Simply set the SGA_TARGET parameter and Oracle will take care of the rest for you. As a rule of thumb, Oracle Corp. is recommending that you set SGA_TARGET to one-third of your database server's physical memory.
Dig Deeper on Oracle database design and architecture
Oracle expert Brian Peasland answers one reader's question about common pitfalls when connecting Oracle to outside programs.
Continue Reading
One reader asks expert Brian Peasland a question about datafile sizes with the Oracle RMAN duplicate 10g command.
Continue Reading
Managing parent table-child table relations in Oracle SQL environments is key to efficient programming.
Continue Reading