调整参数process报错ORA-27154,ORA-27300,ORA-27301,ORA-27302怎么办

这篇文章给大家分享的是有关调整参数process报错ORA-27154,ORA-27300,ORA-27301,ORA-27302怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

调整参数process报错:ORA-27154,ORA-27300,ORA-27301,ORA-27302: failure occurred at: sskgpcreates

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

看提示,会误以为是磁盘空间不足 (No space left on device), 但是仔细看最后的提示(一般报错最后的错误才是根源), 发现是信号量参数设置问题。

kernel.sem   = semmsl  semmns  semopm  semmni

调整了下/etc/sysctl.conf,原来值为
kernel.sem =250 32000 100 128

修改为
kernel.sem =250 32000 100 300

问题解决。

process和session的理解:

ORACLE的连接数(sessions)与其参数文件中的进程数(process)有关,它们的关系如下:
   sessions=(1.1*process+5)

但是我们增加process数时,往往数据库不能启动了。这因为我们还漏调了一个unix系统参数:它是/etc/system/ 中semmns,这是unix系统的信号量参数。每个process会占用一个信号量。semmns调整后,需要重新启动unix操作系统,参数才能生效。

不过它的大小会受制于硬件的内存或ORACLE SGA。范围可从200——2000不等。
  semmns的计算公式为:
     SEMMNS>processes+instance_processes+system
     processes             :数据库参数processes的值
     instance_processes:5(smon,pmon,dbwr,lgwr,arch)
     system                 :系统所占用信号量。

系统所占用信号量可用下列命令查出:
  #ipcs -sb
     
其中列NSEMS显示系统已占用信号量和其它一些跟连接有关的参数:
  licence_max_sessions, licence_sessions_warning 等默认设置都为零,也就是没有限制。

semaphores 参数的优化原则如下:
 
1. Calculate the minimum total semaphorerequirements 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) tosemmns devided by semmsl, rounded up to the nearest multiple of 1024

感谢各位的阅读!关于“调整参数process报错ORA-27154,ORA-27300,ORA-27301,ORA-27302怎么办”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/201436.html

(0)
上一篇 2021年11月24日
下一篇 2021年11月24日

相关推荐

发表回复

登录后才能评论