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

相關文章
相關標籤/搜索