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