DB2 Version 9.7 for Linux, UNIX, and Windows

管理用タスク・スケジューラー

管理用タスク・スケジューラーを使用すると、DB2® データベース・サーバーでタスク実行を自動化できます。またプログラム可能な SQL インターフェースも備えられているため、このインターフェースを用いて管理用タスク・スケジューラーを十分に活用できるアプリケーションを作成できます。

管理用タスク・スケジューラーは、ユーザー定義プロシージャーまたはシステム定義プロシージャーのいずれかにカプセル化する必要のある管理用タスクを管理および実行します。一連のシステム定義プロシージャーを使用すると、スケジューラーのタスク・リストへのタスクの追加、リストにあるタスクの更新、およびリストからのタスクの除去を行えます。また管理ビューを使用すると、タスク・リストと実行タスクの状況をモニターできます。

管理用タスク・スケジューラーは、タスク・センターおよび Database Administration Server (DAS) とは別個に作動します。DB2 データベース・サーバーに組み込まれていて、デフォルトでは使用不可になっています。正常にタスクを実行するには、管理用タスク・スケジューラーをセットアップする必要があります。

スケジューラーにおけるタスクの実行方法について

スケジュール・タスクは DB2 オートノミック・コンピューティング・デーモンによって実行されます。このデーモンは、ヘルス・モニターと自動保守ユーティリティーもホストします。このデーモンはプロセス・リストに db2acd として表示され、データベース・マネージャーと連動して開始および停止します。パーティション・データベース環境では、カタログ・データベース・パーティションからすべてのタスクが実行されます。

DB2 オートノミック・コンピューティング・デーモンは、新しいタスクまたは更新されたタスクがあるかどうかを 5 分ごとに検査します。このために、アクティブなデータベースにそれぞれ短く接続し、新規タスク定義および更新されたタスク定義を検索します。 パーティション・データベース環境では、このデーモンの接続はカタログ・データベース・パーティションに制限されます。このデーモンは、非アクティブなデータベースには接続しません。 スケジュール・タスクが期待通りに実行されるようにするには、データベースをアクティブなままにし、タスクの最も早い開始時間を、そのタスクを作成または更新してから少なくとも 5 分後にしなければなりません。

このデーモンは、アクティブ・タスクのリストを内部で維持します。タスクのスケジュール済み実行時間になると、デーモンは該当するデータベースに接続して、タスクに関連付けられているプロシージャーを呼び出します。データベースがアクティブでないと、デーモンはタスクを実行しません。管理通知ログと db2diag.log の両方に ADM15502W メッセージを書き込みます。その他の理由でデーモンがタスクの実行に失敗すると、ADM15501W メッセージが管理通知ログと db2diag.log の両方に書き込まれます。 その後、このデーモンは 60 秒ごとにタスクを実行しようと自動的に試行します。

同じタスクの前のインスタンスが依然として未解決な場合には、デーモンがタスクを実行することはありません。例えば、5 分ごとに実行するようにタスクをスケジュールしたとします。何らかの理由によりタスクの完了に 7 分かかると、デーモンは次の 5 分の間隔でこのタスクの別のインスタンスを実行しません。 その代わりに、このタスクは 10 分経過してから実行されます。

このタスクの実行状況はスケジューラーによって記録され、ADMIN_TASK_STATUS 管理ビューによって取り出せます。