Oracle Job Create

Pl/Sql ile geliştirdiğimiz programlarda ihtiyacımıza göre bazı işlerin otomatik veya belirli zamanlarda tekrarlı olarak çalışmasını isteriz. Örneğin her gün sistemi kontrol edip günlük döviz bilgilerini web servisten sorgulayıp sisteme kayıt etme gibi.
Bu tarz gereksinimlerimiz için Oracle tarafından bize sağlanan dbms_job paketini kullanıp sistemde zamanlanmış görevler oluşturabiliriz. Bu paketin altında bulunan submit prosedürü ile isteğimiz job kaydını yaratabiliriz. Submit prosedürü içinde bizim kullanacağımız parametreler job,what,next_date ve interval alanlarıdır. Job alanı bize oluşturdğumuz job id bilgisini verir. What alanına ise job içeriğini yazarız. Next_date alanı oluşan jobın en son çalışacağı zamanın değerini gireriz. Interval alanı ise job’ın hangi sıklıkla çalışacağını yani her gün saat birde gibi tanımla yaptığımız değerdir.
Şimdi bir tane job oluşturalım ve hergün saat 01:00:00 da bir tabloya kayıt atmasını sağlayalım:

 


declare

vJob number;

begin

dbms_job.submit(job => vJob,

what => '

begin

insert into testTable

(Tarih, Aciklama)

values

(sysdate, ''Tabloya kayıt yapıldı.'');

commit;

end;

',

next_date => to_date('01/01/2040', 'dd/mm/yyyy'),

interval => 'TRUNC(SYSDATE+1)+(1/24)');

commit;

dbms_output.put_line('Oluşan JobId:' || vJob);

end;

Erman Ağ Geliştirici on 18 Kasım 2018 yazdı
Yorum Ekle
  • 0 Yanıt(lar)
  • Yanıtınız

    Cevabınızı göndererek Gizlilik Politikası ve Hizmet Şartlarını kabul ediyorsunuz.