Number of processes exceeded: zeitliche Entwicklung als Kurzübersicht

Auf einer 12c Datenbank zeigte sich ein ORA-0020

ORA-00020: maximum number of processes (300) exceeded

Bevor der Parameter erhöht wird mit

ALTER SESSION SET PROCESSES=350 scope=BOTH;

lohnt es sich zu schauen, wie denn die Entwicklung der letzten Tage (max des Values in der History) war.

Folgender SQL-Befehl leistet das:

1
2
3
4
5
6
7
8
9
10
-- Maximum per day:
SELECT instance_number inst, TO_CHAR( begin_time, 'YYYY-MM-DD') DATUM , MAX(processes) FROM
(SELECT instance_number, ROUND(maxval/100 * gv$parameter.VALUE) processes, begin_time
FROM dba_hist_sysmetric_summary
join gv$parameter
ON dba_hist_sysmetric_summary.instance_number = gv$parameter.inst_id
WHERE gv$<a href="http://parameter.name">parameter.name</a> = 'processes'
AND metric_name = 'Process Limit %')
GROUP BY instance_number,TO_CHAR( begin_time, 'YYYY-MM-DD')
ORDER BY DATUM DESC;

Ausgabe:

INST DATUM MAX(PROCESSES)
 ---------- ---------- --------------
 1 2017-11-27 299
 1 2017-11-26 265
 1 2017-11-25 268
 1 2017-11-24 265
 1 2017-11-23 218
 1 2017-11-22 219
 1 2017-11-21 218
 1 2017-11-20 137
 1 2017-11-19 137
 1 2017-11-18 134

Nun kann man anhand der Entwicklung entscheiden, ob man auf jeden Fall den INIT.ORA Parameter überhöht, oder ob man es als einzelen Außreisser wertet. Selbst dann müsste man entscheiden ob man nicht dennoch erhöht.
Jedoch hier spricht die stetig steigende Resourcenauslastung, wenn keine weitere Ursachenforschung sinnvoll erscheint, für die pragmatische Erhöhung zu sprechen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert