谁动了你的内存(白俄ORA-04030)

本文分析了ORA-04030错误产生的原因,并提供了具体的解决方案,包括调整SGA和PGA配置,优化应用程序减少排序操作等。

ORA-04030:out of process memory when trying to allocate string bytes
产生该错误的直接原因是oracle服务器无法从操作系统中分配内存(PGA、UGA)给新的连接

可能的原因是:
1)操作系统内存耗尽
2)os、db级别的内存使用限制
3)oracle内存分配的是否合理

1)白俄DB的物理内存为8G,交换分区为2G
观察得出物理内存的使用率都在99%以上;虚拟内存的使用率在40%到70%之间
虚拟内存的使用率偏高,可以通过填内存、优化应用的减少排序的方式,来降低使用率

2)内存分配限制
(1)查看操作系统内存限制:
MSKiptv2-scp-1:~ # ulimit -a
core file size        (blocks, -c) unlimited
data seg size         (kbytes, -d) unlimited
file size             (blocks, -f) unlimited
max locked memory     (kbytes, -l) unlimited
max memory size       (kbytes, -m) unlimited
open files                    (-n) 8192
pipe size          (512 bytes, -p) 8
stack size            (kbytes, -s) unlimited
cpu time             (seconds, -t) unlimited
max user processes            (-u) 73728
virtual memory        (kbytes, -v) unlimited

上面显示操作系统没有做内存限制

(2)内核参数:
白俄:
MSKiptv2-scp-1:~ # /sbin/sysctl -p
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
内核参数未作调整
在suse 64bit操作系统上安装64bit的oracle需要调整内核参数,现网没有做任何调整
需要将附件中文件分别上传到/etc/和/etc/security/下
#dos2unix /etc/sysctl.conf
#dos2unix /etc/security/limits.conf
#sysctl -p
#chkconfig boot.sysctl on

(3)oracle内存分配
1、SGA设置如下:
SQL> show parameters sga
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
lock_sga                             boolean     FALSE
pre_page_sga                         boolean     FALSE
sga_max_size                         big integer 1600M
sga_target                           big integer 0
SGA设置为1600M,且未设置成自动管理(sga_target为0),需要将其设置成sga_max_size大小

2、PGA设置
PGA只有400m  这个值相对太小了,由于workarea_size_policy为auto,查看PGA历史上使用的峰值为:
NAME                                                                  VALUE UNIT
---------------------------------------------------------------- ---------- ------------
maximum PGA allocated                                            7052241920 bytes
最高峰为6.5个G

SGA和PGA的设置不足是导致ORA-04030错误的原因之一,建议分别设置成4G、1G
另外需要查看十点到十二点的top SQL 优化代码,减少排序

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

转载于:http://blog.itpub.net/25801738/viewspace-702590/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值