运维班里一学生做实验,启动ASM实例,结果报错如下:
SQL> startup
ORA-27154: post/wait create failed
ORA-27300: OS system dependentoperation:semget failed with status: 28
ORA-27301: OS failure message: No spaceleft on device
ORA-27302: failure occurred at:sskgpsemsper
OS:Redhat 5.6
OS:11.2.0.1
--查看磁盘信息:
[root@lab01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 27G 11G15G 43% /
tmpfs 506M 0506M 0% /dev/shm
该问题存在与11.2.0.1 之后的版本,导致的原因是因为semmns的值太低。 该值在/etc/sysctl.conf中配置。
格式如下:
sem = semmsl semmns semopm semmni
kernel.sem = 256 32768 100 228
semaphores参数的优化原则如下:
1. Calculate the minimum total semaphorerequirements using the following formula:
2*sum (process parameters of all databaseinstances on the system) + overhead for background processes + system and otherapplications.
2. Set semmns (total semaphores systemwide)to this total.
3. Set semmsl (semaphores for each set ) to256
4. Set semmni (total semaphores sets) tosemmns devided by semmsl, rounded up to the nearest multiple of 1024
因此该问题的解决方法就是在/etc/sysctl.conf文件中替换kernel.sem为如下值:
kernel.sem = 256 32768 100 228
--顺便查了一下我自己的测试环境,这个是Oracle preinstall设置的值:
[oracle@dave ~]$ cat /etc/sysctl.conf|grepsem
# oracle-rdbms-server-11gR2-preinstallsetting for kernel.sem is '250 32000 100 128'
kernel.sem = 250 32000 100 128
修改之后,成功启动:
[grid@lab01 dbs]$ sqlplus / as sysasm
SQL*Plus: Release 11.2.0.1.0 Production onTue Dec 3 06:53:50 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ASM instance started
Total System Global Area 284565504 bytes
Fixed Size 1336036 bytes
Variable Size 258063644 bytes
ASM Cache 25165824 bytes
ASM diskgroups mounted
===========================================================
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise EditionRelease 11.2.0.1.0 - Production
PL/SQL Release 11.2.0.1.0 - Production
CORE11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 -Production
NLSRTL Version 11.2.0.1.0 - Production
------------------------------------------------------------
[grid@lab01 ~]$ crs_stat -t
Name Type Target StateHost
------------------------------------------------------------
ora.DATA.dg ora....up.type ONLINE ONLINElab01
ora.FRA.dg ora....up.type ONLINE ONLINElab01
ora....ER.lsnr ora....er.type ONLINE ONLINElab01
ora.asm ora.asm.type ONLINEONLINE lab01
ora.cssd ora.cssd.type ONLINEONLINE lab01
ora.diskmon ora....on.type ONLINE ONLINElab01
ora.lab01.db ora....se.type ONLINE ONLINElab01
--------------------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
QQ: 251097186
Skype: tianlesoftware
Email: tianlesoftware@gmail.com
Blog: http://blog.youkuaiyun.com/tianlesoftware
Weibo: http://weibo.com/tianlesoftware
Twitter:http://twitter.com/tianlesoftware