Oracle11.1.0.7版本的ASSM与ORA-04030错误

虽然Oracle的最新版本都已经要到12.2了,但是在国内的生产环境,因为各种原因,尤其是政府部门和传统企业,其数据库版本却没有迭代到最新的Oracle数据库版本,本人就负责的就有10g的生产库,并且还存着核心数据(之前听同行说他们生产环境还有9i的库,不敢轻易触碰。。。。。。)。这次的经验和教训是:
1、本人一开始学习的版本是11.2.0.4,相比之前的版本新特性很多,切忌套用到旧版本;
2、RAC架构的数据库,停库的时候一定要保留一个节点,一次关闭一个实例,这或许会成为你救命的稻草;
3、最浅显的错误有时候是最难以发现的,故障诊断的时候一开始就应该从最一般的原因开始诊断。

最近负责的一个RAC双节点的数据库,版本是11.1.0.7,alert日志中报了三年多的ORA-04030错误,具体如下:

点击(此处)折叠或打开

  1. DDE: Problem Key 'ORA 4030' was flood controlled (0x6) (incident: 1193848)
  2. ORA-04030: out of process memory when trying to allocate 368 bytes (kxs-heap-p,rworalo : rwordops)
  3. Further messages for this problem key will be suppressed for up to 10 minutes
Oracle是这么解释这个错误的:

点击(此处)折叠或打开

  1. [oracle@hhu ~]$ oerr ora 04030
  2. 04030, 00000, "out of process memory when trying to allocate %s bytes (%s,%s)"
  3. // *Cause: Operating system process private memory was exhausted.
  4. // *Action:
即操作系统pga资源紧张,查了一下系统pga和sga的大小:
pga_aggregate_target       20G
sga_target                       25G
memory_max_target        45G
结果在查询的时候还查到了 memory_max_target居然不是0,而是设置成了45G,当时就想,不是ASMM管理方式吗,怎么会加个 memory_max_target,感觉有点画蛇添足啊?接着查了一下pga和sga的实际使用量,发现pga最高的使用量不过7G,sga不到40G,乍一看感觉不出什么问题。因为这个问题没有严重影响系统的正常运行,一时半会儿又看不出什么问题,于是乎就把这个问题放着了。
大概过了一个半月,遇到了系统每两个月一次的负载高峰期,数据库响应时间异常长,事后对AWR进行分析的时候看到了服务器物理内存大小为64G,突然想起4030错误会不会是数据库内存设置过大超过了物理内存?!于是又查看了一下sga_max_size的大小,居然是45G!这样一来,sga_max_size加上 pga_aggregate_target的大小就超过了实际物理内存的大小,会不会就是问题所在?




待续

































































































































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

转载于:http://blog.itpub.net/29067253/viewspace-2100457/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值