oracle排程中使用schedule管理排程

2022-08-02 01:06:14 字數 1371 閱讀 7695

開始前,先說一句:作為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;

通過使用排程,有幾個好處:

只需要修改排程,不需要修改作業

簡單易懂

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 ...