| Auszug |
|---|
|
Oracle-Prozess mit dauerhafter CPU-Last identifizieren und beenden: aktive Sessions anzeigen, Session gezielt killen und Ursache abstellen. |
Sprache: Deutsch · English
Oracle-Prozess mit hoher CPU-Last abstellen
Wenn ein Oracle-Hintergrundprozess dauerhaft die CPU auslastet: erkennen, gezielt beenden und wiederkehren verhindern.
| Status |
|---|
| colour | Green |
|---|
| title | Stand: Jul 2026 |
|---|
|
| Status |
|---|
| colour | Grey |
|---|
| title | gilt fuer Nuclos 4.2026.x |
|---|
|
| Hinweis |
|---|
|
Diese Schritte stammen aus der Betreuung der alten Entwicklungs-VM und sind sehr Oracle-spezifisch. Für Produktivsysteme vorsichtig einsetzen. |
1. Aktive Prozesse anzeigen
| Codeblock |
|---|
|
SELECT s.username, s.sid, s.osuser, |
Das Oracle in der gängigen VM lässt unter bestimmten Umständen einen Prozess im Hintergrund laufen, der 100% der CPU belastet. Um diesen abzustellen,gibt es folgenden Trick:
1) Datum in die Zukunft stellen, z.B.:
| Codeblock |
|---|
date -s "23 Aug 2020 09:15:00" |
2) Es springen dann sofort etliche Prozesse an, diese etwas laufen lassen
3) Datum in die Gegenwart stellen:
| Codeblock |
|---|
hwclock --hctosys |
4) Server neu starten
Und Oracle arbeitet nicht mehr dauernd im Hintergrund.
Außerdem:
2. Speziellen laufenden Oracle Process abstellen:
1) Show Active Processes:
...
...
FROM v$sqltext_with_newlines t, |
...
v$session s
WHERE t.address = s.sql_address |
...
AND t.hash_value = s.sql_hash_value |
...
...
AND s.username <> 'SYSTEM' |
...
2. Session-Daten ermitteln
| Codeblock |
|---|
|
SELECT inst_id, sid, serial# FROM gv$session WHERE sid = 133; |
3. Session beenden
| Codeblock |
|---|
|
ALTER SYSTEM KILL SESSION |
...
select inst_id,sid,serial# from gv$session where sid = 133;
...
3) Kill Process:
...
...
4) Silence
5) Um zu vermeiden dass der Prozess wieder kommt:
Um ein erneutes Auftreten zu vermeiden, die auslösende Ursache (z. B. eine problematische Materialized View) beseitigen.
Verwandte Seiten
...