刚装好的oracle,系统重启后加载不了,情形如下:
[oracle@localhost ~]$ sqlplus '/as sysdba'
SQL*Plus: Release 11.2.0.1.0 Production on Sat Apr 7 15:56:14 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORA-27154: post/wait create failed
ORA-27300: OS system dependent operation:semget failed with status: 28
ORA-27301: OS failure message: No space left on device
ORA-27302: failure occurred at: sskgpsemsper
在网上搜了一圈,发现是linux内核参数设置不对。
oracle 11g的内核参数要求,请参考oracle官方文档:
具体在我碰到的情形,系统设置是:
[root@localhost ~]# /sbin/sysctl -a|grep sem
kernel.sem = 250 100 100 128
而实际上,安装Oracle11gR2对sem参数的需求是:
semmsl:250
semmns:32000
semopm:100
semmni:128
解决办法如下:
使用文本编辑器,编辑文件/etc/sysctl.conf(这种方式可以保证重启后修改的参数任然有效),修改类似下面的内容:
(下面的内容来自与oracle官网,不同版本参数可能不同,请参靠官网)
fs.file-max = 65536kernel.shmall = 2097152kernel.shmmax = 2147483648kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576
使用下面的命令检查配置:
/sbin/sysctl -p
好了,现在可以加装oracle了。建议重启下系统,验证下配置是否任然有效。