增加oracle sga,Oracle的SGA调整经历

上个月,数据库开始出现问题,负载低,但查询很慢,尤其是在应用程序启动,加载预置数据的时候,以前启动加载数据只需要不到1分钟就可以完成,但当时启动服务却用了1个小时,后来经过分析和,找到了3个问题,其中一个问题是是硬件和JVM之间的,可以看海东的;另一个问题是数据库IO高的问题,这是应用的问题,目前没有太好的解决方式;最后一个问题就是数据库的SGA配置问题,我在ITPUB上发了帖子 9i 的性能问题,经过高手的指点,重新配置了SGA,从SQLPLUS的表现可以感觉到明显的效果,先把这个总结一下,便于以后查找 :)

首先推荐ITPUT上几篇文章,感觉很有收获:

是如何工作的:这篇文章通过一个生动的例子,解释了Oracle各部分是如何协调工作的,尤其是对于SGA在其中的作用。

关于SGA设置的一点总结 和关于2G内存的SGA的参数优化的问题

主要原因是当前的数据库SGA配置中的db_cache设置太小,这个在ITPUB上遭到了大家的猛烈批判 :),下面是修改前的情况:

SQL>SELECTNAME,VALUE

FROMv$parameter

WHERENAMEIN

('sga_max_size','db_cache_size',

'shared_pool_size','shared_pool_reserved_size','large_pool_size','java_pool_size',

'db_block_size','db_block_buffers','log_buffer','sort_area_size','sort_area_retained_size',

'hash_area_size','sessions','open_cursors'

)ORDERBYNAME;

NAMEVALUE

--------------------------------------

db_block_buffers0

db_block_size4096

db_cache_size33554432

hash_area_size1048576

java_pool_size67108864

large_pool_size117440512

log_buffer524288

open_cursors300

sessions225

sga_max_size437327188

shared_pool_reserved_size10066329

shared_pool_size201326592

sort_area_retained_size0

sort_area_size524288

14rowsselected.

SQL>showsga

TotalSystemGlobalArea437327188bytes

FixedSize451924bytes

VariableSize402653184bytes

DatabaseBuffers33554432bytes

RedoBuffers667648bytes

Variable Size表示MAX_SGA中除去db_cache后剩余的部分。

按照大家的建议,我做了如下修改

shared_pool_size=184800000(180M)

db_block_size=8192

db_cache_size=204800000(200M)

log_buffer=1024000(1M)

large_pool_size=51200000(50M)

java_pool_size=51457280(50M)

sort_area_size=524288(512K)

sort_area_retained_size=8192

调大了db_cache,减小了large_pool.

OS AS3U4

MEM 4GB

CPU 2×2.8GB

还有Configuring Linux kernel parameters

[etc][sysctl.conf]

kernel.msgmnb = 65535

kernel.msgmni = 2878

fs.file-max = 524288

kernel.sem = 256 64000 256 256

kernel.shmmax = 3098693632

[etc][security][limits.conf]

* soft nofile 4096

* hard nofile 65536

* soft nproc 16384

* hard nproc 16384

* soft nproc unlimited

* hard nproc unlimited

[etc][profile]

ulimit -u 16384 -n 65536

仅供参考

我在OCS的压力中,针对1000个并发用户在10g中的配置:

SQL> show sga

Total System Global Area 1677721600 bytes

Fixed Size 779628 bytes

Variable Size 384047764 bytes

Database Buffers 1291845632 bytes

Redo Buffers 1048576 bytes

---------------------

db_block_buffers = 0

db_block_size = 8192

db_cache_size = 419430400

hash_area_size = 131072

java_pool_size = 134217728

large_pool_size = 0

log_buffer = 1048576

open_cursors = 2000

sessions = 1200

sga_max_size = 1677721600

shared_pool_reserved_size = 10905190

shared_pool_size = 218103808

sort_area_retained_size = 0

sort_area_size = 65536

仅供参考

【责编:Amy】

--------------------next---------------------

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值