码迷,mamicode.com
首页 > 其他好文 > 详细

ORA-27102: out of memory

时间:2014-09-25 13:20:59      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:ora-27102   linux   oracle   

64bit Redhat Linux,

[oracle@DB ~]$ uname -a
Linux DB 2.6.32-279.el6.x86_64 #1 SMP Wed Jun 13 18:24:36 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux

 

物理内存16G,SGA分配4G时,instance可以正常启动,超过4G了,就报“out of memory”的错误。

SQL> startup nomount pfile=‘/home/oracle/init.ora‘ 
ORA-27102: out of memory
Linux-x86_64 Error: 28: No space left on device

 

查了一下metalink,说这个问题是内核参数shmall太小的缘故,查看当前内核参数设置:

$ cat /proc/sys/kernel/shmall
2097152

 

通常这个值也是缺省值,建议改大。修改内核参数配置文件/etc/sysctl.cfg:

kernel.shmmax = 8294967295
kernel.shmmni = 4096
kernel.shmall = 4194304

 

执行生效:

[root@DB ~]# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 8294967295
kernel.shmmni = 4096
kernel.shmall = 4194304
kernel.msgmax = 8192
kernel.msgmnb = 32768
kernel.msgmni = 2048
kernel.sem = 512 64000 128 512
fs.file-max = 65536
fs.aio-max-nr = 1048576
net.core.rmem_max = 262144
net.core.wmem_max = 262144
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_rmem = 262144 262144 262144
net.ipv4.tcp_wmem = 262144 262144 262144

 

再次启动实例,正常。

 

参考文档:

 

Upon startup of Linux database get ORA-27102: out of memory Linux-X86_64 Error: 28: No space left on device (文档 ID 301830.1)

https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=678630284455922&id=301830.1&displayIndex=20&_afrWindowMode=0&_adf.ctrl-state=sjckvzhrj_101

 

本文出自 “Cheney.Yu” 博客,请务必保留此出处http://cheneyyu.blog.51cto.com/173219/1557998

ORA-27102: out of memory

标签:ora-27102   linux   oracle   

原文地址:http://cheneyyu.blog.51cto.com/173219/1557998

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!