ORA-00020: No more process state objects available故障一例
今天公司一大早收到通知,昨天数据库数据未生成。当时查看跑批的日志,发现平常只需运行半个小时的过程,今天整整运行了7个小时(明显存在问题),导致后续数据正常时间读取失败。为了了解起因,查看了oracle 的告警日志,发现在早上1点半左右出现了错误 ORA-00020: No more process state objects available,进程p062在执行的过程中被告知无可用的进程状态 导致进程hang在哪里,知道有连接断开才继续,具体日志信息如下:
Current log# 5 seq# 9361 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo05.log
Sat Mar 26 01:31:31 2016
Thread 1 advanced to log sequence 9362 (LGWR switch)
Current log# 6 seq# 9362 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo06.log
Thread 1 advanced to log sequence 9363 (LGWR switch)
Current log# 9 seq# 9363 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo09.log
Thread 1 advanced to log sequence 9364 (LGWR switch)
Current log# 10 seq# 9364 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo10.log
Thread 1 advanced to log sequence 9365 (LGWR switch)
Current log# 3 seq# 9365 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo03.log
Sat Mar 26 01:37:13 2016
ORA-00020: No more process state objects available
ORA-20 errors will not be written to the alert log for
the next minute. Please look at trace files to see all
the ORA-20 errors.
Process P062 submission failed with error = 20
Sat Mar 26 01:40:46 2016
ORA-00020: No more process state objects available
ORA-20 errors will not be written to the alert log for
the next minute. Please look at trace files to see all
the ORA-20 errors.
Process P062 submission failed with error = 20
Sat Mar 26 01:46:17 2016
ORA-00020: No more process state objects available
ORA-20 errors will not be written to the alert log for
the next minute. Please look at trace files to see all
the ORA-20 errors.
Process m000 submission failed with error = 20
Sat Mar 26 01:48:45 2016
Thread 1 advanced to log sequence 9366 (LGWR switch)
Current log# 11 seq# 9366 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo11.log
Sat Mar 26 01:55:33 2016
Thread 1 advanced to log sequence 9367 (LGWR switch)
Current log# 12 seq# 9367 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo12.log
Thread 1 advanced to log sequence 9368 (LGWR switch)
Current log# 4 seq# 9368 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo04.log
Sat Mar 26 01:56:39 2016
Thread 1 advanced to log sequence 9369 (LGWR switch)
Current log# 1 seq# 9369 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo01.log
Sat Mar 26 02:00:15 2016
Thread 1 advanced to log sequence 9370 (LGWR switch)
Current log# 2 seq# 9370 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo02.log
Sat Mar 26 02:04:33 2016
Thread 1 advanced to log sequence 9371 (LGWR switch)
Current log# 7 seq# 9371 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo07.log
Thread 1 advanced to log sequence 9372 (LGWR switch)
Current log# 8 seq# 9372 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo08.log
Thread 1 advanced to log sequence 9373 (LGWR switch)
Current log# 5 seq# 9373 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo05.log
Sat Mar 26 02:04:43 2016
Thread 1 advanced to log sequence 9374 (LGWR switch)
Current log# 6 seq# 9374 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo06.log
Thread 1 advanced to log sequence 9375 (LGWR switch)
Current log# 9 seq# 9375 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo09.log
Sat Mar 26 02:26:22 2016
Thread 1 advanced to log sequence 9376 (LGWR switch)
Current log# 10 seq# 9376 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo10.log
Sat Mar 26 04:00:04 2016
DM00 started with pid=39, OS id=33332, job ETLUSER.NBIFULLDUMP
Sat Mar 26 04:00:05 2016
DW00 started with pid=37, OS id=33334, wid=1, job ETLUSER.NBIFULLDUMP
Sat Mar 26 04:00:14 2016
Thread 1 advanced to log sequence 9377 (LGWR switch)
Current log# 3 seq# 9377 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo03.log
Sat Mar 26 04:00:23 2016
DW01 started with pid=41, OS id=33342, wid=2, job ETLUSER.NBIFULLDUMP
Sat Mar 26 04:00:23 2016
DW02 started with pid=42, OS id=33344, wid=3, job ETLUSER.NBIFULLDUMP
Sat Mar 26 04:00:23 2016
DW03 started with pid=43, OS id=33346, wid=4, job ETLUSER.NBIFULLDUMP
Sat Mar 26 04:00:23 2016
DW04 started with pid=44, OS id=33348, wid=5, job ETLUSER.NBIFULLDUMP
Sat Mar 26 04:00:23 2016
DW05 started with pid=45, OS id=33350, wid=6, job ETLUSER.NBIFULLDUMP
Sat Mar 26 04:00:23 2016
DW06 started with pid=46, OS id=33352, wid=7, job ETLUSER.NBIFULLDUMP
Sat Mar 26 04:00:23 2016
DW07 started with pid=47, OS id=33354, wid=8, job ETLUSER.NBIFULLDUMP
Sat Mar 26 04:03:57 2016
Thread 1 advanced to log sequence 9378 (LGWR switch)
Current log# 11 seq# 9378 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo11.log
Sat Mar 26 04:04:18 2016
Thread 1 advanced to log sequence 9379 (LGWR switch)
Current log# 12 seq# 9379 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo12.log
Sat Mar 26 04:04:42 2016
Thread 1 advanced to log sequence 9380 (LGWR switch)
Current log# 4 seq# 9380 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo04.log
Sat Mar 26 04:05:06 2016
Thread 1 advanced to log sequence 9381 (LGWR switch)
Current log# 1 seq# 9381 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo01.log
Sat Mar 26 04:05:51 2016
Thread 1 advanced to log sequence 9382 (LGWR switch)
Current log# 2 seq# 9382 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo02.log
Sat Mar 26 04:51:01 2016
Thread 1 cannot allocate new log, sequence 9383
Private strand flush not complete
Current log# 2 seq# 9382 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo02.log
Thread 1 advanced to log sequence 9383 (LGWR switch)
Current log# 7 seq# 9383 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo07.log
Sat Mar 26 04:52:37 2016
Thread 1 cannot allocate new log, sequence 9384
Private strand flush not complete
Current log# 7 seq# 9383 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo07.log
Thread 1 advanced to log sequence 9384 (LGWR switch)
Current log# 8 seq# 9384 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo08.log
Sat Mar 26 08:28:51 2016
Thread 1 advanced to log sequence 9385 (LGWR switch)
Current log# 5 seq# 9385 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo05.log
Sat Mar 26 12:00:28 2016
Thread 1 advanced to log sequence 9386 (LGWR switch)
Current log# 6 seq# 9386 mem# 0: /u01/app/oracle/oradata/ORCL/ORCL/onlinelog/redo06.log
该错误信息一般在Oracle实例在创建一些辅助后台进程(如mmon的子进程m00x或者子进程W00x等)时出现进程启动失败时出现,而造成该错误的可能性有多种,包括Oracle实例资源不足、操作系统资源不足等等。其中较为常见的是实例instance的process使用达到上限,可以通过查询v$resource_limit视图来了解实例生命周期内是否发生过process总数暴满的情况:
我们可以看到processes的MAX_UTILIZATION最大使用数目曾到过LIMIT_VALUE限定的100,
sessions是126
从以上V$resource_limit视图的输出来看,极有可能是processes总数达到上限导致了新的后台辅助进程创建失败,其实我们可以很方便地验证这一点:
[oracle@db trace]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.1. Production on Sat Mar :: Copyright (c) , , Oracle. All rights reserved. Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1. - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options SQL> show parameter processes NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer
db_writer_processes integer
gcs_server_processes integer
global_txn_processes integer
job_queue_processes integer
log_archive_max_processes integer
processes integer
SQL>
以上我们可以清楚地了解到是因为数据库在实际运行中出现了processes进程总数达到参数设定上限从而导致问题出现。
那么可以合理增加初始化参数processes来解决该问题。
ORA-00020: No more process state objects available故障一例的更多相关文章
- Linux进程状态 ( Linux Process State Codes)
进程状态代码及说明: STATE代码 说明 D 不可中断的睡眠. 通常是处于I/O之中. R 运行中/可运行. 正处于运行队列中. S 可中断的睡眠. 等待某事件发生. T 已停止. 可能是因为she ...
- Linux process state codes
Here are the different values that the s, stat and state output specifiers (header "STAT" ...
- Linux 进程状态 概念 Process State Definition
From : http://www.linfo.org/process_state.html 进程状态是指在进程描述符中状态位的值. 进程,也可被称为任务,是指一个程序运行的实例. 一个进程描述符是一 ...
- Linux 进程状态标识 Process State Definition
From : http://www.linfo.org/process_state.html 译者:李秋豪 进程状态标识是指在进程描述符中状态位的值. 进程,也可被称为任务,是指一个程序运行的实例. ...
- linux 常用命令-ps(process state)
ps -ef | grep 端口号:查看某个端口的占用情况 ps -tunlp | grep 端口号:查看占用端口的进程名称
- Oracle异常汇总
持续更新中,可参见https://hnuhell.gitbooks.io/oracle_errmg/content/或https://hnuhell.github.io/Oracle_ERRMG/上的 ...
- Oracle中session和processes的设置
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...
- 【翻译自mos文章】在10g中,当发生ORA-00020时,sqlplus登陆会报“connected to an idle instance”
在10g中.当发生ORA-00020时,sqlplus登陆会报"connected to an idle instance" 来源于: Sqlplus Logon Reports ...
- Oracle 中session和processes的初始设置
http://blog.163.com/succu/blog/static/193917174201252911727149/ 1.sessions 在初始化参数所设定的限制中,最为人所知的估计就 ...
随机推荐
- Java新集合
对我来说,集合类属于最强大的一种工具,特别适合在原创编程中使用.大家可能已感觉到我对Java 1.1 提供的集合多少有点儿失望.因此,看到Java 1.2 对集合重新引起了正确的注意后,确实令人非常愉 ...
- ubuntu 14.04 解决JavaMelody 图片中文乱码
从windows系统中,copy了MSYH.TTC和MSYHBD.TTC 2个文件到 服务器的%JAVA_HOME%\jre\lib\fonts\fallback 目录中, (如果fallback目录 ...
- css通用小笔记02——浮动、清除(三个例子)
css中通常会用到浮动与清除,也是一个必须掌握的知识点,概念性的东西不多说,下面举几个例子,来说明它的用法:1.文字环绕效果 2.多个div并排显示 3.清除浮动(默认显示) 一.文字环绕效果: h ...
- 使用animate()的时候,有时候会出现移进移出的闪动问题
怎么解决这种问题呢?在animate()前面需要加上stop() 例如: $(".nav_list").hover(function(){ $(".div1") ...
- Android无线调试
方法一: 1. 使用USB数据线连接设备. 2. 命令输入adb tcpip 5555 ( 5555为端口号,可以自由指定). 3. 断开 USB数据,此时可以连接你需要连接的|USB设备. 4. 再 ...
- Android 扒开美女衣服
本文主要实现一个小的扒开美女衣服的游戏项目 效果如下: 项目布局设计: <FrameLayout xmlns:android="http://schemas.android.com/a ...
- MAVEN中的插件放在哪个dependcies里面
如果你用maven来管理项目的话,你会发现你要依赖很多plugin,于是引出了一个问题. 一个project中可能有两个<dependcies>这个tag, 如下 <dependci ...
- NSPredicate
NSPredicate 1. 正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.通常被用来检索.替换那些符合某个模式的文本. 2. iOS中正则使用 有三种(NSPredicate, ...
- iOS开发之集成百度地图踩过的那些坑(基于 Xcode7.0/iOS9.2)
本篇分4步讲述如何在项目中集成百度地图: 第一步:创建项目 第二步:利用 cocoaPod 导入百度地图的 SDK(pod 'BaiduMapKit' #百度地图SDK) 第三步:在 pch 文件中导 ...
- yii2搭建完美后台并实现rbac权限控制案例教程
作者:白狼 出处:www.manks.top/article/yii2_frame_rbac_template 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连 ...