您好,登錄后才能下訂單哦!
這篇文章主要介紹“Oracle調度Schedule特性分析”,在日常操作中,相信很多人在Oracle調度Schedule特性分析問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Oracle調度Schedule特性分析”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
1、創建Schedule
從名字來看,它是一個邏輯實體,就是說當創建了schedule之后,數據庫中就肯定存在這一對象,只不過這一對象是用來描述job的執行周期。
創建schedule可以通過DBMS_SCHEDULER.CREATE_SCHEDULE過程
舉個例子:
begin
dbms_scheduler.create_schedule(schedule_name => 'myschedule',
start_date => sysdate,
repeat_interval => 'FREQ=DAILY; INTERVAL=1',
comments => 'Every 1 weeks');
end;
/
下面對各參數分別代表含意解釋一下
SCHEDULE_NAME 指定schedule名稱,注意名稱要求唯一性。
START_DATE 指定該調度的開始時間,可為空,當為空時表示該調度暫不起用。
REPEAT_INTERVAL 指定調度的執行頻率或周期。
END_DATE 指定調度的結束時間,可為空,為空時就表示該調度將一直進行。
COMMENTS 注釋信息。
這其中,比較復雜的是REPEAT_INTERVAL參數,對于這個參數大家應該不會太陌生,因為前面介紹Jobs,也曾經提到過同名的參數,
Schedules中的REPEAT_INTERVAL參數和Jobs中的REPEAT_INTERVAL參數功能完全相同,甚至參數格式也一模一樣。
REPEAT_INTERVAL 參數的語法結構比較復雜。其中最重要的是FREQ和INTERVAL兩個關鍵字。
FREQ 關鍵字用來指定間隔的時間周期,可選參數有:YEARLY, MONTHLY, WEEKLY, DAILY, HOURLY, MINUTELY, and SECONDLY,分別表示年、月、周、日、時、分、秒等單位。
INTERVAL 關鍵字用來指定間隔的頻繁,可指定的值的范圍從1-99。
比如說,當指定REPEAT_INTERVAL=>'FREQ=DAILY;INTERVAL=1';就表示每天執行一次,如果將INTERVAL改為7就表示每7天執行一次,效果等同于FREQ=WEEKLY;INTERVAL=1。
2、管理Schedule
查詢當前已經創建的schedules,可以通過*_SCHEDULER_SCHEDULES視圖(含DBA_,ALL_,USER_),例如,查看當前用戶擁有的schedules,執行語句如下:
select schedule_name,repeat_interval from user_scheduler_schedules;
SCHEDULE_NAME REPEAT_INTERVAL
------------------------------ ------------------------------
MYSCHEDULE FREQ=DAILY; INTERVAL=1
如果要修改schedule屬性的話,也是使用DBMS_SCHEDULER.SET_ATTRIBUTE過程,該過程的調用方式跟之前的一樣,這里就不再重復舉例了,僅說明一點,
對于schedule來說,能夠修改的屬性包括:REPEAT_INTERVAL、COMMENTS、END_DATE、START_DATE以及EVENT_SPEC。
如果要刪除schedule,再簡單不過,執行DBMS_SCHEDULER.DROP_SCHEDULE過程即可
begin
DBMS_SCHEDULER.DROP_SCHEDULE('myschedule');
end;
到此,關于“Oracle調度Schedule特性分析”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。