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.

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds





La numérisation complète de la table peut être plus rapide dans MySQL que l'utilisation d'index. Les cas spécifiques comprennent: 1) le volume de données est petit; 2) Lorsque la requête renvoie une grande quantité de données; 3) Lorsque la colonne d'index n'est pas très sélective; 4) Lorsque la requête complexe. En analysant les plans de requête, en optimisant les index, en évitant le sur-index et en maintenant régulièrement des tables, vous pouvez faire les meilleurs choix dans les applications pratiques.

Les capacités de recherche en texte intégral d'InNODB sont très puissantes, ce qui peut considérablement améliorer l'efficacité de la requête de la base de données et la capacité de traiter de grandes quantités de données de texte. 1) INNODB implémente la recherche de texte intégral via l'indexation inversée, prenant en charge les requêtes de recherche de base et avancées. 2) Utilisez la correspondance et contre les mots clés pour rechercher, prendre en charge le mode booléen et la recherche de phrases. 3) Les méthodes d'optimisation incluent l'utilisation de la technologie de segmentation des mots, la reconstruction périodique des index et l'ajustement de la taille du cache pour améliorer les performances et la précision.

Oui, MySQL peut être installé sur Windows 7, et bien que Microsoft ait cessé de prendre en charge Windows 7, MySQL est toujours compatible avec lui. Cependant, les points suivants doivent être notés lors du processus d'installation: téléchargez le programme d'installation MySQL pour Windows. Sélectionnez la version appropriée de MySQL (communauté ou entreprise). Sélectionnez le répertoire d'installation et le jeu de caractères appropriés pendant le processus d'installation. Définissez le mot de passe de l'utilisateur racine et gardez-le correctement. Connectez-vous à la base de données pour les tests. Notez les problèmes de compatibilité et de sécurité sur Windows 7, et il est recommandé de passer à un système d'exploitation pris en charge.

MySQL est un système de gestion de base de données relationnel open source. 1) Créez une base de données et des tables: utilisez les commandes CreateDatabase et CreateTable. 2) Opérations de base: insérer, mettre à jour, supprimer et sélectionner. 3) Opérations avancées: jointure, sous-requête et traitement des transactions. 4) Compétences de débogage: vérifiez la syntaxe, le type de données et les autorisations. 5) Suggestions d'optimisation: utilisez des index, évitez de sélectionner * et utilisez les transactions.

La différence entre l'index cluster et l'index non cluster est: 1. Index en cluster stocke les lignes de données dans la structure d'index, ce qui convient à la requête par clé et plage primaire. 2. L'index non clumpant stocke les valeurs de clé d'index et les pointeurs vers les lignes de données, et convient aux requêtes de colonne de clés non primaires.

MySQL et MARIADB peuvent coexister, mais doivent être configurés avec prudence. La clé consiste à allouer différents numéros de port et répertoires de données à chaque base de données et ajuster les paramètres tels que l'allocation de mémoire et la taille du cache. La mise en commun de la connexion, la configuration des applications et les différences de version doivent également être prises en compte et doivent être soigneusement testées et planifiées pour éviter les pièges. L'exécution de deux bases de données simultanément peut entraîner des problèmes de performances dans les situations où les ressources sont limitées.

Dans la base de données MySQL, la relation entre l'utilisateur et la base de données est définie par les autorisations et les tables. L'utilisateur a un nom d'utilisateur et un mot de passe pour accéder à la base de données. Les autorisations sont accordées par la commande Grant, tandis que le tableau est créé par la commande Create Table. Pour établir une relation entre un utilisateur et une base de données, vous devez créer une base de données, créer un utilisateur, puis accorder des autorisations.

MySQL prend en charge quatre types d'index: B-Tree, hachage, texte intégral et spatial. 1. L'indice de tree B est adapté à la recherche de valeur égale, à la requête de plage et au tri. 2. L'indice de hachage convient aux recherches de valeur égale, mais ne prend pas en charge la requête et le tri des plages. 3. L'index de texte complet est utilisé pour la recherche en texte intégral et convient pour le traitement de grandes quantités de données de texte. 4. L'indice spatial est utilisé pour la requête de données géospatiaux et convient aux applications SIG.
