全面學習ORACLE Scheduler特性(4)建立和管理Schedule
10g 中新推出的SCHEDULER可能確實會讓很多初接觸的朋友感覺暈頭暈腦,相比之前的jobs,SCHEDULER中新增的概念太多。比如說jobs,仍然可以理解成之前版本中的jobs,不過功能更加強大(注意10g中也仍然可以使用普通jobs,這是廢話,相信看本篇文章的朋友目前應該還是這樣在用),比如說program,指的是執行的程式(把要做什麼單提出來了),比如說schedule,我將其翻譯為排程(job我翻譯為任務),定義執行的頻率或者說週期。
3.1 建立和管理Schedules
Schedule ,中文直譯的話應該理解成排程,從名字來看,它是一個邏輯實體(邏輯,還實體,好矛盾),就是說當建立了schedule之後,資料庫中就肯定存在這一物件,只不過這一物件是用來描述job的執行週期。
建立schedule可以透過DBMS_SCHEDULER.CREATE_SCHEDULE過程,該過程支援的引數如下:
SQL> desc dbms_scheduler.create_schedule;
Parameter Type Mode Default?
--------------- ------------------------ ---- --------
SCHEDULE_NAME VARCHAR2 IN
START_DATE TIMESTAMP WITH TIME ZONE IN Y
REPEAT_INTERVAL VARCHAR2 IN
END_DATE TIMESTAMP WITH TIME ZONE IN Y
COMMENTS VARCHAR2 IN Y各引數分別代表含意如下:
- 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。
下面,建立一個schedule,指定排程為每週一次的頻率,執行指令碼如下:
SQL> begin
2 DBMS_SCHEDULER.CREATE_SCHEDULE (
3 schedule_name => 'my_first_schedule',
4 start_date => SYSDATE,
5 repeat_interval => 'FREQ=WEEKLY; INTERVAL=1',
6 comments => 'Every 1 weeks');
7 END;
8 /
PL/SQL procedure successfully completed.查詢當前已經建立的schedules,可以透過*_SCHEDULER_SCHEDULES檢視(含DBA_,ALL_,USER_),例如,檢視當前使用者擁有的schedules,執行語句如下:
SQL> select schedule_name,repeat_interval from user_scheduler_schedules;
SCHEDULE_NAME REPEAT_INTERVAL
------------------------------ ------------------------------
MY_FIRST_SCHEDULE FREQ=WEEKLY; INTERVAL=1如果要修改schedule屬性的話,也是使用DBMS_SCHEDULER.SET_ATTRIBUTE過程,該過程的呼叫方式前面已經多次演示過,這裡就不再重複舉例了,僅說明一點,對於schedule來說,能夠修改的屬性包括:REPEAT_INTERVAL、COMMENTS、END_DATE、START_DATE以及EVENT_SPEC。
至於刪除schedule,再簡單不過,執行DBMS_SCHEDULER.DROP_SCHEDULE過程即可,例如:
SQL> EXEC DBMS_SCHEDULER.DROP_SCHEDULE('MY_FIRST_SCHEDULE');
PL/SQL procedure successfully completed.=======================================
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2147704/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 全面學習ORACLE Scheduler特性(1)建立jobsOracle
- 全面學習ORACLE Scheduler特性(2)管理jobsOracle
- 全面學習ORACLE Scheduler特性(9)建立ChainsOracleAI
- 全面學習ORACLE Scheduler特性(10)管理ChainsOracleAI
- 全面學習ORACLE Scheduler特性(3)使用ProgramsOracle
- 全面學習ORACLE Scheduler特性(7)Scheduler丟擲的EventsOracle
- Oracle Scheduler(4)job呼叫program和scheduleOracle
- 全面學習ORACLE Scheduler特性(11)使用Job ClassesOracle
- 全面學習ORACLE Scheduler特性(12)使用Windows和Window GroupsOracleWindows
- 全面學習ORACLE Scheduler特性(7)使用Events之Scheduler丟擲的EventsOracle
- 全面學習ORACLE Scheduler特性(6)設定Repeat Interval引數Oracle
- 全面學習ORACLE Scheduler特性(8)Application丟擲的EventsOracleAPP
- [轉載] 全面學習和應用ORACLE ASM特性(4),(5)OracleASM
- 全面學習ORACLE Scheduler特性(5) Schedules排程Programs執行的JobsOracle
- 全面學習ORACLE Scheduler特性(5)Schedules排程Programs執行的JobsOracle
- 全面學習和應用ORACLE ASM特性--(2)管理asm磁碟OracleASM
- 全面學習和應用ORACLE ASM特性OracleASM
- 全面學習和應用ORACLE ASM特性--(4)管理asm磁碟組中目錄和檔案OracleASM
- 全面學習ORACLE Scheduler特性(8)使用Events之Application丟擲的EventsOracleAPP
- 【JOB】Oracle JOB全面學習(DBMS_JOB和DBMS_SCHEDULER)Oracle
- 全面學習和應用ORACLE ASM特性--(5)管理asm磁碟中的檔案OracleASM
- [轉載] 全面學習和應用ORACLE ASM特性(1),(2),(3)OracleASM
- 全面學習和應用ORACLE ASM特性--(3)新增和修改asm磁碟組OracleASM
- 全面學習oracle flashback特性(3.2)--Flashback Database操作示例OracleDatabase
- 全面學習oracle flashback特性(2.1)--Flashback Table之RECYCLEBINOracle
- 全面學習和應用ORACLE ASM特性--(1)關於asm例項OracleASM
- Oracle Scheduler學習筆記分享Oracle筆記
- Oracle 10g Scheduler 特性Oracle 10g
- 全面學習oracle flashback特性(2.3)--Flashback Table之注意事項Oracle
- 全面學習oracle flashback特性(1.2)--閃回查詢之As of scnOracle
- Oracle 10g Scheduler 全面介紹Oracle 10g
- 學習和管理oracle角色Oracle
- 全面學習oracle flashback特性(1.4)--閃回查詢之Transaction queryOracle
- 全面學習oracle flashback特性(1.1)--閃回查詢之As of timestampOracle
- 【徵文】全面學習oracle flashback特性(1.2)--閃回查詢之As of scnOracle
- 使用DBMS_JOB和DBMS_SCHEDULER建立、管理job示例
- 全面學習oracle flashback特性(2.2)--Flashback Table之從UNDO中恢復Oracle
- 全面學習oracle flashback特性(1.5)--閃回查詢之制約因素Oracle