ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle内存那些事

oracle内存那些事

原创 Linux操作系统 作者:homeworld80 时间:2012-05-18 09:52:45 0 删除 编辑

1、pga:受参数PGA_AGGREGATE_TARGET影响,该参数为0时,sql工作区使用*_area_size参数指定的值,同时WORKAREA_SIZE_POLICY自动置为MANUAL;
该参数不为0时,sql工作区大小自动调整,同时WORKAREA_SIZE_POLICY自动置为AUTO。该参数默认值为10M和sga的20%中的较大者
2、sga:受参数SGA_MAX_SIZE和SGA_TARGET影响。
其中,SGA_MAX_SIZE指定sga的最大值,默认值在32位windows上是60%的MEMORY_TARGET或者60%的MEMORY_MAX_TARGET或者25%的总虚拟内存中的大值,
在非32位windows上是 MEMORY_TARGET 或者 MEMORY_MAX_TARGET中的大值。如果sga各组件内存和或者SGA_TARGET大于SGA_MAX_SIZE时,该参数被忽略

SGA_TARGET,最小64M(可以指定小于64M的值),最大SGA_MAX_SIZE(超过该值则报错),
指定sga组件的总内存,其中的组件数据缓存区(DB_CACHE_SIZE)、共享池、大池、java池、流池可自动调整,
而日志缓存区、fixed sga和其他数据缓存区不能自动调整
3、MEMORY_MAX_TARGET指定可分配给MEMORY_TARGET的最大值。
MEMORY_TARGET指定oracle的可用内存,最小152M,通过调整sga和pga来达到MEMORY_TARGET的值。
指定MEMORY_TARGET不指定MEMORY_MAX_TARGET,则MEMORY_MAX_TARGET=MEMORY_TARGET;指定MEMORY_MAX_TARGET不指定MEMORY_TARGET,则MEMORY_TARGET=0

当指定了合理的MEMORY_TARGET时,即使SGA_TARGET指定1M也不会报错,oracle会忽略SGA_TARGET而使用MEMORY_TARGET分配内存。
当MEMORY_TARGET指定为0时,SGA_TARGET需要指定合理值,否则报错,如ORA-00821和ORA-04031。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8367589/viewspace-730118/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 发布博文 ORA-01078
下一篇: oracle内存那些事
请登录后发表评论 登录
全部评论

注册时间:2008-07-24

  • 博文量
    28
  • 访问量
    35919