ORA-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总数暴满的情况:
我们可以看到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.

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

全表掃描在MySQL中可能比使用索引更快,具體情況包括:1)數據量較小時;2)查詢返回大量數據時;3)索引列不具備高選擇性時;4)複雜查詢時。通過分析查詢計劃、優化索引、避免過度索引和定期維護表,可以在實際應用中做出最優選擇。

是的,可以在 Windows 7 上安裝 MySQL,雖然微軟已停止支持 Windows 7,但 MySQL 仍兼容它。不過,安裝過程中需要注意以下幾點:下載適用於 Windows 的 MySQL 安裝程序。選擇合適的 MySQL 版本(社區版或企業版)。安裝過程中選擇適當的安裝目錄和字符集。設置 root 用戶密碼,並妥善保管。連接數據庫進行測試。注意 Windows 7 上的兼容性問題和安全性問題,建議升級到受支持的操作系統。

InnoDB的全文搜索功能非常强大,能够显著提高数据库查询效率和处理大量文本数据的能力。1)InnoDB通过倒排索引实现全文搜索,支持基本和高级搜索查询。2)使用MATCH和AGAINST关键字进行搜索,支持布尔模式和短语搜索。3)优化方法包括使用分词技术、定期重建索引和调整缓存大小,以提升性能和准确性。

聚集索引和非聚集索引的區別在於:1.聚集索引將數據行存儲在索引結構中,適合按主鍵查詢和範圍查詢。 2.非聚集索引存儲索引鍵值和數據行的指針,適用於非主鍵列查詢。

MySQL是一個開源的關係型數據庫管理系統。 1)創建數據庫和表:使用CREATEDATABASE和CREATETABLE命令。 2)基本操作:INSERT、UPDATE、DELETE和SELECT。 3)高級操作:JOIN、子查詢和事務處理。 4)調試技巧:檢查語法、數據類型和權限。 5)優化建議:使用索引、避免SELECT*和使用事務。

MySQL 數據庫中,用戶和數據庫的關係通過權限和表定義。用戶擁有用戶名和密碼,用於訪問數據庫。權限通過 GRANT 命令授予,而表由 CREATE TABLE 命令創建。要建立用戶和數據庫之間的關係,需創建數據庫、創建用戶,然後授予權限。

MySQL 和 MariaDB 可以共存,但需要謹慎配置。關鍵在於為每個數據庫分配不同的端口號和數據目錄,並調整內存分配和緩存大小等參數。連接池、應用程序配置和版本差異也需要考慮,需要仔細測試和規劃以避免陷阱。在資源有限的情況下,同時運行兩個數據庫可能會導致性能問題。

MySQL支持四種索引類型:B-Tree、Hash、Full-text和Spatial。 1.B-Tree索引適用於等值查找、範圍查詢和排序。 2.Hash索引適用於等值查找,但不支持範圍查詢和排序。 3.Full-text索引用於全文搜索,適合處理大量文本數據。 4.Spatial索引用於地理空間數據查詢,適用於GIS應用。
