開始前,先說一句:作為dba應該禁止所有應用使用dbms_job。 dbms_scheduler非常複雜,oracle在兩本書中專門花費不少章節描述,這兩本書分別是: 如果要詳細瞭解調度,建議詳細閱讀第二本書,之後再閱讀第一本書中的有關章節 在雲時代,資源管理變得非常重要,而dbms_schedul ...
開始前,先說一句:作為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對象,以下是例子:
begin DBMS_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;
通過使用調度,有幾個好處:
- 只需要修改調度,不需要修改作業
- 簡單易懂