Veröffentlicht 21. Mai 2024
Aktualisiert Oktober 2025
Einleitung
Willkommen zurück auf unserem Blog!
In diesem Beitrag zeigen wir, wie KeepTool 16.1 Sie dabei unterstützt, alte dbms_job
-Jobs bequem auf den moderneren und leistungsfähigeren Oracle Scheduler zu migrieren.
Der Scheduler bietet erweiterte Funktionen, mehr Kontrolle und langfristig eine bessere Kompatibilität.
Warum von dbms_job
auf den Oracle Scheduler umsteigen?
Das klassische dbms_job
-System
Viele Oracle-Datenbanken nutzen auch heute noch das ältere Job-System, das über das Paket dbms_job
verwaltet wird.
Vor Oracle 10g war dies die einzige Möglichkeit, zeitgesteuerte Jobs zu erstellen.
Obwohl viele Systeme inzwischen aktualisiert wurden, sind in zahlreichen Projekten weiterhin dbms_job
-basierte Jobs im Einsatz.
In KeepTool (Hora) können Sie eine Übersicht dieser klassischen Jobs anzeigen. Über Kontextmenüs lassen sich die entsprechenden dbms_job
-Aufrufe direkt verwalten.

Jeder Job wird durch eine Jobnummer identifiziert.
Die Spalte What enthält eine Prozedur oder einen PL/SQL-Block, der die Logik definiert, und Interval beschreibt den Zeitpunkt der nächsten Ausführung.
Die moderne Alternative: Oracle Scheduler
Seit Oracle 10g steht mit dbms_scheduler
ein neues, leistungsfähigeres System zur Verfügung.
Scheduler-Jobs werden über Owner + Jobname identifiziert (nicht mehr nur über eine Nummer) und enthalten zusätzliche Felder wie Creator, Action (Erweiterung von What) und Repeat Interval.

Ab Oracle 19c wandelt Oracle intern dbms_job
-Jobs automatisch in Scheduler-Jobs um.
Solche automatisch erzeugten Jobs erscheinen unter Namen wie DBMS_JOB$_<jobnummer>.
Die Dictionary-View scheduler$_dbmsjob_map
zeigt die Zuordnung zwischen alten und neuen Jobs an.
Allerdings kann man sich nicht vollständig auf diese automatische Umwandlung verlassen – insbesondere dann nicht, wenn es um Eigentumsrechte und Ausführungskontexte geht.
Mögliche Stolperfallen
Ein typisches Problem:
Nach einem Import in Oracle 19c (z. B. per impdp
als Benutzer SYS
) kann es vorkommen, dass im Scheduler der Creator = SYS eingetragen ist, während der Owner ein anderer Benutzer (z. B. TEST) ist.
Dadurch wird der Job effektiv mit SYS-Rechten ausgeführt – mit potenziell unerwartetem Verhalten.

Oracle empfiehlt in diesem Fall, die betroffenen Jobs neu anzulegen, um die Eigentumsverhältnisse zu korrigieren.
(Siehe Oracle Doc ID 2888255.1.)
Daher ist es sinnvoll, bestehende dbms_job
-Jobs frühzeitig aktiv auf den Scheduler umzustellen – bevor dbms_job
vollständig abgeschafft oder nur noch intern abgebildet wird.
Wie KeepTool die Migration erleichtert
Grundsätzlich gibt es zwei technische Ansätze zur Konvertierung von dbms_job
-Jobs in dbms_scheduler
-Jobs:
-
Über dbms_metadata
, um aus den intern erzeugten Scheduler-Jobs den PL/SQL-Code zu extrahieren.
-
Über dba_jobs
bzw. andere Job-Views, um die Skripte manuell für dbms_scheduler
zu erzeugen.
In KeepTool haben wir uns für Variante 2 entschieden – aus zwei Gründen:
Neues Kontextmenü in KeepTool 16.1
In der Hora-Oberfläche gibt es jetzt im Kontextmenü der dbms_job
-Ansicht den neuen Eintrag:
„Convert to Scheduler Job“ (Mehrfachauswahl möglich).
Diese Funktion generiert ein PL/SQL-Skript, das:
-
Einen neuen Scheduler-Job (zunächst im deaktivierten Zustand) anlegt, der die ursprüngliche Logik übernimmt.
-
Optional einen Aufruf von dbms_job.remove()
enthält, um den alten Job zu löschen.


Dieser zweistufige Ansatz ermöglicht es, die neuen Jobs zunächst zu prüfen und erst nach Kontrolle zu aktivieren.
Nach der Umwandlung erscheinen die Jobs in der Scheduler-Übersicht.
Automatisch von Oracle erzeugte Jobs werden in der Oberfläche rot, manuell über KeepTool erzeugte grün hervorgehoben.

Abschließend können die alten dbms_job
-Jobs entweder per Skript oder bequem über das Kontextmenü gelöscht werden.
Dabei werden auch automatisch erstellte Scheduler-Jobs mit dem Präfix DBMS_JOB$_… entfernt.
Fazit
Mit KeepTool 16.1 lässt sich die Migration von dbms_job
zu Oracle Scheduler mit wenigen Klicks erledigen.
Sie erzeugen automatisch die passenden PL/SQL-Skripte, prüfen das Ergebnis und aktivieren die neuen Jobs erst, wenn alles passt.
Auch bei vielen bestehenden Jobs ist der Prozess sicher, effizient und transparent.
Migrieren Sie jetzt – und sind Sie bestens vorbereitet, wenn dbms_job
endgültig abgelöst wird.
➡️ KeepTool kostenlos testen
Die Oracle-Tools von KeepTool wurden speziell für Entwickler, DBAs und Support-Teams entwickelt.
Basierend auf über 25 Jahren Erfahrung optimieren wir unsere Software kontinuierlich, um Ihre Datenbankanalyse und -dokumentation schneller, effizienter und übersichtlicher zu gestalten.