 |
|
Enabling ASMM in 10g
Oracle Database Tips by Donald Burleson |
Question:
I need to have automatic control over my SGA pools and I need to
know how to I turn-on the automatic shared memory management (ASMM)
feature of Oracle 10g?
Answer:
You can enable and disable ASMM by changing the value of these
parameters to non-zero settings:
sga_target
sga_max_size
pga_aggregate_target
Many Oracle shops prefer the
flexibility of automatic memory management, while larger shops
prefer manual control over the sizing of their pools. In
practice, a human DBA can foresee an overall best-size for their
pools, while the ASMM is "reactive", responding to transient
changes in processing demands. Humans can see repeating
cycles and forecast future demands better than any reactive SGA
management method.
Note: ASMM and dynamic Oracle
memory management has measurable overhead. See
my important notes on
Oracle
dynamic memory management.
Also, beware of these important
rules (super-sizing
your PGA) for setting your pga_aggregate_target
parameter for maximum hash_join and minimum disk_sort
activity.
Once ASMM is enabled, Oracle will
disregard any init.ora file entries for the pool sizes below.
When displayed with a "show parameters" command, these
pools will show an arbitrary low or null value:
Data buffer pools:
-
db_cache_size
-
db_keep_cache_size
-
db_recycle_pool_size
-
db_2k_cache_size
-
db_4k_cache_size
-
db_8k_cache_size
-
db_16k_cache_size
-
db_32k_cache_size
PGA pools
-
sort_area_size
-
hash_area_size
Other pools
-
streams_pool_size
-
shared_pool_size
-
large_pool_size
-
java_pool_size
-
log_buffer
How to disable AMM: See these
important notes on disabling AMM (Automatic Space Memory Management)
 |
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. |