工作

「工作」功能表中有五個可用的選項:「摘要」、「執行中」、「預測」、「歷史記錄」、「通知」。每個選項的說明如下。

Summary

在頂端,「摘要」頁面提供失敗、已阻隔、鏈結延遲、資源無法使用、中斷以及重試排定工作的總數總覽。按一下工作磚塊,下方會以表格格式顯示對應的工作清單。移除篩選條件以顯示所有排定的工作。

若要建立工作,請參閱建立或編輯工作

每個工作列的結尾都有「動作」圖示 「動作」圖示。按一下動作以檢視下列選項清單:

  • 職務
    • 執行:執行特定工作。

    • 編輯:請參閱建立或編輯工作

    • 刪除:刪除特定工作。

    • 工作啟用 / 停用:如果選取「啟用」,則「排程器」會挑選工作進行處理。工作 (已啟用或未啟用) 的狀態會顯示在「工作詳細資訊」頁面中,其中「已啟用」特性會顯示 TRUE 或 FALSE。

  • 歷史記錄
    • 報表:以報表格式提供工作執行的歷史記錄,包括日誌詳細資訊、執行狀態、執行持續時間、錯誤 (如果有的話) 等等。

    • 圖表:以視覺長條圖表示法提供工作執行的歷史記錄。每次執行都會呈現執行持續時間和使用的 CPU 時間。鏈結中的工作會呈現整個工作的聚總資訊。總覽捲軸可透過變更時間範圍來啟用縮放與捲動。您可以顯示所選工作或所有工作之該時間範圍內日誌的所有詳細資訊。此外,也可以顯示所選時間範圍內所有工作的甘特圖。

  • 工作預測:您可以針對單一工作 (在「動作」功能表中提供) 或一組工作 (在表格的工具列上提供) 執行工作預測功能。針對一組工作,可使用篩選來縮小一組工作。使用 Ctrl 按鍵 + 按一下來選取一些工作,然後只對選取的工作執行「工作預測」。如果沒有選取的工作,將會針對所有列出的工作執行預測。最終預測中並未包含該集合中的每個工作。僅包含具有已定義行事曆 (重複間隔) 的工作。您可以內嵌或使用排程、時段或時段群組來定義工作曆。預測完成後,您可以選取不同的縮放層次,然後依綱要篩選結果。

  • 工作詳細資訊:顯示工作屬性,例如動作、工作類別、類型、排程等等。選取 JSON 以檢視 JSON 格式的屬性。視工作定義而定,系統會提供已使用物件的相關明細,例如已使用的程式、PL/SQL 程式碼、程序、程序相依性、程式引數、工作引數、工作類別、排程、時段、時段群組,以及群組中的時段、檔案監視器、歷史記錄圖表,顯示上一個開始日期起的一週歷史記錄。

執行中

「執行中」頁面會顯示目前執行中的工作清單。下列命令可供使用:停止、編輯、歷史記錄、工作詳細資訊。

上述描述

歷史記錄

「歷史記錄」頁面顯示使用者可用的所有「排程器」工作的日誌執行詳細資訊。您可以使用「歷史記錄」視窗並設定篩選條件,以限制資料量。您可以透過提供延遲間隔,使用延遲的工作進行篩選。按一下欄標題即可在方格上支援排序。

預測

「預測」頁面提供所有可用工作的工作執行預測。這項作業需要一些時間才能完成,視工作數目和預測間隔而定。所有可用工作的預測取決於連線使用者的權限。執行之後,您可以根據工作的綱要來篩選結果。

「個案」功能也可用於「職務 - 摘要」頁面。在這種情況下,它會用於可用工作的清單中。您可以在使用預測功能之前篩選工作。如果有選取的職務,則功能僅會使用選取的職務。

歷史記錄 (甘特圖)

歷史記錄以甘特圖的形式表示視窗與工作執行歷史記錄。Windows 啟動歷史記錄會顯示在第一列。工作會根據使用的 CPU 時間上限,以遞減順序排序。顯示每個時段啟動和工作執行的詳細資訊。當您將游標暫留在職務列的標籤上時,即可取得職務摘要。

如上所述

通知

只有在為排程器設定電子郵件伺服器時,您才能建立通知。

「通知」頁面可讓您檢視、建立、編輯及刪除與工作事件相關的通知。此外,按一下頁面右上角的通知電子郵件伺服器圖示,即可查看電子郵件伺服器詳細資訊。

您可以為每個訊息指定工作、收件者電子郵件地址和寄件者 (或無寄件者),而且可以修改訊息的主旨和內文,以及設定篩選條件。如果提供多個收件者與事件,則 Oracle Scheduler 會為每個 <recipient,event> 組合建立個別的通知記錄。您可以使用編輯聚總來編輯以此方式建立的一組通知內容,此內容會顯示在每個通知的相關內容功能表中。編輯:編輯單一通知的內容。

通知可以依工作名稱、工作擁有者、收件者和事件篩選。您可以按一下移除通知圖示來選取和移除部分通知。如果未選取任何通知 (使用 Ctrl+ 按一下即可取消選取單一通知),就會顯示「移除通知」對話方塊,讓您移除所選工作、工作和收件者、工作和事件、工作和事件以及事件和收件者的所有通知。

建立或編輯工作

本節描述如何建立新的 Oracle Scheduler 工作或編輯現有的工作。

若要建立工作,「資料庫動作」會在內部使用 DBMS_SCHEDULER.CREATE_JOB 程序,此程序記錄於 Oracle Database PL/SQL Packages and Types Reference

  1. 在「工作」頁面的右上角,按一下建立工作
  2. 在「工作特性」中,輸入下列欄位:

    詳細資訊

    • 已啟用:如果指定此選項,則會進行有效性檢查,如果所有檢查都成功,則會啟用工作。如果未指定此選項,則不會啟用工作。
    • 名稱:工作的名稱。
    • 描述:可用來描述工作的選擇性文字字串。
    • 類型:要由工作執行的物件類型:PL/SQL 區塊、鏈結、預存程序、指定的程式或命令檔。「鏈結」、「預存程序」及「具名程式」會顯示其他控制項,供您選取相關物件。

      在「預存程序」中,僅列出具有 IN 參數的程序,不允許使用 IN OUT 或 OUT 參數的程序。

      列出所選綱要的綱要層次和套裝程式層次程序,但您可以直接在欄位中輸入程序名稱 (或 package_name.procedure_name)。

    • 類別:此工作所屬之工作類別的名稱。

    執行模式

    • 模式:執行工作的時機:立即 (立即建立,僅一次)、一次 (一次、指定時間)、重複佇列檔案監看器排程 (使用指定的排程物件)、視窗以及視窗群組。如果您指定「立即」以外的任何項目,系統會提示您輸入其他資訊。

      對於「重複」,您可以手動定義重複間隔,或按一下鉛筆圖示來選取日期、頻率、工作日和間隔值。不支援 Oracle 行事曆語法的某些子句 (包括、排除、交集、期間和期間),按一下編輯圖示時會顯示警告。

    目的地

    • 本機 (本機系統)、遠端 (遠端資料庫工作的資料庫目的地,或遠端外部工作的外部目的地),或多個 (工作會在與所提供目的地群組關聯的所有目的地上執行)。視您為工作選取的目的地而定,選取本機證明資料、遠端證明資料和目的地或目的地群組。

    特性

    • 自動刪除:決定工作是否在完成或自動停用之後自動刪除。

    • 失敗時重新啟動:決定是否可以在失敗時重新啟動工作。

    • 復原時重新啟動:決定是否在資料庫失敗時重新啟動工作。

    • 儲存輸出:如果啟用,則針對記錄的工作執行,所有工作輸出和錯誤訊息都會儲存在 *_JOB_RUN_DETAILS 檢視中。如果停用,則不會儲存輸出與訊息。

    • 遵循預設時區:決定工作開始日期是否為空值,當預設時區排程器屬性變更時,排程器會重新計算此工作的下一個執行日期與時間,使其符合新時區。

    • 允許以限制模式執行:如果啟用,則當資料庫處於限制模式時,便允許工作在工作擁有者在此模式期間登入時執行。
    • 在時段關閉時停止:如果工作的排程是時段或時段群組,啟用此選項會在相關時段關閉後停止工作,而停用則會在時段關閉後繼續工作。(請注意,如果允許工作繼續,則其資源配置可能會變更,因為關閉時段一般也表示資源計畫發生變更)。

    • 執行處理黏性:此屬性只適用於在 Oracle Real Application Clusters (Oracle RAC) 環境中執行的資料庫。預設會啟用此連線。工作會以最輕的負載在執行處理上開始執行,接著是嘗試在上次執行所在的執行處理上執行。如果該執行處理發生當機或過載而未在一段很長的時間內啟動新工作,另一個執行處理就會執行該工作。如果執行之間的間隔很大,就會忽略 instance_stickiness 並將工作視為非黏性工作來處理。如果停用 instance_stickiness,則工作的每個例項都會在第一個可用的例項上執行。
    • 平行執行處理:針對以事件為基礎的工作,決定如果發生事件,以及處理該事件已在執行的以事件為基礎的工作,會發生什麼情況。如果停用,就會忽略新事件。如果啟用,這會導致事件的每個執行處理啟動工作的執行處理,而且每個工作執行處理都是輕量型工作,因此相同事件型工作的多個執行處理可以平行執行。

    • 工作樣式:正在建立之工作的樣式: REGULAR (一般工作) 或 LIGHTWEIGHT (輕量型工作)。輕量型必須參照程式物件。有許多經常執行的短期工作時,請使用輕量型工作。在某些情況下,使用輕量型工作可增加小效能。

    • 工作優先順序:此工作相對於與此工作相同類別中其他工作的優先順序。如果一個類別內有多個工作已排定為同時執行,則工作優先順序會決定工作協調器會從該類別中挑選工作進行執行的順序。它可以是 1 到 5 的值,1 是第一個要提取以進行工作執行的值。

    • 記錄日誌層次:決定記錄的資訊量:DBMS_SCHEDULER.LOGGING_OFF (無記錄日誌)、DBMS_SCHEDULER.LOGGING_FAILED_RUNS (只有因失敗原因失敗的工作)、DBMS_SCHEDULER.LOGGING_RUNS (此類別中每個工作的全部執行) 或 DBMS_SCHEDULER.LOGGING_FULL (對所有工作執行的所有作業)。

      不過,如果工作類別的記錄日誌層次高於為工作指定的層次,則會使用工作類別記錄日誌層次。

    • 執行處理 ID :在 Oracle Real Application Clusters 環境中,必須執行工作之執行處理的執行處理 ID。

    • 執行次數上限:工作連續排定的執行次數上限。

    • 失敗次數上限:工作在自動停用之前,連續排定的執行失敗次數。

    • 引發事件:決定產生事件的工作執行階段。

    • 執行持續時間上限:允許執行工作的最長時間。其資料類型為 INTERVAL DAY TO SECOND。如果此屬性設為非零與非空值,且工作持續時間超過此值,則「排程器」會產生 JOB_OVER_MAX_DUR 類型的事件。然後由您的事件處理常式決定是否允許工作繼續。

    • 排程限制:取消程式執行之前,排定與實際工作開始之間的最長延遲時間。

    • 重設為預設值:將所有特性重設為預設值。

    NLS

    可讓您設定此工作所需的 NLS 相關特性。若要輸入值,請鍵入「值」資料欄的相關欄位。

    對於新工作,系統會從資料庫階段作業取得參數。

  3. DDL 窗格中,您可以複查並儲存建立或編輯工作時產生的 SQL 敘述句。
    • 針對新工作,按一下建立以檢視產生的 DDL 敘述句。

    • 編輯工作時,按一下 UPDATE 以檢視產生的 ALTER 敘述句。

    完成時,請按一下套用

    輸出窗格會顯示 DDL 命令的結果。如果有任何錯誤,請移至對應的窗格,修正錯誤,然後重新執行命令。您可以將內容儲存至檔案。