標籤:style blog http color os ar 使用 sp strong
一、調度的概述
這裡我看到一篇對調度的概述覺得描述的比我好,但僅限於概述部分,其他部分我覺得我講的比他好,於是發生以下事情:
************************華麗的轉載*************************************************************************
在Oracle中任務調度指某一執行程式在特定的時間被周期性的執行。Oracle把任務調度稱為job。而一個基本的job由兩方面組成program和schedule。其中program指周期性執行的可執行程式,其中可包括PL\SQL匿名塊,預存程序、函數、包以及作業系統的可執行指令碼和外部程式等等。schedule指的是,調度program執行的周期。該周期既可以基於特定時間被調度,也可以基於某一事件被調度。因而JOB總體上可分為兩大類,基於時間的JOB和基於事件的JOB。在Oracle 10g之前,採用dbms_job程式包來完成任務調度的相關工作。在Oracle 10g之後,Oracle推出了功能更加強大的dbms_schedule來完成任務調度工作,主要是由於dbms_schedule能夠基於事件進行任務調度而dbms_job無法基於事件進行調度(筆者個人淺見,待驗證)!
************************華麗的轉載*************************************************************************
二、調度的作用
作用的話我可以使用第一張圖片來描述。如果用一句話來描述的話那就是:簡化管理工作。
三、調度的組成
調度的話包含著3個部分,用一句話來描述那就是:程式+調度計劃+作業=調度
如果用一張圖片來描述的話那就是:
四、建立一個機遇時間的調度
1、我比較喜歡講程式、調度計劃和作業分開建立,使用的時候將他們關聯組織在一塊形成一個調度,而不喜歡建立一個作業,裡面稀裡嘩啦的包含著一大堆的內容。
2、這次我使用EM企業管理器來建立會比較簡單,因為圖形化介面就是越來越方便,而且裡面的show sql實在是我們這些對sql命令不愛記憶的人的一大神器。不過有些命令還是要記住的,不然顯得我們不夠專業。
建立一個測試表: job_test
conn hr/hrcreate table job_test(sdate date);
3、看圖,按照順序我們先建立一個程式:程式就是我們整個調度要做的事情都放在這裡。
其中的source就是我們要執行這個調度要做什麼的動作要寫在這裡面。這次我們要做的就是每隔一秒插入一條記錄到job_test這張表中。
4、建立一個調度計劃。調度計劃的計劃類型有:標準的和事件類型的。這次我麼選擇標準的調度計劃。
5、建立一個作業,然後將程式和調度計劃管理組織在一起形成一個調度。
看最下面,這裡我們使用剛才建立好的程式:
使用預定義的調度計劃:
至此,只要點擊OK就可以讓完成這個作業了。
6、開始調度過程:
查看作業是否正常運行:
可以看出,基於時間的調度是正常啟動並執行。
五、建立基於事件的調度
這裡內容比較多,圖片比較多,所以分開來吧,下一講請看:《ORACLE調度之基於事件的調度(二)【weber出品】》
ORACLE調度之基於時間的調度(一)【weber出品】