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 在初始化参数所设定的限制中,最为人所知的估计就 ...
随机推荐
- Test your application
Creating automatic test suites for your application is a good way to make it robust. It allows you t ...
- Visual Studio Code 使用 ESLint 增强代码风格检查
前言 在团队协作开发中,为了统一代码风格,避免一些低级错误,应该设有团队成员统一遵守的编码规范.很多语言都提供了Lint工具来实现这样的功能,JavaScript也有类似的工具:ESLint.除了可以 ...
- jQuery Layer 弹层组件
layer是一款近年来口碑非常不错的web弹层组件,她具备全方位的解决方案,致力于服务各个水平段的开发人员,您的页面会轻松地拥有丰富友好的操作体验. 在与同类组件的比较中,layer总是能轻易获胜.她 ...
- 一款经典的jQuery slidizle 幻灯片
jQuery广告幻灯片进度条,水平/左右切换,垂直/上下切换,自动播放,缩略图列表切换 在线实例 默认效果 水平/左右切换 垂直/上下切换 循环 自动播放 缩略图 进度条 回调函数 使用方法 < ...
- 【HTML5】HTML5本地数据库(Web Sql Database)
Web Sql数据库简介 Web SQL数据库API实际上不是HTML5规范的组成部分,而是单独的规范.它通过一套API来操纵客户端的数据库. Web SQL数据库的浏览器支持情况 Web SQL 数 ...
- 一次简单的分析手机APK病毒木马
写个笔记记录一下,起因是朋友在QQ上发了个连接叫我看看 安不安全,叫我帮他看看,反正在店里待着也没生意,那就顺便看看咯. 打开这个网址 会自动弹出下载一个名为OOXX的APK安装包. 起先我的思路是 ...
- Android EditText输入最大值提示功能
public class LengthFilter implements InputFilter { public LengthFilter(int max) { mMax = max; } @Ove ...
- app让个别界面横屏,其他的为竖屏,解决如下
app让个别界面横屏,其他的为竖屏,解决如下 APP设置里面,一定要设置可以旋转的方向 appdelegate里面重新系统方向代理 func application(application: UIAp ...
- kubernetes听云实战发布版
➠更多技术干货请戳:听云博客 听云线上使用k8s已经有一段时间了,下面对一些听云使用过程中的问题进行一些梳理,包括架构设计,安装部署和后期维护. 目录结构如下: 下面进入正题: 我们以听云系统的一个报 ...
- 安卓--selector简单使用
selector ---选择器 在App的使用中经常能看到selector的身影 如:一个按键看上去白色或者其它颜色,可能是一张图片 按下去又显示其它的颜色或者另外一张图片 这里使用shape配合使用 ...