cari
Rumahpangkalan datatutorial mysqlORA-00020: No more process state objects available故障一例

今天一网友咨询数据库宕机了,当时数据库出现用户无法登录的症状,为了了解起因,去查看了网友的告警日志alert.log,发现在晚上1

今天一网友咨询数据库宕机了,当时数据库出现用户无法登录的症状,为了了解起因,去查看了网友的告警日志alert.log,发现在晚上10:00左右出现大量的ORA-00020: No more process state objects available 错误,具体错误日志如下:

Fatal NI connect error 12170.

  VERSION INFORMATION:
  TNS for Linux: Version 11.2.0.2.0 - Production
  Oracle Bequeath NT Protocol Adapter for Linux: Version 11.2.0.2.0 - Production
  TCP/IP NT Protocol Adapter for Linux: Version 11.2.0.2.0 - Production
  Time: 11-MAY-2015 14:28:28
  Tracing not turned on.
  Tns error struct:
    ns main err code: 12535
   
 TNS-12535: TNS:operation timed out
    ns secondary err code: 12560
    nt main err code: 505
   
 TNS-00505: Operation timed out
    nt secondary err code: 110
    nt OS err code: 0
  Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.102.150)(PORT=50069))
 Mon May 11 16:21:14 2015
 Thread 1 cannot allocate new log, sequence 1728
 Private strand flush not complete
  Current log# 4 seq# 1727 mem# 0: /oradata/orcl/redo4.log
 Thread 1 advanced to log sequence 1728 (LGWR switch)
  Current log# 3 seq# 1728 mem# 0: /oradata/orcl/redo3.log
 Mon May 11 22:00:00 2015
 Setting Resource Manager plan SCHEDULER[0x3107]:DEFAULT_MAINTENANCE_PLAN via scheduler window
 Setting Resource Manager plan DEFAULT_MAINTENANCE_PLAN via parameter
 Mon May 11 22:00:00 2015
 Starting background process VKRM
 Mon May 11 22:00:00 2015
 VKRM started with pid=83, OS id=27195
 Tue May 12 00:56:23 2015
 Thread 1 cannot allocate new log, sequence 1729
 Private strand flush not complete
  Current log# 3 seq# 1728 mem# 0: /oradata/orcl/redo3.log
 Thread 1 advanced to log sequence 1729 (LGWR switch)
  Current log# 1 seq# 1729 mem# 0: /oradata/orcl/redo01.log
 Tue May 12 02:00:00 2015
 Closing scheduler window
 Closing Resource Manager plan via scheduler window
 Clearing Resource Manager plan via parameter
 Tue May 12 10:46:48 2015
 Thread 1 cannot allocate new log, sequence 1730
 Private strand flush not complete
  Current log# 1 seq# 1729 mem# 0: /oradata/orcl/redo01.log
 Thread 1 advanced to log sequence 1730 (LGWR switch)
  Current log# 2 seq# 1730 mem# 0: /oradata/orcl/redo2.log
 Tue May 12 14:36:13 2015
 Thread 1 cannot allocate new log, sequence 1731
 Private strand flush not complete
  Current log# 2 seq# 1730 mem# 0: /oradata/orcl/redo2.log
 Thread 1 advanced to log sequence 1731 (LGWR switch)
  Current log# 4 seq# 1731 mem# 0: /oradata/orcl/redo4.log
 Tue May 12 16:27:07 2015
 Thread 1 cannot allocate new log, sequence 1732
 Private strand flush not complete
  Current log# 4 seq# 1731 mem# 0: /oradata/orcl/redo4.log
 Thread 1 advanced to log sequence 1732 (LGWR switch)
  Current log# 3 seq# 1732 mem# 0: /oradata/orcl/redo3.log
 Tue May 12 22:00:00 2015
 Setting Resource Manager plan SCHEDULER[0x3108]:DEFAULT_MAINTENANCE_PLAN via scheduler window
 Setting Resource Manager plan DEFAULT_MAINTENANCE_PLAN via parameter
 Tue May 12 22:00:00 2015
 Starting background process VKRM
 Tue May 12 22:00:00 2015
 VKRM started with pid=174, OS id=25804
 Wed May 13 02:00:00 2015
 Closing scheduler window
 Closing Resource Manager plan via scheduler window
 Clearing Resource Manager plan via parameter
 Wed May 13 02:45:10 2015
 Thread 1 cannot allocate new log, sequence 1733
 Private strand flush not complete
  Current log# 3 seq# 1732 mem# 0: /oradata/orcl/redo3.log
 Thread 1 advanced to log sequence 1733 (LGWR switch)
  Current log# 1 seq# 1733 mem# 0: /oradata/orcl/redo01.log
 Wed May 13 09:05:36 2015
 Time drift detected. Please check VKTM trace file for more details.
 Wed May 13 09:15:55 2015
 DM00 started with pid=352, OS id=4784, job SYSTEM.SYS_EXPORT_SCHEMA_01
 Wed May 13 09:15:56 2015
 DW00 started with pid=353, OS id=4786, wid=1, job SYSTEM.SYS_EXPORT_SCHEMA_01
 Wed May 13 10:11:52 2015
 Thread 1 cannot allocate new log, sequence 1734
 Private strand flush not complete
  Current log# 1 seq# 1733 mem# 0: /oradata/orcl/redo01.log
 Thread 1 advanced to log sequence 1734 (LGWR switch)
  Current log# 2 seq# 1734 mem# 0: /oradata/orcl/redo2.log
 Wed May 13 13:15:38 2015
 Thread 1 cannot allocate new log, sequence 1735
 Private strand flush not complete
  Current log# 2 seq# 1734 mem# 0: /oradata/orcl/redo2.log
 Thread 1 advanced to log sequence 1735 (LGWR switch)
  Current log# 4 seq# 1735 mem# 0: /oradata/orcl/redo4.log
 Wed May 13 14:54:18 2015
 Thread 1 cannot allocate new log, sequence 1736
 Private strand flush not complete
  Current log# 4 seq# 1735 mem# 0: /oradata/orcl/redo4.log
 Thread 1 advanced to log sequence 1736 (LGWR switch)
  Current log# 3 seq# 1736 mem# 0: /oradata/orcl/redo3.log
 Wed May 13 17:39:31 2015
 Thread 1 cannot allocate new log, sequence 1737
 Private strand flush not complete
  Current log# 3 seq# 1736 mem# 0: /oradata/orcl/redo3.log
 Thread 1 advanced to log sequence 1737 (LGWR switch)
  Current log# 1 seq# 1737 mem# 0: /oradata/orcl/redo01.log
 Wed May 13 20:47:10 2015
 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
 Wed May 13 20:52:37 2015
 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
 Wed May 13 20:57:38 2015
 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
 Wed May 13 21:01:35 2015
 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 W001 submission failed with error = 20
 Wed May 13 21:02:38 2015
 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 m001 submission failed with error = 20
 Wed May 13 21:05:44 2015
 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 W001 submission failed with error = 20
 Wed May 13 21:12:38 2015
 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
 Process m001 submission failed with error = 20
 Wed May 13 21:42:39 2015
 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
 Process m001 submission failed with error = 20
 Wed May 13 21:43:00 2015
 Process W001 submission failed with error = 20
 Wed May 13 21:51:13 2015
 Adjusting the default value of parameter parallel_max_servers
 from 1280 to 385 due to the value of parameter processes (400)
 Starting ORACLE instance (normal)
 Wed May 13 21:52:40 2015
 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
 Wed May 13 21:53:33 2015
错误信息一般在Oracle实例在创建一些辅助后台进程(如mmon的子进程m00x或者子进程W00x等)时出现进程启动失败时出现,而造成该错误的可能性有多种,包括Oracle实例资源不足、操作系统资源不足等等。其中较为常见的是实例instance的process使用达到上限,可以通过查询v$resource_limit视图来了解实例生命周期内是否发生过process总数暴满的情况:

ORA-00020: No more process state objects available故障一例

我们可以看到processes的MAX_UTILIZATION最大使用数目曾到过LIMIT_VALUE限定的400,,
 sessions达到了640.

从以上V$resource_limit视图的输出来看,极有可能是processes总数达到上限导致了新的后台辅助进程创建失败,其实我们可以很方便地验证这一点:

[oracle@bntjftest ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Thu May 14 15:28:15 2015

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Menambah Pengguna ke MySQL: Tutorial LengkapMenambah Pengguna ke MySQL: Tutorial LengkapMay 12, 2025 am 12:14 AM

Menguasai kaedah menambah pengguna MySQL adalah penting untuk pentadbir pangkalan data dan pemaju kerana ia memastikan keselamatan dan kawalan akses pangkalan data. 1) Buat pengguna baru menggunakan perintah CreateUser, 2) Berikan kebenaran melalui perintah geran, 3) Gunakan flushprivileges untuk memastikan kebenaran berkuatkuasa, 4) kerap mengaudit dan membersihkan akaun pengguna untuk mengekalkan prestasi dan keselamatan.

Menguasai Jenis Data String MySQL: Varchar vs Text vs. CharMenguasai Jenis Data String MySQL: Varchar vs Text vs. CharMay 12, 2025 am 12:12 AM

ChooseCHARforfixed-lengthdata,VARCHARforvariable-lengthdata,andTEXTforlargetextfields.1)CHARisefficientforconsistent-lengthdatalikecodes.2)VARCHARsuitsvariable-lengthdatalikenames,balancingflexibilityandperformance.3)TEXTisidealforlargetextslikeartic

MySQL: Jenis Data String dan Pengindeksan: Amalan TerbaikMySQL: Jenis Data String dan Pengindeksan: Amalan TerbaikMay 12, 2025 am 12:11 AM

Amalan terbaik untuk mengendalikan jenis data rentetan dan indeks dalam MySQL termasuk: 1) Memilih jenis rentetan yang sesuai, seperti char untuk panjang tetap, varchar untuk panjang berubah, dan teks untuk teks besar; 2) berhati-hati dalam pengindeksan, elakkan daripada mengindeks, dan buat indeks untuk pertanyaan umum; 3) Gunakan indeks awalan dan indeks teks penuh untuk mengoptimumkan carian rentetan panjang; 4) Secara kerap memantau dan mengoptimumkan indeks untuk memastikan indeks kecil dan cekap. Melalui kaedah ini, kita dapat mengimbangi membaca dan menulis prestasi dan meningkatkan kecekapan pangkalan data.

Mysql: Cara menambah pengguna dari jauhMysql: Cara menambah pengguna dari jauhMay 12, 2025 am 12:10 AM

Toaddauserremotelytomysql, ikuti: 1) connecttomysqlasroot, 2) createeanewuserwithremoteaccess, 3) grantnessaryaryprivileges, dan4)

Panduan Ultimate untuk Jenis Data String MySQL: Penyimpanan Data CekapPanduan Ultimate untuk Jenis Data String MySQL: Penyimpanan Data CekapMay 12, 2025 am 12:05 AM

TostoreStringsefficientlyinmysql, choosetherightdatypebasedonyonoeds: 1) usecharforfixed-lengtstringslikecountrycodes.2) usevarcharfarfarable-lengtstringslikENAMES.3)

MySQL Blob vs Text: Memilih Jenis Data yang Tepat Untuk Objek BesarMySQL Blob vs Text: Memilih Jenis Data yang Tepat Untuk Objek BesarMay 11, 2025 am 12:13 AM

Apabila memilih jenis gumpalan dan jenis data MySQL, gumpalan sesuai untuk menyimpan data binari, dan teks sesuai untuk menyimpan data teks. 1) Gumpalan sesuai untuk data binari seperti gambar dan audio, 2) Teks sesuai untuk data teks seperti artikel dan komen. Apabila memilih, sifat data dan pengoptimuman prestasi mesti dipertimbangkan.

MySQL: Sekiranya saya menggunakan pengguna root untuk produk saya?MySQL: Sekiranya saya menggunakan pengguna root untuk produk saya?May 11, 2025 am 12:11 AM

Tidak, yoShouldnotusherootuserinmysqlforyourproduct.Instead, createspecificuserswithlimitedprivilegestoenhancesecurityandperformance: 1) createanewuserwithastrongpassword, 2) GrantonLyNessarypermissionStothiser, 3) secara teratur danReviewandupdateerererererword,

Jenis Data String MySQL Diterangkan: Memilih jenis yang sesuai untuk data andaJenis Data String MySQL Diterangkan: Memilih jenis yang sesuai untuk data andaMay 11, 2025 am 12:10 AM

Mysqlstringdatatypesshouldbechosenbasedondatacharacteristicsandusecases: 1) usecharforfixed-lengthstringslikecountrycodes.2) usevarcharfarfarable-lengtstringslikeNames.3) Usebinerorvarbinarbinarbinarbinarsstographceys.2)

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Nordhold: Sistem Fusion, dijelaskan
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.