全面學習ORACLE Scheduler特性(10)管理Chains
5.2 管理Chains
5.2.1 修改Chains屬性
基本上碰到修改CHAIN屬性的機率不會太大,因此確實沒啥可修改的,對於CHAIN物件來說,能夠修改的屬性只有兩個:evaluation_interval和comments,這兩個引數一般情況下甚至都不會進行設定。如果你碰到了確實需要修改的情況,沒問題,DBMS_SCHEDULER.SET_ATTRIBUTE過程還記的吧,沒錯,修改CHAIN也是用它。例如:
SQL> select chain_name,comments from user_scheduler_chains;
CHAIN_NAME COMMENTS
-------------------- --------------------------
MY_CHAIN1
SQL> exec dbms_scheduler.set_attribute('my_chain1','comments','change it for a test!');
PL/SQL procedure successfully completed.
SQL> select chain_name,comments from user_scheduler_chains;
CHAIN_NAME COMMENTS
-------------------- --------------------------
MY_CHAIN1 change it for a test !5.2.2 設定Chain Step執行屬性
修改Chain Step的執行屬性就不能使用DBMS_SCHEDULER.SET_ATTRIBUTE了,而是有專門的過程DBMS_SCHEDULER.ALTER_CHAIN處理,該過程的定義如下:
SQL> desc dbms_scheduler.alter_chain;
Parameter Type Mode Default?
---------- -------- ---- --------
CHAIN_NAME VARCHAR2 IN
STEP_NAME VARCHAR2 IN
ATTRIBUTE VARCHAR2 IN
VALUE BOOLEAN IN前兩個引數就不說了,ATTRIBUTE引數用來指定STEP的屬性值,可設定的屬性值有3個,每個屬性值都有TRUE和FALSE兩個選項,由VALUE引數指定:
- PAUSE :設定該引數值為TRUE時,當step執行時,其執行狀態就會變更為PAUSED;
- SKIP :設定該引數值為TRUE時,當step滿足執行條件時,並不是執行step中的program,而是直接跳過,注意當SKIP引數值設定為TRUE,並且PAUSE引數值也被設定為TRUE,那麼將會以PAUSE的狀態優先;
- RESTART_ON_RECOVERY :設定該引數值為TRUE時,如果由於資料庫shutdown導致step被停止,那麼當下次資料庫啟動時,step會自動重新執行。
DBMS_SCHEDULER.ALTER_CHAIN 過程修改Chain Step屬性後,只有當下次執行時才會生效,如果要修改當前執行中Chain Step的屬性,也有一個專門的過程DBMS_SCHEDULER.ALTER_RUNNING_CHAIN進行處理,該過程語法與DBMS_SCHEDULER.ALTER_CHAIN一模一樣,這裡就不詳細介紹了。
5.2.3 刪除Chain Rules
Chain Rules 沒有對應的修改方法,如果要修改某個Chain的rule,只能首先刪除不適當的rule,然後重新新增新rule(所謂新增,其實就是再重新定義一個rule)。
刪除Chain Rule有專門的過程DBMS_SCHEDULER.DROP_CHAIN_RULE,該過程語法如下:
SQL> desc dbms_scheduler.drop_chain_rule;
Parameter Type Mode Default?
---------- -------- ---- --------
CHAIN_NAME VARCHAR2 IN
RULE_NAME VARCHAR2 IN
FORCE BOOLEAN IN Y三思一眼就能看出來,這個過程的呼叫方式那是相當簡單,因此就不對各個引數詳細介紹了,下面舉個簡單的示例,比如刪除前面定義的my_rule3,執行過程如下:
SQL> exec dbms_scheduler.drop_chain_rule('my_chain1','my_rule3',true);
PL/SQL procedure successfully completed.5.2.4 刪除Chain Steps
刪除Chain Step也有專門的過程DBMS_SCHEDULER.DROP_CHAIN_STEP進行處理,該過程語法如下:
SQL> desc dbms_scheduler.drop_chain_step;
Parameter Type Mode Default?
---------- -------- ---- --------
CHAIN_NAME VARCHAR2 IN
STEP_NAME VARCHAR2 IN
FORCE BOOLEAN IN Y看著有點兒眼熟是吧,沒錯,與drop_chain_rule的相似度高達90%以上。例如,刪除之前定義的my_step3,執行過程如下:
SQL> exec dbms_scheduler.drop_chain_step('my_chain1','my_step3',true);
PL/SQL procedure successfully completed.5.2.5 刪除Chains
如果要刪除Chain那就更簡單了,執行dbms_scheduler.drop_chain過程即可,例如:
SQL> exec dbms_scheduler.drop_chain('my_chain1',true);
PL/SQL procedure successfully completed.注意,執行drop_chain時,如果不指定force引數為TRUE,那麼預設情況下ORACLE會首先檢查要刪除的CHAIN是否還有被依賴的物件,如果存在的話,會報ORA-27479錯誤,提示仍然有依賴的物件(所謂依賴的物件就是指,該chain仍然存在chain_step或chain_rule之類),因此無法直接刪除。這種情況下解決方案有兩種:一是手動刪除所有相關的chain_step和chain_rule,然後再執行chain的刪除,再就是附加force引數並指定引數值為true,這樣ORACLE就會自動替你清除所有依賴的物件了。
==============================================
全面學習ORACLE Scheduler特性(9)建立Chains
全面學習ORACLE Scheduler特性(8)Application丟擲的Events
全面學習ORACLE Scheduler特性(7)Scheduler丟擲的Events
全面學習ORACLE Scheduler特性(6)設定Repeat Interval引數
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-614094/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 全面學習ORACLE Scheduler特性(9)建立ChainsOracleAI
- 全面學習ORACLE Scheduler特性(2)管理jobsOracle
- 全面學習ORACLE Scheduler特性(4)建立和管理ScheduleOracle
- 全面學習ORACLE Scheduler特性(1)建立jobsOracle
- 全面學習ORACLE Scheduler特性(3)使用ProgramsOracle
- 全面學習ORACLE Scheduler特性(7)Scheduler丟擲的EventsOracle
- 全面學習ORACLE Scheduler特性(11)使用Job ClassesOracle
- 全面學習ORACLE Scheduler特性(7)使用Events之Scheduler丟擲的EventsOracle
- 全面學習ORACLE Scheduler特性(6)設定Repeat Interval引數Oracle
- 全面學習ORACLE Scheduler特性(12)使用Windows和Window GroupsOracleWindows
- 全面學習ORACLE Scheduler特性(8)Application丟擲的EventsOracleAPP
- 全面學習ORACLE Scheduler特性(5) Schedules排程Programs執行的JobsOracle
- 全面學習ORACLE Scheduler特性(5)Schedules排程Programs執行的JobsOracle
- 全面學習ORACLE Scheduler特性(8)使用Events之Application丟擲的EventsOracleAPP
- Oracle 10g Scheduler 特性Oracle 10g
- 全面學習和應用ORACLE ASM特性--(2)管理asm磁碟OracleASM
- Oracle 10g Scheduler 全面介紹Oracle 10g
- 【JOB】Oracle JOB全面學習(DBMS_JOB和DBMS_SCHEDULER)Oracle
- 全面學習和應用ORACLE ASM特性OracleASM
- 全面學習oracle flashback特性(3.2)--Flashback Database操作示例OracleDatabase
- 全面學習oracle flashback特性(2.1)--Flashback Table之RECYCLEBINOracle
- Oracle Scheduler學習筆記分享Oracle筆記
- 10G SCHEDULER 特性
- 全面學習和應用ORACLE ASM特性--(5)管理asm磁碟中的檔案OracleASM
- 全面學習oracle flashback特性(2.3)--Flashback Table之注意事項Oracle
- 全面學習oracle flashback特性(1.2)--閃回查詢之As of scnOracle
- [轉載] 全面學習和應用ORACLE ASM特性(4),(5)OracleASM
- 全面學習oracle flashback特性(1.4)--閃回查詢之Transaction queryOracle
- 全面學習oracle flashback特性(1.1)--閃回查詢之As of timestampOracle
- 【徵文】全面學習oracle flashback特性(1.2)--閃回查詢之As of scnOracle
- [轉載] 全面學習和應用ORACLE ASM特性(1),(2),(3)OracleASM
- 全面學習和應用ORACLE ASM特性--(4)管理asm磁碟組中目錄和檔案OracleASM
- 全面學習oracle flashback特性(2.2)--Flashback Table之從UNDO中恢復Oracle
- 全面學習oracle flashback特性(1.5)--閃回查詢之制約因素Oracle
- 【徵文】全面學習oracle flashback特性(1.1)--閃回查詢之As of timestampOracle
- 【徵文】全面學習oracle flashback特性(1.4)--閃回查詢之Transaction queryOracle
- 全面學習和應用ORACLE ASM特性--(1)關於asm例項OracleASM
- oracle DBMS_SCHEDULER_job 管理Oracle