例: WLM しきい値に基づいてキューに入れられるアクティビティーとそのキュー順序の判別
Db2® ワークロード・マネージャー (WLM) 表関数 WLM_GET_SERVICE_CLASS_AGENTS を使用すると、WLM しきい値によってキューに入れられているアプリケーションまたはアクティビティー、およびキュー内のアプリケーションまたはアクティビティーの順序を表示できます。
WLM しきい値によってキューに入れられるエージェントには、そのエージェントに戻される対応する行の EVENT_OBJECT 列に値 WLM_QUEUE
が入ります。 また、AGENT_STATE_LAST_UPDATE_TIME 列には、エージェントが WLM_QUEUE
状態になった時刻、つまりエージェントがキューに入れられた時刻が入ります。 この情報を使用すると、WLM しきい値によってキューに入れられたすべてのアプリケーションまたはアクティビティーをリストし、そのキュー・エントリー時刻を取得するための簡単なビューを構成できます。
以下に記されている例において、WLM_GET_SERVICE_CLASS_AGENTS 表関数を使用して、WLM キュー情報を取得するためのビューを作成するには、以下のステートメントを実行します。
CREATE VIEW WLM_QUEUE_INFO (APPLICATION_HANDLE, UOW_ID, ACTIVITY_ID,
THRESHOLD_NAME, QUEUE_ENTRY_TIME, MEMBER)
AS SELECT APPLICATION_HANDLE, UOW_ID, ACTIVITY_ID,
VARCHAR(EVENT_OBJECT_NAME, 128), AGENT_STATE_LAST_UPDATE_TIME,
MEMBER FROM TABLE(WLM_GET_SERVICE_CLASS_AGENTS(NULL,NULL,NULL,-2))
AS T WHERE EVENT_OBJECT = 'WLM_QUEUE'
注: TOTALSCPARTITIONCONNECTIONS しきい値の場合、 uow_id および activity_id は適用外 (NA) であるため、NULL として表示されます。
このビューを使用すると、以下のような質問に簡単に答えられます。
- WLM しきい値によって現在キューに入れられているアプリケーションまたはアクティビティーは幾つありますか。
- WLM しきい値キュー内におけるアプリケーションまたはアクティビティーの順序はどのようになっていますか。
例 1
それぞれのキューイングしきい値によってキューに入れられているアプリケーション数を数えるには、以下のステートメントを実行します。
SELECT VARCHAR(THRESHOLD_NAME, 30) AS THRESHOLD, COUNT(*)
AS QUEUED_ENTRIES FROM WLM_QUEUE_INFO GROUP BY THRESHOLD_NAME
前述のステートメントを実行して取得される出力の例を、以下に記します。
THRESHOLD QUEUED_ENTRIES
------------------------------ --------------
TH1 3
1 record(s) selected.
例 2
TH1
CONCURRENTDBCOORDACTIVITIES しきい値によってキューに入れられるすべてのアクティビティーをリスト表示し、それらのキュー・エントリー時刻によって判別されるキューにおけるアクティビティー順序を表示するには、以下のステートメントを実行します。SELECT QUEUE_ENTRY_TIME, APPLICATION_HANDLE, UOW_ID, ACTIVITY_ID FROM
WLM_QUEUE_INFO WHERE THRESHOLD_NAME = 'TH1' ORDER BY QUEUE_ENTRY_TIME ASC
前述のステートメントを実行して取得される出力の例を、以下に記します。
QUEUE_ENTRY_TIME APPLICATION_HANDLE UOW_ID ACTIVITY_ID
-------------------------- -------------------- ----------- -----------
2009-11-09-18.08.32.583286 145 1 2
2009-11-09-18.08.42.589623 146 1 1
2009-11-09-18.08.54.607083 147 1 1
3 record(s) selected.