TDWMEventHistoryテーブルとそれに対応するビューであるQryLogEventHisVには、ワークロードとシステム イベントに関する情報および状態が変化するまでの値が含まれます。
テーブルは、イベント間の関係をセットとして抽出できるように構築されます。いくつかの独立したイベントにより、現在の状態を判断できる場合があります。この関係を明確にするために、テーブルでは、関連するイベントが同じタイムスタンプで時系列にリストされます。
例えば、イベントが発生すると、TASMによって直ちに記録されます。このイベントが計画済の環境変化を引き起こすイベントの組み合わせの一部である場合、TASMでは計画済の環境変化およびイベントの組み合わせに含まれるすべてのイベントの詳細を記録します。さらに、計画済の環境変化によって状態変化がトリガーされる場合は、TASMでは同じタイムスタンプで状態変化を記録します。seqno(連番)フィールドは、イベントが発生した順序を示します。以下は、時系列にイベントを抽出するサンプルSQLリクエストです。
SELECT entryts, SUBSTR(entrykind,1,10) "kind", SUBSTR (entryname,1,20) "name", CAST (eventvalue as float format '999.9999') "evt value", CAST (lastvalue as float format '999.9999') "last value", spare2 "spare Int", SUBSTR (activity,1,10) "activity id", SUBSTR (activityname,1,20) "act name", seqno FROM tdwmeventhistory order by entryts, seqno;
これは、TDWMEventHistoryログにアクセスする別の方法の例で、再帰処理を使用してシステムがRED状態になった原因を示します。
WITH RECURSIVE CausalAnalysis(EntryTS, EntryKind, EntryID, EntryName, Activity,Activityid) AS ( SELECT EntryTS, EntryKind, EntryID, EntryName, Activity, Activityid FROM DBC.TDWMEventHistory WHERE EntryKind = 'SYSCON' AND EntryName = 'RED' AND Activity = 'ACTIVE' UNION ALL SELECT Cause.EntryTS,Cause.EntryKind,Cause.EntryID, Cause.EntryName,Cause.Activity,Cause.Activityid FROM CausalAnalysis Condition INNER JOIN DBC.TDWMEventHistory Cause ON Condition.EntryKind = Cause.Activity AND Condition.EntryID = Cause.Activityid) SELECT * FROM CausalAnalysis ORDER BY 1 DESC; EntryTS EntryKind EntryID EntryName Activity ActivityId ---------------------- --------- ------ --------- -------- -------- 2006-03-22 14:20:49.12 SYSCON 30 RED ACTIVE 0 2006-03-22 14:19:49.06 EXPRESS 20 AWT&NODE SYSCON 30 2006-03-22 14:17:48.53 EVENT 11 NODE DOWN EXPRESS 20 2006-03-22 14:16:48.51 EVENT 10 LOW AWTS EXPRESS 20