Job-Scheduler sind Computerprogramme, die andere Programmausführungen hinter den Kulissen oder als Teil von Batch-Prozessen steuern. Diese Workload-Automatisierung wird in der Regel so koordiniert, dass die traditionelle Hintergrunddatenverarbeitung in Echtzeit-Geschäftsaktivitäten integriert werden kann, ohne Ressourcen zu erschöpfen oder andere Anwendungen zu stören. Der Job-Scheduler automatisiert Schnittstellen in Workflows, übermittelt und überwacht Ausführungen und stellt die Ausführungsreihenfolge unabhängiger Jobs in die Warteschlange, damit Vorgänge in der richtigen Reihenfolge und unter bestimmten Bedingungen abgewickelt werden.
Ein beliebtes Tool für die Automatisierung von Datenbankprozessen ist der integrierte Job-Scheduler von Oracle. Es kann nicht nur zur Automatisierung von SQL-Prozeduren und Hilfsoperationen verwendet werden, sondern auch für Prozesse von Drittanbietern, die die Effizienz von Oracle beeinträchtigen. Oracle-DBAs verwenden routinemäßig IRI FACT, IRI CoSort und SQL*Loader, um den Overhead von Transformationen aus der Datenbankschicht zu entfernen und den Arbeitsablauf bei hochvolumigen ETL- und Offline-Reorganisationsvorgängen durchgehend zu verbessern. Diese Tools können jetzt mit dem Job Scheduler von Oracle in der IRI Workbench, einer auf Eclipse™ basierenden GUI-Umgebung, kombiniert und geplant werden.
Ob in der Befehlszeile, einem Oracle-Front-End oder IRIs in Eclipse™, Oracle-DBAs können jetzt voneinander abhängige ETL-Schritte planen oder Vorgänge zum Entladen/Sortieren/Neuladen (Reorg) mithilfe der IRI-Software einrichten. Mit Oracle Job Scheduler, DBMS_SCHEDULER, DBAs und Data-Warehouse-Architekten können angeben, wann FACT-Extrakte, CoSort-Sortierungen/Transformationen/Berichte und/oder Massenladevorgänge initiiert werden sollen, und Abhängigkeiten zwischen diesen Prozessen angeben.
Der Oracle Job Scheduler hilft dem Benutzer, verschiedene Aufgaben zu verwalten und zu planen, sodass kein manueller Eingriff erforderlich ist. Um den Job-Scheduler zu verwenden, werden drei kleine Skripte benötigt:
• Verfahren zum Zusammenstellen des ETL-Prozesses
• Funktion zum Erfassen beliebiger Nachrichten des Java-Programms
• Java-Programm zur Verarbeitung der Befehlszeilenaufrufe für die ETL-Schritte:FACT (E), CoSort SortCL (T) und Oracle SQL*Loader (L)
Sobald die Skripte fertig sind, kann der Benutzer eine Prozedur erstellen, um die gewünschte Arbeit zu automatisieren. Der Benutzer kann Datum und Uhrzeit des Verfahrensbeginns angeben. Der Benutzer kann auch angeben, wie oft der Job ausgeführt werden soll (wöchentlich, täglich, stündlich oder zu einer bestimmten Uhrzeit und einem bestimmten Datum bis hinab zu allen 30 Sekunden).
Der Planer verwaltet die Schritte so, dass sie in der richtigen Reihenfolge ausgeführt werden. Es ist auch möglich, benutzerdefinierte Prüfungen zu definieren, um sicherzustellen, dass der nächste Schritt erst beginnt, wenn der vorherige erfolgreich war oder bestimmte Kriterien erfüllt hat.
Im Beispiel unten hat der Benutzer die Prozedur „runFlow“ ausgewählt, um definierte Schritte jeden Dienstag um 8:00 Uhr und jeden Freitag um 15:00 Uhr einzuleiten.
DECLARE
JobNo user_jobs.job%TYPE;
v_date1 date :=to_date('20130312 080000','yyyymmdd hh24miss');
v_date2 date :=to_date('20130315 150000 ′,'yyyymmdd hh24miss');
BEGIN
dbms_job.submit( JobNo, –Job ID
'begin runFlow; end;', — Auszuführende Prozedur
v_date1, — start läuft um
'SYSDATE + 7' — Jobintervall
);
COMMIT;
dbms_job.submit( JobNo, –Job ID
'begin runFlow; end; ', — Auszuführende Prozedur
v_date2, — Beginn der Ausführung um
'SYSDATE + 7' — Jobintervall
);
COMMIT;
END;
Die Automatisierung der ETL-Prozesse auf diese Weise bietet erhebliche Vorteile, insbesondere für Oracle DBAs, die bereits mit DBMS_SCHEDULER vertraut sind. Das Verfahren kann die Kosten für kostspielige ETL- oder Job-Scheduling-Pakete einsparen, die Wahrscheinlichkeit menschlicher Fehler minimieren und die Notwendigkeit eines manuellen Eingriffs ausschließen. Es ist auch möglich, die Integration zu verwenden, um Offline-Reorgs und ELT-bezogene Schritte zu automatisieren.
Wenn Sie Fragen zur Implementierung von IRI-Jobschritten in Oracle Job Scheduler haben oder das Whitepaper-Beispiel wünschen, kontaktieren Sie uns.