关于sga_target

一个sga_target动态修改的问题,sga自动管理的时候,其值最大可以达到sga_max_size参数文件指定的值,也可以动态减小,在该值减小的时候,oracle会指定一个或者多个自动调优的sga中的内存结构释放内存,知道他们到达最小值,不能再减少了为止。oracle在判断sga_target最小值的时候,主要基于一下几点来考虑和判断的
1.sga中自动优化的内存结构的设定值和sga中手动设定的内存结构设定值占用sga的空间。
2CPU的数目。
3.物理内存。
..有些操作系统会有差异
一些UNIX系统不支持动态共享内存(dynamic share memory),此时sga所占的物理内存和sga_max_size相等,很明显,此时设置sga_target比sga_max_size小就毫无意义了,这种情况下,一般不建议设置sga_max_size。
在windows和solaris中sga消耗的内存和sga_target相等,此时sga_target的改变只会影响那些没有手动指定最小值的动态优化内存结构,而不会改变手动优化内存结构。
注释:
sga是由很多内存结构组成,就是所说的pool等内存结构。
当数据库参数sga_target设置值不等于0时,表示开启了自动共享内存管理(automatic share memory management)
(如果不是新环境要查看statistics_level参数是否为typical或者是all,否则无效),共享就是shared pool、large pool、java pool、buffer cache和steams pool(log buffer、keep and recycle buffer caches和nonstandard block size buffer caches也将占用sga_target,但是这几个参数不是共享的)之间的共享,当制定了sga_target后还要将这几个值设为0(完全共享),或者制定其最小值,这些设定了最小值的内存结构就是手动优化内存结构。
 一般开启自动共享内存时,虽然sga_target可以动态调整,但最好是先设置sga_target的一个非零值,然后再开启数据库,动态设置该参数的值由于share pool有的时候可能不会shrink,所以有时候并不能达到预期的效果。

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

转载于:http://blog.itpub.net/16969562/viewspace-757607/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值