Oracle學習筆記之調度任務。
--scheduler 調度的學習
--創建一個表,調試任務將每隔 30 秒向表內插入時間
create table schedule_test
(
timemod date
)
select * from schedule_test order by timemod
truncate table schedule_test
--FREQ 關鍵字用來指定間隔的時間周期,可選參數有:YEARLY,MONTHLY,WEEKLY,DAILY,HOURLY,MINUTELY,andSECONDLY,
--分別表示年、月、周、日、時、分、秒等單位。
--INTERVAL關鍵字用來指定間隔的頻繁,可指定的值的範圍從1-99
begin
dbms_scheduler.create_job(
job_name => 'bobfirst',
job_type => 'PLSQL_BLOCK',
job_action => 'begin insert into schedule_test (select sysdate from dual );commit;end;',
--start_date => to_date('2017-03-01','yyyy-mm-dd') --默認為:sysdate 立即執行 ,
end_date => to_date('2017-04-01','yyyy-mm-dd'), --默認為NULL
repeat_interval => 'FREQ=SECONDLY;INTERVAL=30',
enabled => true,
auto_drop => false,
comments => '這是我的第一次JOB調度'
);
end;
begin
--設置最大執行次數,不能在創建時指定,只能通過設置屬性進行
--這些常用的屬性有 :max_runs 最大執行次數 ; MAX_FAILURES 最大出錯次數; MAX_RUN_DURATION 執行最多持續時間
dbms_scheduler.set_attribute('bobfirst','max_runs',20);
--dbms_scheduler.disable('BOBFIRST');
--dbms_scheduler.drop_job('bobfirst');
end;
select * from user_scheduler_jobs
select * from user_scheduler_job_log;
select * from user_scheduler_job_run_details
select * from user_scheduler_running_jobs
Tags:
文章來源: