Window Group, Window kullanarak DB Job çalıştırma

-- Window Group Drop Etme

begin
DBMS_SCHEDULER.drop_window_group (
    group_name => 'UC_BES_YEDI_GROUP',
    force       => TRUE);
end;  
/

-- Window Drop Etme

begin
DBMS_SCHEDULER.drop_window (
    window_name => 'TEST_WINDOW_BES,TEST_WINDOW_YEDI',
    force       => TRUE);
end;

/

-- DB job Drop Etme

BEGIN
DBMS_SCHEDULER.drop_job (job_name => 'OTOMATIK_MAIL_JOB_20,OTOMATIK_MAIL_JOB_25,OTOMATIK_MAIL_JOB_LAST');
end;

/

begin
DBMS_SCHEDULER.create_window (
    window_name     => 'TWENTIETH_DAY_WINDOW',
    resource_plan   => null,
    repeat_interval => 'FREQ=MONTHLY; BYMONTHDAY=20; BYHOUR=09',
    duration    => INTERVAL '1' HOUR,
    comments        => 'Her ayın 20''sinde saat 9''da çalışacak işler için kullanılır.');
end;  

/

begin
DBMS_SCHEDULER.create_window (
    window_name     => 'LAST_SIX_DAY_WINDOW',
    resource_plan   => null,
    repeat_interval => 'FREQ=MONTHLY; BYMONTHDAY=25,26,27,28,29,30,31; BYHOUR=09',
    duration    => INTERVAL '1' HOUR,
    comments        => 'Her ayın 25''inden ay sonuna kadar saat 9''da çalışacak işler için kullanılır.');
end;

/

begin
DBMS_SCHEDULER.create_window (
    window_name     => 'LAST_DAY_WINDOW',
    resource_plan   => null,
    repeat_interval => 'FREQ=MONTHLY; BYMONTHDAY=-1; BYHOUR=09,13,16',
    duration    => INTERVAL '1' HOUR,
    comments        => 'Her ayın son günü saat 9, 13, 16''da  çalışacak işler için kullanılır.');
end;

/


begin
  sys.dbms_scheduler.create_window_group(group_name => 'TRIA_WINDOW_GROUP',
                                         window_list => 'TWENTIETH_DAY_WINDOW,LAST_SIX_DAY_WINDOW,LAST_DAY_WINDOW',
                                         comments => 'Window Group by cyurter');
end;


/

BEGIN
    SYS.DBMS_SCHEDULER.CREATE_JOB (
            job_name => 'Makbuzlanan_Police_Mail_Job',
            job_type => 'PLSQL_BLOCK',
            job_action => 'begin bilgilendirme_pkg.otomatik_mail; end;',
            job_class => 'DEFAULT_JOB_CLASS',
            schedule_name => 'SYS.TRIA_WINDOW_GROUP',
            enabled => true,
            comments => 'Aysonu itibariyle makbuzlanan poliçeleri ayın 20''sinde, 25''inden sonra hergün ve ayın son günü üç defa mail ile gönderir.');
END;

/

-- Kontroller

SELECT * FROM   dba_scheduler_windows;
SELECT * FROM   SYS.dba_scheduler_window_groups;

SELECT * FROM dba_scheduler_window_details where window_name in ('LAST_DAY_WINDOW','LAST_SIX_DAY_WINDOW','TWENTIETH_DAY_WINDOW' ) order by window_name, req_start_date;

SELECT * FROM dba_scheduler_jobs;

Yorumlar

Bu blogdaki popüler yayınlar

DBA SCHEDULER JOB

Drop Edilen Tabloyu Geri Getirme

ORA-20001