sql >> Databáze >  >> RDS >> Oracle

DBMS_SCHEDULER Příklad spuštění úlohy každou hodinu

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
  1. Chyba při použití připojení OLAP:Poskytovatel MSOLAP není registrován na místním počítači...

  2. Připojení Delphi k Salesforce.com

  3. Jak načíst soubor JAR v databázi Oracle?

  4. Jak chránit aplikaci JDBC proti vkládání SQL