DBMS_DATA_TOOLS_JOBS-Paketreferenz

Dieses Kapitel enthält Informationen zu den Packages, die Sie mit der Funktion "Jobs" in Data Studio verwenden. Das Thema "Zusammenfassung der Unterprogramme DBMS_DATA_TOOLS_JOBS" behandelt auch die im Package DBMS_DATA_TOOLS_JOBS enthaltenen Prozeduren.

Zusammenfassung der DBMS_DATA_TOOLS_JOB-Unterprogramme

Das Package DBMS_DATA_TOOLS_JOB enthält eine Sammlung von Planungsfunktionen und -prozeduren, die Sie mit dem Feature "Jobs" in der Data Studio-Toolsuite verwenden.

DBMS_DATA_TOOLS_JOB Packageunterprogramme

In der folgenden Tabelle werden die Unterprogramme DBMS_DATA_TOOLS_JOB aufgeführt und kurz beschrieben.

Tabelle 3-11: DBMS_DATA_TOOLS_JOB Namen und Beschreibung der DBMS_DATA_TOOLS_JOB-Unterprogramme

Unterprogramm Beschreibung
Prozedur "Job erstellen" Mit diesem Verfahren wird ein neuer Job erstellt.
Prozedur "Job löschen" Löscht den Job aus dem Scheduler.
Prozedur "Job umbenennen" Benennt den Job mit dem gewünschten Namen um.
Prozedur "Job aktualisieren" Ändert die Attribute eines vorhandenen Jobs.
Prozedur ausführen Führt einen Job unabhängig von dem von Ihnen definierten Zeitplan sofort aus.
Prozedur "Job stoppen" Stoppt einen ausgeführten Job. Dadurch wird ein Job ordnungsgemäß beendet, und falls erforderlich, wird er zwangsweise gestoppt.

Prozedur CREATE_JOB

Diese Prozedur erstellt einen einzelnen Job. Wenn Sie den Job als aktiviert erstellen, indem Sie das aktivierte Attribut auf TRUE setzen, führt der Scheduler den Job automatisch gemäß seinem Zeitplan aus. Wenn Sie den Job erstellen, der deaktiviert ist, wird er erst ausgeführt, nachdem Sie ihn mit dem Feature "Job aktivieren" aktiviert haben.

Syntax

dbms_data_tools_job.create_job(
                       job_name        in varchar2,
                       description     in varchar2,
                       steps           in clob,
                       owner           in varchar2 default null,
                       start_date      IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
                       repeat_interval IN VARCHAR2                 DEFAULT NULL,
                       end_date        IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
                       job_class       IN VARCHAR2                 DEFAULT NULL,
                       enabled         IN BOOLEAN                  DEFAULT FALSE,
                       reporting       in clob default null);

CREATE_JOB Prozedurparameter

Tabelle 3-12: Prozedurparameter CREATE_JOB

Parameter Beschreibung
Jobname Der Name, der dem Job zugewiesen werden soll. Wenn job_name nicht angegeben ist, wird ein Fehler generiert.
Beschreibung Dies bezieht sich auf zusätzliche Informationen, die für Tätigkeiten festgelegt werden.
Schritte Dies bezieht sich auf verschiedene Aufgaben, die das Data Studio-Tool aus einem Job ausführt.
Schritte sind ein JSON-Array. Jedes Array-Element ist ein JSON-Objekt. Hier sind die JSON-Elemente, die für alle Objekte gelten:
  • type - string, deklariert den Typ des ausgeführten Schritts: data_load, smart_table, procedure, http.
  • on_errors- Zeichenfolge
  • stop: Wenn ein Fehler auftritt, wird der Job gestoppt, und der Fehler wird ausgelöst.
  • continue: Der Fehler wird protokolliert, die Verarbeitung wird jedoch mit dem nächsten Jobschritt fortgesetzt.
  • step_name: Beschreibender Name des Schritts, der in Logs angezeigt wird

Jeder Objekttyp hat je nach Typ einige zusätzliche Elemente.

data_load:
  • data_load_name: (obligatorisch) Der Name eines zuvor erstellten Dataloads, der ausgeführt werden soll

smart_table:
  • recipe_name: (Obligatorisch) Der Name eines zuvor erstellten Smart Table-Rezepts, das ausgeführt werden soll.
  • url - (obligatorische) REST-URL für die Verbindung.
  • method - GET (Standard), POST, PUT, DELETE oder ein anderes HTTP-Verb
procedure:
  • procedure - (erforderlicher) Name der auszuführenden Prozedur. Sie kann optional für ein Schema qualifiziert sein und eine Bare-Prozedur oder eine Package-Methode sein.

  • arguments: Array von Zeichenfolgen-, Zahlen- oder booleschen Argumenten, die für die Prozedur bereitgestellt werden sollen.
Verantwortlicher

Es ist das Schema, in dem der Job erstellt wird. Wenn Sie einen Job erstellen, ohne ein Schema anzugeben, ist der Eigentümer der Benutzer, der die Prozedur CREATE_JOB ausführt.

Startdatum

Dieses Attribut gibt das erste Datum und die erste Uhrzeit für den Start dieses Jobs an. Wenn start_date und repeat_interval null sind, wird die Ausführung des Jobs geplant, sobald der Job aktiviert ist.

Bei Wiederholungsjobs, die das Wiederholungsintervall mit einem Kalenderausdruck angeben, wird start_date als Referenzdatum verwendet. Das erste Mal, dass der Job ausgeführt wird, ist die erste Übereinstimmung mit dem Kalenderausdruck, der am oder nach dem aktuellen Datum und der aktuellen Uhrzeit liegt.

Der Scheduler kann nicht garantieren, dass ein Job zu einer genauen Zeit ausgeführt wird, da das System möglicherweise überlastet ist und daher keine Ressourcen verfügbar sind.

Wiederholungsintervall

Dieses Attribut gibt an, wie oft das Fenster wiederholt wird. Sie wird mit der Scheduler-Kalendar-Syntax ausgedrückt. Weitere Informationen finden Sie unter "Calendaring-Syntax".

Ein PL/SQL-Ausdruck kann nicht verwendet werden, um das Wiederholungsintervall für ein Fenster anzugeben.

Der angegebene Ausdruck wird ausgewertet, um zu bestimmen, wann das nächste Mal das Fenster geöffnet wird. Wenn kein repeat_interval angegeben ist, wird das Fenster nur einmal am angegebenen Startdatum geöffnet.

Enddatum

Dieses Attribut gibt das Datum und die Uhrzeit an, nach dem der Job abläuft und nicht mehr ausgeführt wird.

Der Wert für end_date muss nach dem Wert für start_date liegen. Wenn end_date kleiner als start_date ist, wird ein Fehler generiert. Wenn end_date mit start_date identisch ist, wird der Job nicht ausgeführt, und es wird kein Fehler generiert.

Wenn kein Wert für end_date angegeben ist, wird der Job dauerhaft wiederholt, es sei denn, Sie stop job.
Tätigkeitsklasse Die Klasse, mit der dieser Job verknüpft ist.
Aktiviert Dieses Attribut gibt an, ob die Erstellung des Jobs aktiviert ist. Die möglichen Einstellungen sind TRUE oder FALSE. Standardmäßig ist dieses Attribut auf FALSE gesetzt. Daher wird der Job als deaktiviert erstellt. Ein deaktivierter Job bedeutet, dass die Metadaten zum Job erfasst wurden und der Job als Datenbankobjekt vorhanden ist. Der Scheduler ignoriert den Job jedoch, und der Jobkoordinator wählt ihn nicht zur Verarbeitung aus. Damit der Jobkoordinator den Job verarbeiten kann, muss der Job aktiviert sein. Sie können einen Job aktivieren, indem Sie das Symbol Enable Job auswählen.
Berichte Dieses Attribut gibt Jobausführungsdetails über die Schaltfläche "Bericht" im Feature "Jobs" an.
Dies ist ein JSON-Objekt, das dem Reportingargument für dbms_live_feed ähnelt. Sie kann folgende Elemente enthalten:
  • completed: Ziele, die benachrichtigt werden sollen, wenn ein Job abgeschlossen ist.

  • errors: Ziele, die benachrichtigt werden sollen, wenn bei einem Schritt eines Jobs Fehler aufgetreten sind.

  • failed: Ziele, die benachrichtigt werden müssen, wenn ein Job einen schwerwiegenden Fehler außerhalb des Kontextes eines Schritts aufwies.

  • long: Ziele, die benachrichtigt werden sollen, wenn ein Job lange ausgeführt wurde.

Jedes dieser vier Elemente kann ein Array von E-Mail-Adressen im Element smtp oder Slack-Kanäle im Element slack angeben. Das Element long kann ein Element max_runtime_seconds enthalten, das bestimmt, wie lange ein Job ausgeführt werden muss, bevor er als zu long ausgeführt wird.

Prozedur DELETE_JOB

Mit dieser Prozedur wird ein Job gelöscht.

Syntax

dbms_data_tools_job.delete_job(job_name in varchar2, owner in varchar2 default null);

DELETE_JOB Prozedurparameter

Tabelle 3-13: Prozedurparameter DELETE_JOB

Parameter Beschreibung
Jobname Der Name, der dem Job zugewiesen werden soll. Wenn job_name nicht angegeben ist, wird ein Fehler generiert.
Verantwortlicher

Es ist das Schema, in dem der Job erstellt wird. Wenn Sie einen Job erstellen, ohne ein Schema anzugeben, ist der Eigentümer der Benutzer, der die Prozedur CREATE_JOB ausführt.

Prozedur RENAME_JOB

Mit dieser Prozedur wird ein Job umbenannt.

Syntax

dbms_data_tools_job.rename_job(old_job_name in varchar2,
                       new_job_name in varchar2,
                       owner        in varchar2 default null);

RENAME_JOB Prozedurparameter

Tabelle 3-14: Prozedurparameter RENAME_JOB

Parameter Beschreibung
Alter Jobname Der Name des vorhandenen Jobs.
Neuer Jobname

Der Name des neuen Jobs.

Verantwortlicher

Es ist das Schema, in dem der Job erstellt wird.

Prozedur UPDATE_JOB

Mit dieser Prozedur werden alle vorhandenen Jobattribute aktualisiert.

Syntax

dbms_data_tools_job.update_job(job_name in varchar2,
                       owner           in varchar2 default null,
                       description     in varchar2 default null,
                       steps           in clob default null,
                       start_date      IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
                       repeat_interval IN VARCHAR2                 DEFAULT NULL,
                       end_date        IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
                       job_class       IN VARCHAR2                 DEFAULT NULL,
                       enabled         IN BOOLEAN                  DEFAULT NULL,
                       reporting       in clob default null);

UPDATE_JOB Prozedurparameter

Tabelle 3-15: Prozedurparameter UPDATE_JOB

Parameter Beschreibung
Jobname Der Name des zu aktualisierenden Jobs.
Verantwortlicher

Es ist das Schema, in dem der Job aktualisiert werden soll.

Beschreibung Die aktualisierte Beschreibung, die angewendet werden soll.
Schritte Die neuen Schritte zum Aktualisieren.
Startdatum Das neue Startdatum.
Wiederholungsintervall Das aktualisierte Wiederholungsintervall.
Enddatum Das aktualisierte Enddatum.
Tätigkeitsklasse Die aktualisierte Jobklasse.
Aktiviert Er kann aktiviert oder deaktiviert werden.
Berichte Das aktualisierte Reportingattribut.

Prozedur ausführen

Diese Prozedur führt einen Job sofort aus.

Wenn ein Job aktiviert ist, wird er vom Scheduler automatisch ausgeführt. Es ist nicht erforderlich, RUN_JOB aufzurufen, um einen Job gemäß seinem Zeitplan auszuführen. Verwenden Sie RUN_JOB, um einen Job außerhalb des normalen Ausführungsplans auszuführen.

Syntax

dbms_data_tools_job.run(job_name            in varchar2,
                owner               in varchar2 default null,
                use_current_session in number   default null,
                options             in clob     default null);

RUN-Prozedurparameter

Tabelle 3-16: RUN-Prozedurparameter

Parameter Beschreibung
Jobname

Ein Jobname oder eine durch Komma getrennte Liste von Einträgen, wobei jeder der Name eines vorhandenen Jobs ist, dem optional ein Schemaname und ein Punkttrennzeichen vorangestellt sind.

Wenn Sie einen Job mit mehreren Zielen angeben, wird der Job auf allen Zielen ausgeführt. In diesem Fall muss das Argument use_current_session FALSE lauten.

Verantwortlicher

Es ist das Schema, in dem der Job ausgeführt wird.

Aktuelle Sitzung verwenden

Gibt an, ob der Joblauf in derselben Session ausgeführt werden soll, in der die Prozedur aufgerufen wurde.

Wenn use_current_session auf TRUE gesetzt ist:
  • Sie können einen Job testen und mögliche Fehler in der Befehlszeile anzeigen.

  • RUN kann parallel mit einer regelmäßig geplanten Jobausführung ausgeführt werden.

Wenn use_current_session auf FALSE gesetzt ist:
  • Sie müssen das Joblog prüfen, um Fehlerinformationen zu finden.
  • Alle relevanten Felder in scheduler_jobs werden aktualisiert.
  • RUN ist nicht erfolgreich, wenn ein regelmäßig geplanter Job ausgeführt wird.
Optionen  

Prozedur STOP_JOB

Mit dieser Prozedur werden derzeit ausgeführte Jobs oder alle Jobs in einer Jobklasse gestoppt.

Nach dem Stoppen des Jobs wird der Status eines einmaligen Jobs auf STOPPED gesetzt, während der Status eines sich wiederholenden Jobs auf SCHEDULED oder COMPLETED gesetzt wird, je nachdem, ob die nächste Ausführung des Jobs geplant wird.

Syntax

 dbms_data_tools_job.stop_job(job_name in varchar2,
                     owner    in varchar2 default null,
                     force    in boolean  default false);

STOP_JOB Prozedurparameter

Tabelle 3-17: Prozedurparameter STOP_JOB

Parameter Beschreibung
Jobname

Name eines Jobs, der gestoppt werden soll. Dies ist der Name eines vorhandenen Jobs, dem optional ein Schemaname und ein Punkttrennzeichen vorangestellt sind.

Verantwortlicher

Es ist das Schema, in dem der Job gestoppt werden soll.

Erzwingen

Wenn force auf FALSE gesetzt ist, versucht der Scheduler, den Job mit einem Interrupt-Mechanismus ordnungsgemäß zu stoppen. Diese Methode gibt die Kontrolle wieder an den Slave-Prozess zurück, der den Status des Jobs in der Job-Queue auf "Stoppt" aktualisieren kann. Wenn dies fehlschlägt, wird ein Fehler zurückgegeben.

Wenn force auf TRUE gesetzt ist, beendet der Scheduler den Job-Slave sofort. Oracle empfiehlt, dass STOP_JOB mit erzwungener Verwendung auf TRUE nur verwendet wird, nachdem ein STOP_JOB mit force auf FALSE nicht erfolgreich war.

Für die Verwendung der Option force ist die Systemberechtigung MANAGE SCHEDULER erforderlich.