如何估算oracle内存(SGA篇)

一般情况下,在系统稳定之前,是不知道SGA和PGA该调整为多少。在这里根据经验,在调整系统的时候有个规则。SGA 通常情况下不能大于memory的50%, 另外oracle推荐得有一个分配规则,oracle推荐分配给oracle实例的内存为物理内存的80%。比如8GB的物理内存,按照Oracle的推荐,分配给Oracle实例的内存大约为6.4G(8*80%),对于OLAP应用来说,分配给SGA的值即sga_max_size的值大约为5.12G(8*80%*80%),PGA的值即pga_aggregate_target的值大约为1.28G(8*80%*20%);对于DSS来说,分配给SGA和PGA的值各位实例内存的50%即3.2G。当然上面都是针对新的数据库来说的初始值,需要在使用过程中进行调整。
下面简单用公式表示(oracle建议):

对OLTP而言(新数据的初始参数)
SGA=memory*80%*80%
PGA=memory*80%*20%
对DSS而言(新数据的初始参数)
SGA=memory*80%*50%
PGA=memory*80%*50%

那么在使用过程中如何确定SGA的大小呢,我们如下展开讨论:

首先来看SGA是有哪些部分组成
SQL> show user
User is "sn_qudao"

SQL> select component,current_size/1024/1024 as current_size from v$sga_dynamic_components;
COMPONENT                                                        CURRENT_SIZE
---------------------------------------------------------------- ------------
shared pool                                                               912
large pool                                                                  16
java pool                                                                    16
streams pool                                                              0
DEFAULT buffer cache                                           576
KEEP buffer cache                                                     0
RECYCLE buffer cache                                             0
DEFAULT 2K buffer cache                                        0
DEFAULT 4K buffer cache                                        0
DEFAULT 8K buffer cache                                        0
DEFAULT 16K buffer cache                                      0
DEFAULT 32K buffer cache                                      0
ASM Buffer Cache                                                       0
13 rows selected

SQL> show parameters shared_pool;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
shared_pool_reserved_size            big integer 17616076
shared_pool_size                     big integer 0
SGA实际大小 = DB_CACHE_SIZE + DB_KEEP_CACHE_SIZE + DB_RECYCLE_CACHE_SIZE

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值