10g中同时设置了SGA_TARGET和SHARED_POOL_SIZE的问题
===========================================================

我一直认为同时调置了SGA_TARGET和SHARED_POOL_SIZE两个参数时,SHARED_POOL_SIZE的值会忽略,其实是不对的。来纠正一下:

同时设置了SGA_TARGET和SHARED_POOL_SIZE或其它参数(如Database buffer cache,Streams pool,Java pool,Large pool),这些参数的设置并不会忽略掉,而是指定其相应pool的最小值。


 

一道OCP的题说明:

You are working in Automatic Shared Memory Management mode, and some of the parameters are set as shown below:

 

SGA_MAX_SIZE = 12G
SGA_TARGET = 10g
DB_RECYCLE_CACHE_SIZE = 1G
SHARED_POOL = 2G

Which statement is correct in this scenario?

A. The shared pool will not shrink below 2GB.
B. 12GB of memory will be available for autotuned memory components.
C. The value specified for the shared pool will be ignored, because Automatic Shared Memory Management is enabled.
D. If you increase the value of SGA_TARGET, then it will affect the value of DB_RECYCLE_CACHE_SIZE.

The correct answer is A.

When you specify a nonzero value for SGA_TARGET and do not specify a value for an autotuned SGA parameter, the values of the autotuned SGA parameters in the V$PARAMETER view are 0 and the value of the ISDEFAULT column is TRUE. Automatic Shared Memory Management automatically sizes these components. However, if the autotuned SGA parameters are set to nonzero values, then the specified values are not ignored—rather, they are used as lower limits by the autotuning algorithm. For example, in this case, SHARED_POOL_SIZE is set to 2GB, which tells the Automatic Shared Memory Management algorithm never to shrink the shared pool below 2GB, although larger values are fine.

 

题出自:http://www.oracle.com/technology/oramag/oracle/05-jan/o15ocp.html