全面學習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 Cache Buffer ChainsOracleAI
- Scheduler in Oracle Database 10g(轉)OracleDatabase
- Oracle Least Recently Used ChainsOracleASTAI
- Quartz job scheduler 學習quartz
- Kubernetes scheduler學習筆記筆記
- Oracle Database Scheduler整理OracleDatabase
- Oracle 任務管理之 ----program(程式)---scheduler(計劃)--Job(任務)Oracle
- OceanBase學習之路11|體驗 DDL 新特性(Oracle 模式)Oracle模式
- oracle 10G特性之awrOracle 10g
- Oracle定時任務dbms_schedulerOracle
- 史上最全學習率調整策略lr_scheduler
- oracle排程程式作業dbms_schedulerOracle
- oracle使用DBMS_SCHEDULER排程作業Oracle
- Automatic Reference Counting(ARC)特性學習(iOS5新特性學習之五)iOS
- Python學習之高階特性Python
- 讓 PM 全面理解深度學習深度學習
- Adaptive AUTOSAR 學習筆記 10 - 執行管理APT筆記
- oracle11g: Scheduler Maintenance Tasks or Autotasks (Doc ID 756734.1)OracleAINaN
- Oracle 21c新特性預覽與日常管理相關的幾個新特性Oracle
- Oracle學習路線Oracle
- Oracle學習總結Oracle
- JDK 1.8 新特性學習(Stream)JDK
- Java1.8新特性學習Java
- 學習Rust泛型與特性Rust泛型
- C#特性學習筆記C#筆記
- Oracle特性總結Oracle
- Oracle 20c 新特性:XGBoost 機器學習演算法和 AutoML 的支援Oracle機器學習演算法TOML
- 從零開始學 Oracle 練習題答案(9-10)Oracle
- Python 3.8 新特性全面解讀Python
- oracle學習筆記《一》Oracle筆記
- 【REDO】Oracle redo undo 學習Oracle Redo
- Go型別特性-學習筆記Go型別筆記
- JDK11新特性學習(二)JDK
- JDK11新特性學習(一)JDK
- Flutter學習之Dart語法特性FlutterDart
- C++ 11 新特性 nullptr 學習C++Null
- Oracle 20c 新特性:自主的 In-Memory 管理 - Self-ManagingOracle
- Oracle IO校準特性Oracle
- Oracle的特性分頁Oracle