对于这三个参数有一些了解,但是又有一些疑惑。
pga_aggregate_target
最初的了解:
这个参数控制着PGA的大小,如果work_area_policy 设置成auto,则oracle采用PGA自动管理。会在pga_aggregate_target控制的范围内分配pga的大小。
疑惑的地方是 :
通过看文档知道PGA的总使用量会大于这个参数的设定。那么这个参数有什么意义呢还?
memory_target
最初的理解:
控制着pga 和 sga总内存的分配,是一个动态参数,可以随时调整。 对应的还有一共memory_max_target,是一个静态参数,防止memory_target设置过大。
疑惑的地方是:
memory_target 其实可能小于实际使用的memory。 比如memory_target这个参数的官方文档这样说,Total memory usage can grow beyond the value of MEMORY_TARGET
. For example, memory is allocated to PL/SQL tables and varrays regardless of the value ofMEMORY_TARGET
as long as memory is available at the operating system level. 那既然可以超过,memory_target有什么意义。
sga_target
疑惑的地方,是不是sga的总量也可以超过这个