联系:手机/微信(+86 17813235971) QQ(107644445)
标题:ORA-27154 ORA-27300 ORA-27301 ORA-27302故障处理
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
根据经验对系统的内核参数做了一些调整,结果导致数据库启动失败提示报ORA-27154 ORA-27300 ORA-27301 ORA-27302错误
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
根据官方描述:Database Startup Fails with ORA-27300: OS system dependent operation:semget failed with status: 28 (Doc ID 949468.1),出现该问题原因可能是由于kernel.sem参数配置不合适当时,该库的processes配置为:20000,kernel.sem参数配置为:kernel.sem = 250 32000 100 128,参数说明:
kernel.sem = SEMMSL SEMMNS SEMOPM SEMMNI SEMMSL - max semaphores per array SEMMNS - max semaphores system wide SEMOPM - max ops per semop call SEMMNI - max number of arrays
理论上每个这样的配置最大值SEMMSL*SEMMNI=32000大于process的20000的设置,可是实际上控制每个信号集的信号数量没有达到250,而是只有156,通过ipcs命令可以看
[oracle@xifenfei ~]$ ipcs ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status 0x00000000 32768 oracle 640 33554432 30 0x00000000 65537 oracle 640 4261412864 30 0xc2d167d0 98306 oracle 640 2097152 30 0x00000072 131075 root 444 1 1 ------ 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
从而使得SEMMSL*SEMMNI小于processes值,进而数据库启动报ORA-27154 ORA-27300 ORA-27301 ORA-27302,修改kernel.sem = 250 64000 128 256,数据库启动成功