ASM 启动报错 ORA-27300, ORA-27301 and ORA-27302: failure occurred at: sskgpsemsper 解决方法

 

 

运维班里一学生作实验,启动ASM实例,结果报错以下:css

SQL> startupweb

ORA-27154: post/wait create failedsql

ORA-27300: OS system dependentoperation:semget failed with status: 28oracle

ORA-27301: OS failure message: No spaceleft on deviceapp

ORA-27302: failure occurred at:sskgpsemsper运维

 

OS:Redhat 5.6ide

OS:11.2.0.1post

 

 

--查看磁盘信息:测试

[root@lab01 ~]# df -h优化

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda1              27G   11G  15G  43% /

tmpfs                 506M     0 506M   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

CORE   11.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    State    Host       

------------------------------------------------------------

ora.DATA.dg    ora....up.type ONLINE    ONLINE   lab01      

ora.FRA.dg     ora....up.type ONLINE    ONLINE   lab01      

ora....ER.lsnr ora....er.type ONLINE    ONLINE   lab01      

ora.asm        ora.asm.type   ONLINE   ONLINE    lab01      

ora.cssd       ora.cssd.type  ONLINE   ONLINE    lab01      

ora.diskmon    ora....on.type ONLINE    ONLINE   lab01      

ora.lab01.db   ora....se.type ONLINE    ONLINE   lab01

 

 

 

 

 

--------------------------------------------------------------------------------------------

版权全部,文章容许转载,但必须以连接方式注明源地址,不然追究法律责任!

QQ:      251097186

Skype:    tianlesoftware

Email:    tianlesoftware@gmail.com

Blog:     http://blog.csdn.net/tianlesoftware

Weibo:    http://weibo.com/tianlesoftware

Twitter:  http://twitter.com/tianlesoftware

Facebook: http://www.facebook.com/tianlesoftware

Linkedin: http://cn.linkedin.com/in/tianlesoftware

相关文章
相关标签/搜索