我的一个客户的Oracle数据库不能启动,出现下面的提示:
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
乍一看以为是硬盘空间不够,使用du进行检查,发现空间没有问题。而且这个错误是在实例启动到nomount状态时出现的,这个过程中只需要访问数据库的参数文件,并不涉及到硬盘空间的问题。
关于号主,姚远:
-
Oracle ACE(Oracle和MySQL数据库方向)
-
华为云最有价值专家
-
《MySQL 8.0运维与优化》的作者
-
拥有 Oracle 10g、12c和19c OCM等数十项数据库认证
-
曾任IBM公司数据库部门经理
-
20+年DBA经验,服务2万+客户
-
精通C和Java,发明两项计算机专利
在rman中启动dummy实例(export ORACLE_SID=dummy)试试,也出现了同样的错误:
$ export ORACLE_SID=dummy
$ rman target
Recovery Manager: Release 19.0.0.0.0 - Production on Tue Jan 9 10:14:24 2024
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
connected to target database: DUMMY (not mounted)
RMAN> startup nomount;
startup failed:0RA-01078:failure inprocessing systemparameters
LRM-00109:could notopen parameter file'/u01/app/oracle/product/19.3.0/db/dbs/initdummy.ora
starting Oracleinstance without parameter file forretrieval of spfile
RMAN-00571:===================================================================
RMAN-00569:============ERROR MESSAGE STACK FOLLOWS============================
RMAN-00571:===================================================================
RMAN-03002:fatlure of startup command at 01/03/2024 14:48:06
RMAN-04014:startup failed: 0RA-27154: post/wait create failed
ORA-27300:OS system dependent operation:semget failed with status:28
ORA-27301:Os failuremessage:No spaceleft on device
oRA-27302:failure 0ccurred at:sskgpcreates
RMAN>
通过检查pmon进程查看已经启动的实例,发现有5个已经启动的实例。到metalink上面找一下,发现一个相似的文档,Doc ID 314179.1。从文档中的分析,可能是Linux的信号量不足造成的,把信号量增大一倍,重启启动dummy实例,成功了!相关操作见下图:
欢迎加我的微信,拉你进数据库微信群👇
推荐文章👇
从国内外IT人的差异谈如何破除35岁魔咒
试看《MySQL 8.0运维与优化》(清华大学出版社)
托业890分的Oracle ACE为您翻译国际大佬的雄文(合集)