Die Anforderung besteht darin, einen Job in Oracle zu erstellen, der täglich um 3:00 Uhr ausgeführt wird und eine gespeicherte Prozedur ausführen, um eine bestimmte Aufgabe auszuführen. Der Name der gespeicherten Prozedur lautet beispielsweise PROC_DAILY_UPDATES
.
Um dies zu erreichen, verwendet das folgende Beispiel Oracles DBMS_SCHEDULER.CREATE_JOB
Verfahren:
1. Erstellen Sie einen Job in Oracle mit DBMS_SCHEDULER.CREATE_JOB
BEGIN DBMS_SCHEDULER.CREATE_JOB ( job_name => 'JOB_DAILY_UPDATES', job_type => 'STORED_PROCEDURE', job_action => 'YOURSCHEMA.PROC_DAILY_UPDATES', start_date => '28-SEP-19 03.00.00 AM America/New_York', repeat_interval => 'FREQ=DAILY;INTERVAL=1', end_date => NULL, auto_drop => FALSE, job_class => 'SYS.DEFAULT_JOB_CLASS', comments => 'extract data'); END; /
Nachdem Sie den obigen Job erstellt haben, aktivieren Sie ihn:
2. Aktivieren Sie den Job mit DBMS_SCHEDULER.ENABLE
BEGIN DBMS_SCHEDULER.enable('JOB_DAILY_UPDATES'); END; /
Um zu bestätigen, dass der Job erfolgreich erstellt wurde, verwenden Sie die folgende Abfrage:
Select * from user_scheduler_jobs where job_name = 'JOB_DAILY_UPDATES';
Aus der obigen Abfrage erhalten Sie Informationen wie Datum des letzten Starts, Datum der nächsten Ausführung und Status der Auftragsaktivierung usw.
Um den Auftragsausführungsverlauf abzurufen, verwenden Sie die folgende Abfrage:
Select * from user_scheduler_job_run_details where job_name = 'JOB_DAILY_UPDATES';
Sie können dies auch im obigen DBMS_SCHEDULER.CREATE_JOB
erkennen Prozedurbeispiel, ich habe die Zeitzone America/New_York
verwendet . Sie können die Zeitzone eines bestimmten Landes mit der folgenden Abfrage abrufen:
SELECT DISTINCT tzname, TZ_OFFSET (tzname) FROM V$TIMEZONE_NAMES ORDER BY tzname;
Ausgabe
America/Mexico_City -05:00 America/Miquelon -02:00 America/Moncton -03:00 America/Monterrey -05:00 America/Montevideo -03:00 America/Montreal -04:00 America/Montserrat -04:00 America/Nassau -04:00 America/New_York -04:00 ...
Siehe auch:
- Wie plane ich einen Job in Oracle SQL Developer?
- Erfahren Sie, wie Sie Aufgaben/Jobs mit Cron (crontab) unter Linux planen
- Aktuelle Ortszeit eines beliebigen Landes in PL/SQL erhalten