Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Oracle PL/SQL:Przykład DBMS_SCHEDULER.CREATE_JOB

Wymagane jest utworzenie zadania w Oracle, które będzie uruchamiane codziennie o 3:00 i wykonać procedurę składowaną w celu wykonania określonego zadania. Na przykład nazwa procedury składowanej to PROC_DAILY_UPDATES .

Aby to osiągnąć, w poniższym przykładzie użyto DBMS_SCHEDULER.CREATE_JOB Oracle procedura:

1. Utwórz zadanie w Oracle za pomocą 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;
/

Po utworzeniu powyższego zadania włącz je:

2. Włącz zadanie za pomocą DBMS_SCHEDULER.ENABLE

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

Aby potwierdzić pomyślne utworzenie zadania, użyj następującego zapytania:

Select * from user_scheduler_jobs 
 where job_name = 'JOB_DAILY_UPDATES';

Z powyższego zapytania uzyskasz informacje, takie jak data ostatniego rozpoczęcia, data następnego uruchomienia i stan włączenia zadania itp.

Aby uzyskać historię wykonania zadania, użyj następującego zapytania:

Select * from user_scheduler_job_run_details 
  where job_name = 'JOB_DAILY_UPDATES';

Możesz również zauważyć, że w powyższym DBMS_SCHEDULER.CREATE_JOB przykład procedury, użyłem strefy czasowej America/New_York . Strefę czasową określonego kraju można uzyskać za pomocą następującego zapytania:

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

Wyjście

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

Zobacz też:

  • Jak zaplanować pracę w Oracle SQL Developer?
  • Dowiedz się, jak planować zadania/zadania za pomocą Cron (crontab) w systemie Linux
  • Pobierz aktualny czas lokalny dowolnego kraju w PL/SQL
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jaka jest różnica między „RRRR” a „RRRR” w Oracle SQL?

  2. Pobierz BLOB z kolumny BFILE w Oracle

  3. Funkcja DATEDIFF w Oracle

  4. Tłumaczenie Microsoft T-SQL na Oracle SQL

  5. Kolekcja PL/SQL:zagnieżdżona tabela w bazie danych Oracle