 |
|
Estimating SGA size tips
Oracle Database Tips by Donald Burleson |
Estimating SGA size is critical for
all capacity planning activities and estimating the SGA size ensures
that you do not waster precious and expensive RAM. The goal of
server optimization for any Oracle databases is to manage the RAM
and CPU resources of the machine, and make sure that expensive RAM
is not under-allocated.
See here, full
method for estimating
SGA size.
Estimating Oracle SGA size
The Oracle DBA can use math to determine the
optimal RAM allocation for a MS-Windows server. For the purposes of this
example, let's assume that we are on a dedicated MS-Windows Oracle server, and
Oracle will be the only program running on the server. The total RAM SGA and PGA
estimates for Oracle are as follows:
- OS RAM : 20 percent of total RAM
for MS-Windows, 10% of RAM for UNIX
- Oracle SGA RAM : determined with
the show sga command
- Oracle database connections RAM :
Each Oracle connection (when not using the Oracle multi-threaded server)
will use two megabytes of RAM. Should a task required sorting or a
hash join, the RAM used is set by sort_area_size and
hash_area_size (if not using pga_aggregate_target).
Once we know the total available RAM memory, we
have to subtract 20 percent from this value for MS-Windows overhead. Even in an
idle state, Windows services use RAM resources, and we must subtract 20% to get
the real free RAM on an idle server. This serves as a baseline estimate of
SGA size.
See my related notes on estimating SGA size for Oracle here:
 |
If you like Oracle tuning, see the book "Oracle
Tuning: The Definitive Reference", with 950 pages of tuning tips and
scripts.
You can buy it direct from the publisher for 30%-off and get
instant access to the code depot of Oracle tuning scripts. |