ORA-27300: OS system dependent operation:semget failed with status: 28 - 2

Database Startup Fails with ORA-27300: OS system dependent operation:semget failed with status: 28 (文档 ID 949468.1)  

Oracle Database - Enterprise Edition - Version 10.1.0.2 to 11.2.0.2 [Release 10.1 to 11.2]
Information in this document applies to any platform.

SYMPTOMS
On a linux server, when an additional database instance is brought up, getting errors: 
SQL> startup nomount 
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: sskgpcreates

CHANGES
An additional database has been created on a linux server. 
PROCESSES parameter in init.ora set to the correct value, accordingly. 
Linux Kernel Parameter for Semaphore - Total 32000 semaphore are available in the system but still gets an error - ORA-27300. 
$ ipcs -ls 

------ Semaphore Limits -------- 
max number of arrays = 128 
max semaphores per array = 250 
max semaphores system wide = 32000 
max ops per semop call = 100 
semaphore max value = 32767

CAUSE
In theory, 32000 semaphores are available in the system and one semaphore identifier can accommodate a maximum of 250 semaphores with 
the configuration above. 
But ipcs command shows each semaphore identifier accomodates maximum of 156 semaphores by Oracle. 

$ ipcs << For this case, it has around 100 semaphore identifiers being used without bringing up the additional instance. 
.. 

------ Semaphore Arrays -------- 
key semid owner perms nsems 
0x450e15bd 0 root 666 1 
0x0000cace 32769 root 666 1 
0x358b172c 327683 oracle 660 104 
0x9053d038 11075588 oracle 660 156 
0x9053d039 11108357 oracle 660 156 
0x9053d03a 11141126 oracle 660 156 
0x9053d03b 11173895 oracle 660 156 
.. 
According to this figure, the maximum available semaphores in this server will be 156 x 128 = 19968, not 32000.

SOLUTION
SEMMNI should be increased to accomodate more semaphores. 

1. Query the current semaphore values in the kernel 
     # /sbin/sysctl -a | grep sem

2. Modify SEMMNI value in the /etc/sysctl.conf. 
From 
kernel.sem = 250 32000 100 128 
To 
kernel.sem = 250 32000 100 200

3. # /sbin/sysctl -p

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-1827034/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/35489/viewspace-1827034/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值