Oracle内存抖动的主要原因,数据库内存抖动

在数据库巡检的过程中,发现在AWR报告中(该报告的采集间隔为1小时),两个采集点的Buffer Cache和Shared Pool Size发生了较大变化:

接着查询v$SGA_RESIZE_OPS视图:确实在报告对应的时间里发生了shared pool的增长与buffer

cache的收缩。

原因:

内存抖动指的是SGA中的内存在各内存组件之间频繁变动。在SGA内存自动管理模式下,SHARED POOL大小会倾向于自动调整到较大值,在极端情况下,容易引起性能问题。数据库SGA现在为自动管理。

SQL> show parameter sga

NAME

TYPE        VALUE

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

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

sga_max_size

big

integer 64000M

sga_target

big integer 64000M

内存抖动危害:

1,影响系统性能

2,消耗过多CPU资源

3,导致系统宕机

解决:

通过把SGA改为手动管理来解决此问题,过大的SGA容易导致系统内存交换,过小的SGA容易导致内存争用或者内存不足,报ORA-4031的错误。对于各组件设置多大合适,我们参照AWR中,进行设置。

SGA由自动管理改为手动管理

alter system set sga_target=0 scope=spfile

sid='*';

alter system set db_cache_size=51248M

scope=spfile sid='*';

alter system set shared_pool_size=12000M

scope=spfile sid='*';

alter system set large_pool_size=208M

scope=spfile sid='*';

alter system set java_pool_size=208M scope=spfile

sid='*';

alter system set streams_pool_size=208M

scope=spfile sid='*';

修改完以后重启数据库

验证是否修改成功:

SQL> show parameter sga

NAME

TYPE        VALUE

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

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

sga_max_size

big integer 64000M

sga_target

big integer 0数据库已修改为内存手动管理。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值