Automicblog-Repost vom 4. Juli 2011

Im ersten Teil der Serie habe ich einen kleinen Einblick in die Benutzung von SQL-Queries zum Zugriff auf die Automation Engine Datenbank gegeben. Dabei haben wir uns auf den Objektbereich und die Tabelle OH konzentriert. In den letzten Beispielen haben wir OH durch den SQL-Befehl join mit der Tabelle JBA (Job Attributes) kombiniert.

Heute will ich Ihnen anhand einiger Beispiele zeigen, was es in den wichtigsten Tabellen in den Bereichen Aktivitäten (Tabelle EH) und Statistiken (Tabelle AH) zu entdecken gibt.

Aktivitätenbereich: Tasks mit überschrittener Laufzeit

EH (Executive Header) ist die Haupttabelle im Aktivitätenbereich. Beginnen Sie also am besten hier damit, sich mit dem Aktivitätenfenster in der AE Datenbank auseinanderzusetzen.

Hier zunächst einige wichtige Spalten der Tabelle. Eine Liste mit allen Spalten gibt es in der Table Definition EH von Automic.

EH_AH_IDNR: Die RunID. Auch für andere Tabellen gilt: Wenn der Name der Spalte auf AH_IDNR endet, enthält die Spalte die RunID.

EH_Status: Der numerische Status-Code der Aktivität (z.B. 1800 für ENDED_NOT_OK).

Der Aktivitäten-Bereich besteht in V11.2 aus 33 Tabellen. (Klicken für volle Auflösung)

EH_OH_IDNR: Die Objekt-ID des Objekts, also die eindeutige Objekt-Nummer (OH_IDNR ist immer die Objekt-ID, wie letzte Woche zum Beispiel auch die JBA_OH_IDNR). Sie finden damit den Eintrag in OH, der zu diesem Eintrag im Aktivitätenfenster gehört. Das ist zum Beispiel sehr nützlich für Joins.

EH_Client: Der Mandant.

EH_Name: Name des Objekts (zum Zeitpunkt der Aktivierung).

EH_REFNR: Enthält bei Wiederanläufen die RundID der ursprünglichen Durchführung (ansonsten 0).

EH_OTYPE: Typ der Aktivität.

Sehen wir uns nun ein Beispiel an, das so im Interface nicht möglich ist. Wir zeigen mit einem kurzen Skript alle Tasks an, die zwar gestartet, aber noch nicht beendet sind, und deren ERT (estimated runtime, geschätzte Laufzeit) bereits überschritten ist.

select EH_Client, EH_AH_IDNR, EH_OType, EH_Name, EH_Starttime, EH_EndTime,
EH_ERTEnd, EH_Status
from EH
where
EH_ERTEnd < GETUTCDATE() --T-SQL
--EH_ERTEnd < systimestamp at time zone 'UTC' --Oracle
and EH_Starttime is not null
and EH_EndTime is null;

Für jede dieser Aktivitäten gibt das Skript den Mandanten, die RunID, den Typ, den Name, die Start und die Endzeit aus.

Statistikbereich: Fehlgeschlagene Jobs

Der dritte (und vorerst letzte) Bereich, den wir uns ansehen wollen, ist der Statistikbereich. Hier stehen alle Informationen über vergangene Jobs. Wie weit Sie dabei in die Vergangenheit blicken können, hängt von Ihrem Housekeeping ab.

Die wichtigste Tabelle im Statistikbereich ist der Archive Header AH. Die Spalten der Tabelle ähneln stark denen von EH aus dem Aktivitätenbereich.

Hier ein paar nützliche Spalten, alle anderen finden Sie in Automics Table Definition AH.

AH_IDNR: Die RunID.

AH_OH_IDNR: Die OH_IDNR des Objekts.

AH_Status: Der numerische Status-Code der Aktivität (z.B. 1800 für ENDED_NOT_OK).

AH_Client: Der Mandant.

AH_Name: Enhält den Objektnamen zum Zeitpunkt der Aktivierung.

AH_REFNR: Enthält bei Wiederanläufen die RundID der ursprünglichen Durchführung (ansonsten 0).

Auch hier habe ich mir ein Beispiel überlegt, das Sie nicht im Userinterface durchführen könnten. Das Skript gibt eine List mit den Namen aller Jobs aus, die in den letzten 24 Stunden mindestens einmal fehlgeschlagen sind. Zusätzlich liefert es jeweils die Anzahl an Abbrüchen.

select AH_CLIENT, AH_NAME, count(*) as FailedCount
from AH
where AH_Otype = 'JOBS'
and AH_Status between 1800 and 1899
and AH_Timestamp4 > DATEADD(HH, -24, GETUTCDATE()) --T-SQL
--and AH_Timestamp4 > systimestamp at time zone 'UTC' -1
group by AH_CLIENT, AH_NAME;

Jetzt können Sie selbst ausprobieren

Ich hoffe, mit meinen Beispielen konnte ich Sie ermutigen, sich selbständig mit der Automation Engine Datenbank auseinanderzusetzen. Es gibt noch viele Tabellen zum Durchsuchen.

Falls Ihre Neugier jetzt geweckt ist und Sie richtig tief in die Materie einsteigen wollen, dann kommen Sie doch zu einem meiner AE DB Workshops. Hier finden Sie alle Informationen dazu.