調度程式

調度程式

調度程式是管理任務的DB2®系統。“任務中心”顯示具有活動調度程式的已編目系統或資料庫的列表。每次啟動任務中心時都必須登錄。

基本信息

結構圖 結構圖

調度程式是管理任務的DB2®系統。“DB2管理伺服器”(DAS)的這個組件包括工具目錄資料庫,該資料庫包含“任務中心”使用的信息。安排一個任務時,“任務中心”使用調度程式的系統時鐘來跟蹤調度程式上的任務何時需要運行。

“任務中心”顯示具有活動調度程式的已編目系統或資料庫的列表。必須選擇一個調度程式系統來與“任務中心”一起工作。當您登錄至“任務中心”時,您正在登錄至選擇的調度程式系統。每次啟動任務中心時都必須登錄。

調度程式的體系架構

調度的結構包括三個組件:作業表(Job Table)、作業協調進程(Job Coordinator)以及工進程(Job Work Process)。

調度架構

調度結構三個組件作業表、作業協調進程以及工進程的作用說明如下:

1)作業表包含調度管理的作業信息,如作業名稱、程式名稱以及作業擁有者等。

2)作業協調進程協調作業的執行,查看運行中的作業。

3)作業工進程完成作業要完成的工作。

下圖所示是調度的體系架構圖。

調度的體系架構 調度的體系架構

執行調度程式的許可權

Oracle可以在某個用戶模式下創建作業、程式以及調度,但是必須具有相應的許可權才可以創建這些部件,如Create Job許可權來創建調度的作業、程式以及事件。並且對於調度其他模式的過程或程式,必須具備執行這些資料庫組件的許可權,即被賦予EXECUTE ANY PROGRAM許可權。下面是對於創建Scheduler以及各種執行許可權的一個總結。

①SCHEDULER ADMIN角色:所有的Scheduler系統許可權。

②DBA角色:包含SCHEDULER ADMIN角色。

③CREATE JOB許可權:創建Scheduler的作業、調度、程式、鏈以及事件。

④MANAGER SCHEDULER許可權:使用Scheduler的高級組件。

⑤EXECUTE ANY PROGRAM許可權:允許用戶在任何模式下執行任何程式。

⑥EXECuTE ANY CLASS許可權:允許將一個作業分配給任何作業類。

調度程式的組件

調度程式由一系列組件組成,當然這些組件是為了完成調度任務,提供調度的靈活性而定義的。它們之間各司其職完成調度任務。

(1)作業:作業將調度與程式結合起來,完成在某個時間間隔或者某個時間段內的任務,這個任務可以是PL/SQL代碼,也可以是執行檔或者Shell腳本。具體要執行的任務與調度結合,可以在指定的時間開始執行任務以及設定任務執行的頻率。

(2)調度:調度是純粹的時間概念,它告訴任務執行的開始時間,以及任務執行的頻率,一個調度可以觸發多個具體任務。

(3)程式:程式是具體完成某項任務的單元,包括程式名、類型以及具體動作,程式類型可以是PL/SQL代碼塊、存儲過程或者二進制可執行腳本。

(4)事件:Schedule支持使用事件觸發啟動具體作業運行,事件使用Schedule的Oracle流高級佇列特性。一個事件由某個進程或程式在具體動作發生時傳送訊息來完成。

(5)鏈:鏈將多個程式連線起來,這樣一個程式的運行有可能以另一個程式的運行為基礎,或者基於一個鏈來啟動作業。

調度程式對象

調度程式環境中最基本的對象是作業。作業可以是完全自包含的:它可以定義要執行的動作和執行時間。在更高級的配置中,作業只是由大量各種類型的調度程式對象組成的結構的一部分。

1.作業

作業(job)指定了要執行的動作以及執行動作的時間。“要執行的動作”可以是匿名的PL/SQL塊(可只由單條SQL語句構成)、PL/SQL存儲過程(可調用Java存儲過程或外部過程),或在伺服器的檔案系統中存儲的任何執行檔(既可以是二進制執行檔,也可以是shell腳本)。特彆強大的功能(超出了OCP課程的範圍)是遠程外部作業,該作業在一台單獨的機器上運行。“執行動作的時間”指定了啟動作業時的時間戳以及用於今後運行的重複時間間隔,或是觸發事件。

創建作業時可以使用多個選項,可以從DBMS SCHEDULE·CREATE JOB過程中看到這些選項。這個過程被重載,它至少具有6種形式。圖21—1為DBMS SC髒DuLE包的DESCRIBE的部分輸出,顯示了CREATE JOB的前兩種形式。

CREATE_JOB過程的輸出行 CREATE_JOB過程的輸出行

CREATE JOB過程的所有形式都必須指定JOB NAME。在創建該作業的模式內,這個作業名必須是唯一的。注意,作業是模式對象。接著,在CREATE JOB過程的第一種形式中,JOB TYPE必須是如下值之一:

·PLSQL BLOCK:一個匿名的PL/SOL塊

·STORED PROCEDURE:一個命名的PL/SQL過程

·EXECUTABLE:在作業系統提示行上的任何可執行程式

·CHAIN:一個命名的作業鏈對象

·E×TERNAL SCRIPT:作業系統的命令解釋器啟動的腳本

·SQL SCRIPT:一個SQL*Pius腳本

·BACKUP SCRIPT:一個RMAN腳本

JOB ACTION是要運行的命令、腳本或鏈。NUMBER OF ARGUMENTS參數指定了JOB ACTION應當接受的參數數量。

如上圖所示,CREATE JOB過程的第一種形式中的其他參數繼續詳細說明了運行作業的時間與頻率。START DATE指定了第一次執行作業的時間;REPEAT INTERVAL定義了在到達END DATE所指定時間之前重複執行作業的頻率(如每天執行一次)。JOB CLASS與優先權有關,並且集成調度程式與Resource Manager。ENABLED參數決定是否真正運行指定的作業。你可能會感到意外的是:這個參數默認設定為FALSE。如果在這個參數未被設定為TRUE的情況下創建某個作業,那么該作業只有先啟用才能運行(手動運行或者通過某個調度程式運行)。最後,AUTO DROP控制是否在到達END TIME指定的時間之後刪除作業定義,這個參數默認為TRUE。如果不使用任何調度信息創建某個作業,那么這個作業只要一啟用就能運行。如果AUTO DROP參數採用默認的設定TRUE,那么在到達END TIME指定的時間之後就會立即刪除這個作業。

2.程式

程式(program)在作業與其將要執行的動作之間提供了一個抽象層。程式是使用DBMSSCHEDULER.CREATE PROGRAM過程創建的。通過從作業定義中取出作業內容並在程式中加以定義,就可以在不同的作業中引用相同的程式,從而不必進行多次定義,就可以將它與不同的時間表和作業類關聯在一起。需要記
住的是:就作業而言,只有啟用程式才能使用它。默認是不啟用。

3.時間表

時間表(schedule)是指定作業運行時間與頻率的規範。時間表的基本原理是從作業中取出執行作業的時間,然後將其與不同的作業關聯。時間表是使用DBMS—SCHEDULER.CREATE—SCHEDULE過程創建的。START DATE默認為當前的日期與時間,這是與時間表關聯的任何作業的運行時間。REPEAT INTERVAL指定了在到達END DATE所表示時問之前作業應當運行的頻率。沒有設定END DATE的時間表將會一直運行。

REPEAT INTERVAL參數可以接受多種曆法表達式。這些曆法表達式由三種元素組成:頻率、時間間隔(默認為1)以及一些說明符。其中,頻率可以為下列值之一:

● YEARLY

● MONTHLY

● WEEKLY

● DAILY

● HOURLY

● MINUTELY

● SECONDLY

說明符可以為下列值之一:

● BYMONTH

● BYWEEKNO

● BYYEARDAY

● BYMONTHDAY

● BYHOUR

●BYMINUTE

●BYSECOND

相關短句

1、An addition to the dispatcher that determines which task is toexe cute next.

一種附加調度程式,它確定下一個要執行的任務。

2、Aroutine that controls the order in which in putand out put devicesobta in access to the processing system.

調度程式控制命令的例行程式,由它控制輸入和輸出裝置從而到達處理系統。

3、In soft wareengineering,abasic part of a system or program.For example,the scheduler or supervis or of anoperating system.

在軟體工程中,系統或程式的基本部分。例如,作業系統中的調度程式或管理程式。

4、Aqueue of new messages (or agroup) with in a system that area waiting processing.The main scheduling routine will scan the malong with other queuesand order them in to processing in order.

在系統中等待處理的一組或一佇列新信息,主調度程式對該佇列及其它佇列進行掃描,使之順序進入處理狀態。

5、InDPCX,aforward-chainedlist of all threads added to apriority level since that level' sscheduler last refer redtoits queues.

在分散式處理控制執行程式(dpcx)中,自從一個優先權的調度程式最後一次查閱它的佇列以來所添加到這個優先權上的所有執行緒的一個正向連結表。

6、The program in an operating system,or another function alunit,the purpose of which is to dispatch.

作業系統或其它功能單元中起調度作用的程式。

7、acrane formoving material with dispatch as in loading an dunloading ships.

在裝卸船上調度物質的起重機。

8、procedure of tax payment

納稅程式

9、The force the reassembled was trivial compared with the Danish horde.

他調度的軍隊與丹麥的烏合之眾相比是微不足道的。

相關詞條

相關搜尋

熱門詞條

聯絡我們