Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle PL/SQL:DBMS_SCHEDULER.CREATE_JOB Contoh

Persyaratannya adalah membuat pekerjaan di Oracle untuk dijalankan setiap hari pada 3:00 pagi dan menjalankan prosedur tersimpan untuk melakukan tugas tertentu. Misalnya, nama prosedur tersimpan adalah PROC_DAILY_UPDATES .

Untuk mencapai ini, contoh berikut menggunakan DBMS_SCHEDULER.CREATE_JOB Oracle prosedur:

1. Buat Pekerjaan di Oracle menggunakan 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;
/

Setelah membuat pekerjaan di atas, aktifkan:

2. Aktifkan Pekerjaan menggunakan DBMS_SCHEDULER.ENABLE

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

Untuk mengonfirmasi pekerjaan yang berhasil dibuat, gunakan kueri berikut:

Select * from user_scheduler_jobs 
 where job_name = 'JOB_DAILY_UPDATES';

Dari kueri di atas, Anda akan mendapatkan informasi seperti tanggal mulai terakhir, tanggal pelaksanaan berikutnya, dan status pengaktifan pekerjaan , dll.

Untuk mendapatkan riwayat eksekusi pekerjaan, gunakan kueri berikut:

Select * from user_scheduler_job_run_details 
  where job_name = 'JOB_DAILY_UPDATES';

Anda juga dapat melihat bahwa dalam DBMS_SCHEDULER.CREATE_JOB di atas contoh prosedur, saya menggunakan zona waktu America/New_York . Anda bisa mendapatkan zona waktu negara tertentu menggunakan kueri berikut:

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

Keluaran

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

Lihat juga:

  • Bagaimana Menjadwalkan Pekerjaan di Oracle SQL Developer?
  • Pelajari Cara Menjadwalkan Tugas/Pekerjaan dengan Cron (crontab) di Linux
  • Dapatkan Waktu Lokal Saat Ini dari Setiap Negara di 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. Sql:perbedaan antara dua tanggal

  2. Bisakah seseorang menjelaskan apa yang sebenarnya dilakukan oleh pernyataan MERGE di Oracle?

  3. Garis bawah tidak berfungsi di klausa seperti Oracle

  4. Cara mengetahui kapan tabel Oracle diperbarui terakhir kali

  5. Pengembang SQL 4