開始前,先說一句:作為dba應該禁止所有應用使用dbms_job。
dbms_scheduler非常複雜,oracle在兩本書中專門花費不少章節描述,這兩本書分別是:
oracle® database pl/sql packages and types reference
oracle® database administrator's guide
如果要詳細了解排程,建議詳細閱讀第二本書,之後再閱讀第一本書中的有關章節
在雲時代,資源管理變得非常重要,而dbms_scheduler可以緊密結合oracle自身的資源管理
對於開發人員而言,常見的問題就是:如果乙個作業的排程時間不是那麼規律,則應該如何排程。
這個好解決,可以使用dbms_scheduler.create_scheduler建立schedule物件,以下是例子:
begindbms_scheduler.create_schedule(schedule_name
=>
'sch_day_10_30',
start_date
=>
systimestamp,
repeat_interval
=>
'freq=daily; byhour=10;byminute=30');
dbms_scheduler.create_schedule(schedule_name
=>
'sch_day_20_10',
start_date
=>
systimestamp,
repeat_interval
=>
'freq=daily; byhour=20;byminute=10');
dbms_scheduler.create_job(job_name
=>
'我的sch測試',
repeat_interval
=>
'sch_day_10_30,sch_day_20_10',
job_type
=>
'plsql_block',
job_action
=>
'begin null;end;',
enabled
=>
true,
auto_drop
=>
false,
comments
=>
null
);end;
通過使用排程,有幾個好處:
只需要修改排程,不需要修改作業
簡單易懂
python輕量級定時任務排程庫schedule
import schedule import time def job print i m working.schedule.every 10 minutes.do job schedule.every hour.do job schedule.every day.at 10 30 do job s...
oracle中使用序列
場景 在開發中資料庫主鍵id設計為number型別了,因此不能使用uuid進行隨機生成id,那麼現在使用oracle的序列自動生成吧。首先建立序列 create sequence seq case studyid minvalue 1 最小值 maxvalue 999999 最大值 start wi...
oracle 中 使用詳解
例如 左外連線 select a.a,b.a from a left join b on a.b b.b 等價於select a.a,b.a from a,b where a.b b.b 再舉個例子,這次是右外連線 select a.a,b.a from a right join b on a.b ...