ksvcreate: Process(m000) creation failed

一测试服务器数据库(Oracle Database 10g Release 10.2.0.5.0 - 64bit Production)突然访问不了,检查发现数据库处于挂起模式(hang mode),检查告警日志,发现有“ksvcreate: Process(m000) creation failed”,”kkjcre1p: unable to spawn jobq slave process“之类的错误信息。具体如下所示:

Sun Jan 17 09:56:05 CST 2016
Thread 1 advanced to log sequence 1729 (LGWR switch)

  Current log# 1 seq# 1729 mem# 0: /u01/oradata/SCM2/redo01.log

Sun Jan 17 21:34:01 CST 2016

Thread 1 advanced to log sequence 1730 (LGWR switch)

  Current log# 2 seq# 1730 mem# 0: /u01/oradata/SCM2/redo02.log

Mon Jan 18 09:06:00 CST 2016

ksvcreate: Process(m000) creation failed

Mon Jan 18 09:12:50 CST 2016

WARNING: inbound connection timed out (ORA-3136)

Mon Jan 18 09:37:13 CST 2016

Thread 1 advanced to log sequence 1731 (LGWR switch)

  Current log# 3 seq# 1731 mem# 0: /u01/oradata/SCM2/redo03.log

Mon Jan 18 09:43:10 CST 2016

kkjcre1p: unable to spawn jobq slave process 

Mon Jan 18 09:43:10 CST 2016

Errors in file /u01/app/oracle/admin/SCM2/bdump/scm2_cjq0_586.trc:

当时开发人员急着测试,没时间给我研究具体原因,所以就重启了数据库实例(不能通过shutdown immeidate关闭,只能通过shutdown abort关闭)。

关于告警日志里面的错误信息,我们看出m000进程创建失败,PMON进程无法启动该进程。一般情况下,PMON无法启动进程原因有下面一些:

1、Oracle连接数超过进程数限制。(正是由于Oracle达到了进程数限制,进而PMON无法创建m000进程)

2、进程死锁。

Bug 8426816 PMON may hang cleaning up a dead process (rare)

3、Bug引起的


Database hangs With Message ‘Ksvcreate: Process(M001) Creation Failed‘ (文档 ID 1233079.1)

事后我检查了一下v$resource_limit,发现会话连接数、进程数并没有超。那么完全可以排除这个因素,那么现在就有可能是进程死锁或bug造成的

同事在检查过程中发现Physic memory资源严重不足,引起了Swap频繁读写。继续检查SGA参数发现sga_max_size、sga_target设置过大(这台测试服务器是虚拟机做的克隆,生产环境的RAM为64G,SGA也设置较大,克隆过后ORACLE实例启动不了,调整了SGA_TARGET、SGA_MAX_SIZE等参数后才启动成功,但是不知为什么sga_max_size设置了成了11264M(11G),有可能是当时要设置为1G多,因为物理内存才3G多,但是不知是手抖了还是搞晕了,当然也不排除后面被人改掉,居然设置成了11264M大小,汗颜啊。居然运行了这么久直到最近才出现问题,测试数据库基本不会做巡检)

然后在Troubleshooting Guide (TSG) - Ksvcreate: Process(xxxx) Creation Failed / ORA-00445: Background Process "xxxx" Did Not Start After n Seconds (文档 ID 1379200.1) 里面发现当OS的资源或设置不正确时,尤其是物理内存或swap不足时,将会导致不能生成新的进程。英文原文如下:

OS Configuration Checks

This error may be observed due to lack of OS resources or incorrect configuration, typically memory or swap may be insufficient to spawn a new process. Please check the list below to verify the OS settings and configuration

当然关于这点我和同事有些争议。不过我认为是这些导致数据库出现这些问题的。修改SGA相关参数应该能解决这个问题,不过还需观察一段时间。

另外,关于kswapd0进程,在博客调整linux内核尽量用内存,而不用swap里面有较详细介绍,摘抄部分内容如下所示:

Linux uses kswapd for virtual memory management such that pages that havebeen recently accessed are kept in memory and less active pages are paged outto disk.

(what is a page?)…Linux uses manages memory in units called pages.

So,the kswapd process regularly decreases the ages of unreferencedpages…and at the end they are paged out(moved out) to disk

kswapd0进程的作用:它是虚拟内存管理中,负责换页的,操作系统每过一定时间就会唤醒kswapd ,看看内存是否紧张,如果不紧张,则睡眠,在 kswapd 中,有2 个阀值,pages_hige 和 pages_low,当空闲内存页的数量低于 pages_low的时候,kswapd进程就会扫描内存并且每次释放出32 个free pages,直到 free page 的数量到达pages_high。

physical mem 不足,引起 swap 频繁读写。kswapd0 是系统的虚拟内存管理程序,如果物理内存不够用,系统就会唤醒 kswapd0 进程,由 kswapd0 分配磁盘交换空间作缓存,因而占用大量的 CPU 资源。

参考资料:

http://www.myjishu.com/?p=80

http://www.nowamagic.net/librarys/veda/detail/2539

时间: 2024-10-25 11:59:19

ksvcreate: Process(m000) creation failed的相关文章

ksvcreate: Process(m001) creation failed,一次数据库故障

linux oracle 10g RAC 双节点RAC,客户反映节点1无法连接,说是连接数满了 使用VPN登录到服务器,sqlplus / as sysdba登录执行查询报错no login 查看alert日志报错 ksvcreate: Process(m001) creation failed 一开始怀疑是连接数满了. 1.查看连接数 ps -ef | grep no | wc -l 显示112个,连接数并没有满 2.查看系统日志报错 vi /var/log/message 并无异常 3.这时

Process m000 died, see its trace file

数据库是11g的物理DG standby database报错Process m000 died, see its trace file. 现在网上搜索的此错误,是资源耗尽不能连接,但是数据库仍然存活. 这种情况通过调整资源数解决,如processes达到上限 查看资源使用情况 select * from v$resource_limit; RESOURCE_NAME                  CURRENT_UTILIZATION MAX_UTILIZATION INITIAL_ALL

IBUS-WARNING **: Process Key Event failed: Timeout was reached

在gvim中ibus敲字时,偶尔会在n秒之后才显示到屏幕,反应死慢.控制台会看到下面的错误信息. (gvim:77687): IBUS-WARNING **: Process Key Event failed: Timeout was reached. 暂时无法搞清具体原因,所以用重启ibus的笨办法解决. 杀死ibus进程 ps -ef |grep ibus-daemon 找到进程,然后kill掉 启动 ibus ibus-daemon -d -x -r -d 作为后台程序运行 -x 执行ib

tomcat报错严重: Poller creation failed

这也是偶然遇到的一个问题 解决办法: 广大码农说关掉防火前就ok. 以前还从未遇到这种问题,可能是一直裸奔,什么防火前,杀毒都不用的问题.以前一直没遇到过. 严重: Poller creation failed org.apache.tomcat.jni.Error: 730060: ????l????????????ó???????????òl????÷?ú? at org.apache.tomcat.jni.Poll.create(Native Method) at org.apache.t

JAR creation failed. See details for additional information解决方案大全

今天用myEclipse导出项目为jar包,总提示这个问题,具体错误详情: 想尽了各种办法,每一个都试了下,终于解决.下面分享我的解决过程(项目不是我做的) 1.选中项目右键=>properties=>Java Compiler=>JDK Compliance level栏换一个JDK,最好版本换成1.6以上的 2.正常打包流程,一步步点,如果总是不成功,可以尝试将以下两个选项的勾去掉 3.选择Project-->Clean   然后选择你的项目,clean一下(由于某种原因,缓存

【Tomcat】Unrecognized Windows Sockets error: 10106: Socket creation failed

tomcat8启动过程中报如下错误 30-Nov-2017 22:45:52.892 严重 [main] org.apache.catalina.core.StandardServer.await StandardServer.await: create[localhost:8005]: java.net.SocketException: Unrecognized Windows Sockets error: 10106: create at java.net.ServerSocket.crea

执行yum提示错误:rpmdb: BDB0113 Thread/process 424227/139826856310848 failed

[问题]在执行yum安装或者其他命令时,有如下提示: [解决办法:重新构建rpm数据库] [root@cly ~]# cd /var/lib/rpm [root@cly rpm]# ls Basenames __db.001 __db.003 Group Name Packages Requirename Sigmd5 Conflictname __db.002 Dirnames Installtid Obsoletename Providename Sha1header Triggername

yum源出问题,rpmdb: BDB0113 Thread/process 17276/140338032428864 failed: BDB1507 Thread died in Berkeley DB library

yum源出问题 cd /var/lib/rpm rm -f *db.* rpm --rebuilddb 重构了之后就可以用了 原文地址:https://www.cnblogs.com/gered/p/12008684.html

ORA-12537:TNS:connectionclosed错误处理过程

1,同事说oracle测试换了连接不上了,报错如下 ? 1 2 3 4 5 6 7 8 9 10 11 <code class=" hljs ruby">[[email protected] admin]$ rlwrap sqlplus powerdesk/[email protected] SQL*Plus: Release 11.2.0.1.0 Production on Mon Nov 23 14:16:31 2015 Copyright (c) 1982, 2009