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.