sql >> Databasteknik >  >> RDS >> Oracle

DBMS_SCHEDULER Jobbkörning varje timme Exempel

Det här exemplet visar hur du skapar ett jobb i Oracle som körs varje timme med DBMS_SCHEDULER paket.

1. Skapa ett jobb med DBMS_SCHEDULER.CREATE_JOB

Följande PL/SQL-kod kommer att schemalägga ett jobb som startar den 20 oktober 2019 kl. 01:00 Indien tid för att köras varje timme varje dag. Du kan ta bort dagnamnet från parametern för upprepad intervall för att utesluta en viss dag . Jobbtypen är lagrad procedur och kör den procedur som anges i parametern Jobbåtgärd.

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. Aktivera jobbet

BEGIN 
    DBMS_SCHEDULER.enable('HOURLY_JOB'); 
END;
/

Din timliga DBMS_SCHEDULER jobb skapas och aktiveras nu. Du kan ändra tidszonen från "Asien/Kolkata " till valfri tidszon i landet genom att hämta värdet från följande fråga:

SELECT DISTINCT tzname, TZ_OFFSET (tzname)
 FROM V$TIMEZONE_NAMES
ORDER BY tzname;

Relaterade självstudier:

  • Oracle PL/SQL:DBMS_SCHEDULER.CREATE_JOB Kör varje dag en gång
  1. Checker Run

  2. Hur man säkerhetskopierar/återställer MySQL/MariaDB och PostgreSQL med hjälp av verktygen "Automysqlbackup" och "Autopostgresqlbackup"

  3. Hur byter jag snabbt namn på en MySQL-databas (ändrar schemanamn)?

  4. Använder ORDER BY och GROUP BY tillsammans