首页 / 数据库 / MySQL / ORA-27102: out of memory
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--------------------------------------分割线 --------------------------------------在CentOS 6.4下安装Oracle 11gR2(x64) http://www.linuxidc.com/Linux/2014-02/97374.htmOracle 11gR2 在VMWare虚拟机中安装步骤 http://www.linuxidc.com/Linux/2013-09/89579p2.htmDebian 下 安装 Oracle 11g XE R2 http://www.linuxidc.com/Linux/2014-03/98881.htm--------------------------------------分割线 --------------------------------------更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址