ADMIN_TASK_STATUS 管理ビュー - タスク状況情報の取得

ADMIN_TASK_STATUS 管理ビューは、管理タスク・スケジューラーでのタスク実行の状況に関する情報を取得します。

スキーマは SYSTOOLS です。

このビューは、最初に ADMIN_TASK_ADD プロシージャーが呼び出されるときに作成されます。

許可

ADMIN_TASK_STATUS 管理ビューに対する SELECT または CONTROL 特権。 データベースが RESTRICTIVE オプションで作成された場合を除き、デフォルトで SELECT 特権が PUBLIC に付与されます。

ADMIN_TASK_STATUS ビューを照会した場合、セッション許可 ID によって作成されたタスク状況レコードのみが戻されます。

デフォルトの PUBLIC 特権

制限のないデータベースでは、このビューが自動的に作成されると、SELECT 特権が PUBLIC に付与されます。

例 1: スケジューラー内のタスクの状況の要求:
SELECT * from SYSTOOLS.ADMIN_TASK_STATUS
例 2: SQLERRM 関数を使用した SQLERRMC 列のデータのフォーマット:
SELECT TASKID, STATUS, SQLCODE, SQLSTATE, RC,
   VARCHAR( SQLERRM( 'SQL' || CHAR( ABS(SQLCODE) ),
   SQLERRMC, x'FF', 'en_US', 1 ), 256) AS MSG_TXT
   FROM SYSTOOLS.ADMIN_TASK_STATUS

戻される情報

表 1. ADMIN_TASK_STATUS 管理ビューによって戻される情報
列名 データ・タイプ 説明
NAME VARCHAR(128) タスク名。
TASKID INTEGER タスク ID。
STATUS VARCHAR(10) タスクの状況。有効な値は以下のとおりです。
  • RUNNING - タスクは現在実行中です。
  • COMPLETED - タスクは実行を完了しました。
  • NOTRUN - エラーが原因で、スケジューラーはタスクのプロシージャーを呼び出すことができません。
  • UNKNOWN - タスクの実行が開始されましたが、予期しない状態が原因で、スケジューラーはタスクの結果を記録できませんでした。これは、タスクの実行中にシステムが異常終了したり、電源障害が発生したりした場合に生じる可能性があります。
INVOCATION INTEGER 現在の呼び出しカウント。
BEGIN_TIME TIMESTAMP タスクが開始された時刻。1

STATUS が RUNNINGCOMPLETED、または UNKNOWN である場合、この値はタスクの実行が開始された時刻を示します。

STATUS が NOTRUN である場合、これはタスクが開始されるはずだった時刻を示します。

END_TIME TIMESTAMP タスクの実行が完了した時刻。1

STATUS が RUNNING である場合、この値は NULL になります。

STATUS が UNKNOWN である場合、この値は、タスク・スケジューラーがタスクはもはや実行されていないと判断し、状況表を更新した時刻になります。

AGENT_ID BIGINT agent_id - アプリケーション・ハンドル (エージェント ID) モニター・エレメント
SQLCODE INTEGER

STATUS が COMPLETED である場合、この値は、プロシージャーの呼び出しによって戻される SQLCODE を示します。

STATUS が NOTRUN である場合、この値は、タスクを実行できない原因となった SQLCODE のエラーを示します。

状況が RUNNING または UNKNOWN である場合、この値は NULL になります。

SQLSTATE CHAR(5)

STATUS が COMPLETED である場合、この値は、プロシージャーの呼び出しによって戻される SQLSTATE を示します。

STATUS が NOTRUN である場合、この値は、タスクを実行できない原因となった SQLSTATE のエラーを示します。

状況が RUNNING または UNKNOWN である場合、この値は NULL になります。

SQLERRMC VARCHAR(70) FOR BIT DATA

SQLCA の SQLERRMC フィールドに現れるとおり、X'FF' で区切られた 1 つ以上のトークンが入ります。これらのトークンは、エラー条件の説明の中の変数を置き換えます。

STATUS が COMPLETED である場合、この値は、プロシージャーの呼び出しによって戻される SQLERRMC を示します。

STATUS が NOTRUN である場合、この値は、タスクを実行できない原因となった SQLERRMC のエラーを示します。

状況が RUNNING または UNKNOWN である場合、この値は NULL になります。

RC INTEGER STATUS が COMPLETED である場合、プロシージャーに戻りコードが含まれていれば、これにはプロシージャーの呼び出しからの戻りコードが含まれます。それ以外の場合、これは NULL になります。
  • 1 BEGIN_TIME および END_TIME はデータベース・サーバーの時間帯に基づいています。夏時間調整時間 (DST) の調整はユーザーの責任で行う必要があります。