wie Sie wissen, wenn batch-job ausgeführt wird

Ich habe eine oracle-batch-job läuft alle 15 min. Für einige Gründe, es gibt vielleicht die Möglichkeit, dass die business-Logik ausgeführt, die in batch-job, könnte länger als 15 Minuten dauern. Gibt es überhaupt eine Möglichkeit, die ich überprüfen kann, ob die batch-job ist immer noch im Prozess ?

d.h.

batch-job ausgeführt wird (Prozess 1) dauert 20 min
nach 15 min die gleichen batch-job ausgeführt wird (Prozess 2) .. ich möchte, um zu überprüfen, ob die batch-jobn mit diesem Namen ist bereits in Betrieb ist oder nicht.

es ist ein procedure die Kopien großer Teil der Daten von einem Datensatz zum anderen. dieses Verfahren ausgeführt wird, der alle 15 Minuten durch dbms_scheduler d.h. DBMS_SCHEDULER.CREATE_SCHEDULER erstellen Programm mit DBMS_SCHEDULER.CREATE_PROGRAM und mit diesen 2 in DBMS_SCHEDULER.CREATE_JOB

  • Es wäre hilfreich, mehr details über das, was diese "batch-job" tut. Ist das was geplant in der Datenbank über DBMS_JOB oder DBMS_SCHEDULER? Gibt es etwas in der V$SESSION Tabelle, die eine Sitzung, wie die Zugehörigkeit zu den batch-job? Gibt es eine Tabelle aktualisiert es könnte abgefragt werden? Können Sie ändern den batch-job zu tun, entweder von diesen Dingen?
  • es ist ein procedure die Kopien großer Teil der Daten von einem Datensatz zum anderen. dieses Verfahren ausgeführt wird, der alle 15 Minuten von einem dbms_job denen die geplante Verwendung dbms_scheduler.
  • dbms_job und dbms_scheduler sind zwei unterschiedliche scheduling-Pakete in der Oracle-Datenbank (dbms_scheduler ist der neuere und wesentlich verbesserte version). Es ist sehr unwahrscheinlich, dass Sie über beide Pakete, um einen job ausführen-es würde wesentlich mehr Sinn, den ein oder anderen. Sind Sie sicher, dass Sie tatsächlich mit beiden? Wenn ja, wie genau ist das implementiert?
  • Ich bearbeitet meine ursprüngliche Frage gepostet und wie es umgesetzt wird. Ich bin mit DBMS_SCHEDULER nur.
InformationsquelleAutor Em Ae | 2012-01-26
Schreibe einen Kommentar