已索引

利用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)
-- By 许望(RHCA、OCM、VCP)
最后修改:2023 年 11 月 07 日 11 : 40 AM
如果觉得我的文章对你有用,请随意赞赏