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;
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
Yorum Gönder