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

来源:互联网 发布:unity3d spine2d插件 编辑:程序博客网 时间:2024/05/17 22:11

 

 

运维班里一学生做实验,启动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   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

原创粉丝点击