已索引
利用DBCA创建数据库,重启数据库,都可能会出现此类错误。
主要原因有两个:
1、数据库实例太多,需要比较多的信号量
2、kernel.shmall在12.1中因为bug需要调大
情况1
报错信息如下:
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
解决的办法就是修改 Linux 内核参数:
[root@linuxserver ~]# /sbin/sysctl -a | grep sem
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 1024 100 128
[root@linuxserver ~]# vi /etc/sysctl.conf
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
# sysctl -p
情况2
报错信息如下:
SQL> startup nomount;
ORA-27125: unable to create shared memory segment
Linux-x86_64 Error: 28: No space left on device
Additional information: 3760
Additional information: 4966055936
解决办法:
# free -h
16g
# kernel.shmall = 1626815 (原值)
kernel.shmall = 11626815 (直接在最前面加1)