重庆思庄Oracle、Redhat认证学习论坛

标题: oracle启动的时候报 ORA-27154、ORA-27300、ORA-27301、ORA-27302 [打印本页]

作者: 郑全    时间: 2020-1-8 12:02
标题: oracle启动的时候报 ORA-27154、ORA-27300、ORA-27301、ORA-27302
如题:

oracle启动的时候报 ORA-27154、ORA-27300、ORA-27301、ORA-27302



今天刚装了oracle11g,配制好了之后启动数据库时遇到下面的错误:
SQL> startup
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



作者: jiawang    时间: 2020-1-8 16:12
本帖最后由 jiawang 于 2020-1-8 16:14 编辑

官方解释:is semmns设置得太低
CAUSE
Cause is semmns is set too low.

SOLUTION
set semmns 32767
Make changes to increase number of semaphores on the system. For example: Linux /etc/sysctl.conf

sem=semmsl semmns semopm semmni
kernel.sem = 256 32768 100 228

Tuning Semaphore Parameters. Refer to the following guidelines.

1. Calculate the minimum total semaphore requirements using the following formula:

2*sum (process parameters of all database instances on the system) + overhead for background processes + system and other applications.

2. Set semmns (total semaphores systemwide) to this total.

3. Set semmsl (semaphores for each set ) to 256

4. Set semmni (total semaphores sets) to semmns devided by semmsl, rounded up to the nearest multiple of 1024

Example of default setting in /etc/sysctl.conf on Oracle Linux:

[root@node1 etc]# cat /etc/sysctl.conf
# Kernel sysctl configuration file for Oracle Enterprise Linux
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 0

# Controls source route verification
# See /usr/share/doc/kernel-doc-*/Documentation/networking/ip-sysctl.txt
net.ipv4.conf.default.rp_filter = 2

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename
# Useful for debugging multi-threaded applications
kernel.core_uses_pid = 1

# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1

# Controls the maximum size of a message, in bytes
kernel.msgmnb = 65536

# Controls the default maxmimum size of a mesage queue
kernel.msgmax = 65536

# Controls the maximum shared segment size, in bytes
kernel.shmmax = 68719476736

# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 4294967296
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
kernel.sem = 250  100

Make changes, at the bottom of /etc/sysctl.conf replace kernel.sem and add the following:

sem=semmsl semmns semopm semmni
kernel.sem = 256 32768 100 228

Then reboot.

This way semmns will be increased to 32768 and you will be able to start all resources.

详情见ORA-27300, ORA-27301 and ORA-27302: failure occurred at: sskgpsemsper when starting ASM instance (Doc ID 1494285.1)文档

作者: 郑全    时间: 2020-1-10 17:56
对的,是/etc/sysctl.conf的 sem 被人修改为 只剩后两位导致。




欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2