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