Tento příklad ukazuje, jak vytvořit úlohu v Oracle, aby se spouštěla každou hodinu pomocí DBMS_SCHEDULER
balíček.
1. Vytvořte úlohu pomocí DBMS_SCHEDULER.CREATE_JOB
Následující kód PL/SQL naplánuje úlohu, která se spustí 20. října 2019 v 1:00 indického času, aby se spouštěla každou hodinu každý den. Pokud chcete vyloučit konkrétní den, můžete z parametru intervalu opakování odebrat název dne . Typ úlohy je uložená procedura a spustí proceduru zadanou v parametru Job action.
BEGIN DBMS_SCHEDULER.CREATE_JOB ( job_name => 'HOURLY_JOB', job_type => 'STORED_PROCEDURE', job_action => 'YOUR_SCHEMA.YOUR_PROCEDURE', start_date => '20-OCT-19 01.00.00 AM Asia/Kolkata', repeat_interval => 'FREQ=HOURLY;BYDAY=MON,TUE,WED,THU,FRI,SAT,SUN', end_date => NULL, auto_drop => FALSE, job_class => 'SYS.DEFAULT_JOB_CLASS', comments => 'run job every hour'); END; /
2. Povolte úlohu
BEGIN DBMS_SCHEDULER.enable('HOURLY_JOB'); END; /
Váš hodinový DBMS_SCHEDULER
úloha je nyní vytvořena a povolena. Časové pásmo můžete změnit z „Asie/Kolkata " do libovolného časového pásma země získáním hodnoty z následujícího dotazu:
SELECT DISTINCT tzname, TZ_OFFSET (tzname) FROM V$TIMEZONE_NAMES ORDER BY tzname;
Související výukové programy:
- Oracle PL/SQL:DBMS_SCHEDULER.CREATE_JOB Spustit každý den jednou