IBTransaction Monitor Benutzerhandbuch
Dmitry Kuzmenko, 08-Jun-2008
IBSurgeon Transaction Monitor (IBTM) ist ein Softwarepaket zur Überwachung, Anzeige und Analyse dynamischer Transaktionen in InterBase- und Firebird-Datenbanken.
Inhalt
Benutzerhandbuch für IBSurgeon Transaction Monitor. {C}{C}{C}{C}1{C}{C}{C}{C}{C}{C}{C}{C}{C}
Was ist enthalten?. {C}{C}{C}{C}2{C}{C}{C}{C}{C}{C}{C}{C}{C}
Monitor{C}{C}{C}{C}2{C}{C}{C}{C}{C}{C}{C}{C}{C}
Was wird protokolliert?. {C}{C}{C}{C}2{C}{C}{C}{C}{C}{C}{C}{C}{C}
Konfigurationsassistent{C}{C}{C}{C}3{C}{C}{C}{C}{C}{C}{C}{C}{C}
Verwendung des Konfigurationsassistenten{C}{C}{C}{C}4{C}{C}{C}{C}{C}{C}{C}{C}{C}
Verwaltung des Monitor-Dienstes. {C}{C}{C}{C}4{C}{C}{C}{C}{C}{C}{C}{C}{C}
Konfigurieren von Servern. {C}{C}{C}{C}4{C}{C}{C}{C}{C}{C}{C}{C}{C}
Konfigurieren von Datenbanken. {C}{C}{C}{C}5{C}{C}{C}{C}{C}{C}{C}{C}{C}
Visualizer{C}{C}{C}{C}8{C}{C}{C}{C}{C}{C}{C}{C}{C}
Diagrammansichtstypen. {C}{C}{C}{C}13{C}{C}{C}{C}{C}{C}{C}{C}{C}
Technischer Support{C}{C}{C}{C}16{C}{C}{C}{C}{C}{C}{C}{C}{C}
Das IBTM-Paket enthält drei Hauptmodule:
- Monitor - Ein kleines Win32-Dienstprogramm zur Überwachung und Protokollierung von Transaktionszuständen aus einer oder mehreren Datenbanken.
- Konfigurationsassistent Zum Konfigurieren der Einstellungen für Monitor und Viewer.
- Visualizer Entwickelt zum Anzeigen und Analysieren der vom Monitor protokollierten Informationen.
Der Monitor ist ein kleines Win32-Dienstprogramm (ibtm.exe), das unter Windows NT, 2000, XP sowie Windows Server 2003 und 2008 (sowohl 32- als auch 64-Bit) funktioniert. Beim Start liest der Monitor die Einstellungen (die vom Konfigurationsassistenten festgelegt wurden) und überwacht die angegebene Datenbank. Während der Überwachung verbindet er sich jede Minute (empfohlenes Standardintervall) mit der Datenbank und liest den Zustand der Transaktionen.
Wenn InterBase oder Firebird unter Windows läuft, kann der Monitor auf dem Server installiert werden, auf dem sich die Datenbank befindet. Für Linux-basierte Server kann er auf jedem Windows-Computer mit Netzwerkzugriff auf den InterBase- oder Firebird-Server installiert werden. Sie können den Monitor mit den folgenden Methoden installieren:
- Mit dem Konfigurationsassistenten
- Über ein Eingabeaufforderungsfenster
Wichtig! Bevor Sie mit der Installation des Monitors beginnen, müssen Sie sicherstellen, dass Sie mit Administratorrechten und -berechtigungen bei Windows angemeldet sind. Der Monitor wird als Dienst mit automatischem Start unter dem Benutzerkonto “Lokales System” installiert.
Da der Monitor nur periodisch eine Verbindung zur Datenbank herstellt und die gesammelten Informationen in eine einfache Textprotokolldatei schreibt, müssen keine weiteren Regeln angewendet werden. Wenn Sie jedoch die Monitor-Konfiguration und die Datenbank-Anmeldeinformationen schützen möchten, müssen Sie die Diensteinstellungen des Monitors und den Zugriff auf sein Verzeichnis (und Protokoll) über die Windows-Diensteverwaltung entsprechend ändern.
Die Konfigurationsparameter des Monitors werden im Konfigurationsassistenten besprochen.
Der Monitor überprüft periodisch die Datenbank-Header-Seite und speichert dann die Datenbank-Transaktionsinformationen wie folgt im Protokoll:
- Protokollzeit
- Nummer der ältesten Transaktion
- Nummer der ältesten Snapshot-Transaktion
- Nummer der ältesten aktiven Transaktion
- Nummer der nächsten Transaktion
- Anzahl aktiver Transaktionen (abhängig von der Serverversion)
Diese Informationen werden in der Protokolldatei gespeichert und können dann mit dem Visualizer angezeigt und analysiert werden. Mithilfe der visuellen Transaktionszustandsinformationen können Sie verstehen, wie lange Ihre Anwendungen Transaktionen offen halten, wie viele gleichzeitige Transaktionen ausgeführt werden, wie lange Snapshot-Transaktionen laufen, wann die intensivste Zeit ist, in der Anwendungen Transaktionen starten usw.
Hinweis: Der Monitor protokolliert die Transaktionszustandsinformationen in der lokalen Protokolldatei. Er sendet diese oder andere Informationen nicht über das Netzwerk.
Der Konfigurationsassistent (ibtmconfig.exe) wird verwendet, um die Konfigurationsparameter für Monitor und Viewer einzurichten. Er speichert die Konfigurationsparameter in der Datei ibtm.ini.
! Unter Windows Vista oder Windows 7 müssen Sie den Konfigurationsassistenten mit Administratorrechten ausführen (rechter Mausklick), da er sonst den IBTM-Dienst nicht verwalten kann (Fehler 5, Zugriff verweigert).
Tipp! IBTM verwendet nicht die Registrierung zum Speichern von Konfigurationsparametern. Sie können also eine Konfiguration auf einem Computer vorbereiten und dann ibtm.ini auf einen anderen Computer verschieben, auf dem der Monitor installiert ist (Der Monitor-Dienst muss neu gestartet werden, um eine neue Konfiguration zu lesen).
Der Monitor und der Konfigurationsassistent werden vom IBTM-Installationsprogramm im selben Verzeichnis platziert, sodass Monitor und Konfigurationsassistent dieselbe Konfigurationsdatei (ibtm.ini) verwenden.

Der Konfigurationsassistent hilft Ihnen dabei,
- Den Monitor-Dienst zu verwalten - installieren, deinstallieren, starten, stoppen, anhalten und neu starten.
- Die InterBase- oder Firebird-Server anzugeben, die Datenbanken haben, die überwacht werden müssen
- Datenbanken und Überwachungs-/Zeitplanungsoptionen für eine bestimmte Datenbank anzugeben

Wenn der Konfigurationsassistent startet, ermittelt er den Zustand des Monitor-Dienstes auf dem System.
Monitor installieren - Wenn der Monitor-Dienst nicht installiert ist, sehen Sie eine Meldung “nicht installiert” im IBTM-Status-Label in der linken oberen Ecke. Zum Installieren des Monitors drücken Sie die Schaltfläche “Installieren” auf der rechten Seite des Fensters. Beachten Sie, dass der Monitor-Dienst den Wert des Kontrollkästchens “Starttyp” (automatisch oder manuell) verwendet. Wenn die Installation des Monitor-Dienstes erfolgreich war, sehen Sie, wie sich der IBTM-Status in “gestoppt” ändert und die Schaltfläche “Dienst ausführen” aktiviert wird.
Sie müssen den Monitor-Dienst neu starten, wenn Sie Datenbank-Konfigurationsparameter ändern.
IBTM verwendet das TCP/IP-Verbindungsprotokoll, um auf die Datenbank(en) zur Überwachung zuzugreifen. Wenn Sie den Monitor also auf demselben Computer installiert haben, auf dem sich der Server befindet, müssen Sie den Server als localhost oder mit dem Hostnamen des Servers hinzufügen. Danach können Sie die Datenbanken hinzufügen, die auf diesem Server überwacht werden sollen.
Mit dieser Version von IBTM können Sie jeweils nur eine einzelne Datenbank überwachen. Für die gleichzeitige Überwachung einer oder mehrerer Datenbanken sind zusätzliche Lizenzen erforderlich. Bitte kontaktieren Sie uns für Details ( www.ibphoenix.com).
Sie können jedoch mehrere Server und Datenbanken einrichten und zwischen ihnen wechseln, um die zu überwachende Datenbank auszuwählen (die aktive Datenbank wird fett hervorgehoben). Mit zusätzlichen Lizenzen können Sie mehrere Datenbanken gleichzeitig überwachen.
Verwenden Sie die Schaltflächen “Server hinzufügen” und “Datenbank hinzufügen” auf der linken Seite der Datenbankliste.
Jeder Datenbankdatensatz kann mit den folgenden Parametern konfiguriert werden:
Statistikmethode abrufen. Dies hängt von der Serverversion ab und unterstützt unterschiedliche Fähigkeiten. Jede Methode wird mit ihren Vor- und Nachteilen beschrieben:
| Services API | Firebird API | TMP$-Tabellen | |
| InterBase 4.x/5.x | Nein | Nein | Nein |
| InterBase 6.0 Classic | Nein | Nein | Nein |
| Firebird Classic - 1.0, 1.5.0, 1.5.1, 1.5.2 |
Nein | Ja | Nein |
| InterBase 6.x SuperServer | Ja | Nein | Nein |
| InterBase 7.x/2007 | Ja | Nein | Ja |
| Firebird Classic und SuperServer: 1.5.3, 1.5.4 /2.0 | Ja | Ja | Nein |
Unterschiede zwischen Services API, Firebird API und TMP$-Tabellen:
| Methode | Vorteile | Nachteile |
| Services API Öffentliche API, die in InterBase 6.0 SuperServer eingeführt wurde |
- Universelle Methode, funktioniert mit allen Versionen von InterBase und Firebird - Beeinflusst die nächste Transaktion nicht |
- Hat nicht die Fähigkeit, die tatsächliche Anzahl aktiver Transaktionen zu ermitteln - Kann veraltete Informationen anzeigen, wenn der Server die Datenbank-Header-Seite selten auf die Festplatte speichert (InterBase V7.1/V7.5) |
| Firebird API Firebird ab V1.0 hat erweiterte Parameter für den isc_database_info-Aufruf, die die Rückgabe von Transaktionszustandsinformationen ermöglichen. |
Ermöglicht die Ermittlung der Anzahl aktiver Transaktionen (nicht mehr als 4676 aktive Transaktionen) | - Wird von keiner InterBase-Version unterstützt - Erhöht intern die nächste Transaktion. Der Monitor erhöht die nächste Transaktion bei jeder Verbindung zur Datenbank um +1. Wenn zu diesem Zeitpunkt keine Transaktionsaktivität in der Datenbank stattfindet, bleiben die Nummern der ältesten aktiven, ältesten Snapshot- und ältesten Transaktion unverändert. Wenn keine Aktivität in der Datenbank stattfindet, erhöht der Monitor selbst die nächste Transaktion um +1440 in 24 Stunden, wenn er so konfiguriert ist, dass er die Datenbank jede (1) Minute überprüft. (Die Firebird API selbst hat diesen Effekt nicht. Das beschriebene Verhalten ist spezifisch für die isc_database_info-Methode) |
| TMP$-Tabellen Wurde in InterBase 7.0 eingeführt, um die Überwachung des Serverzustands zu ermöglichen |
- Ermöglicht den Abruf des tatsächlichen Transaktionszustands aus InterBase V7.x/V2007, einschließlich der Anzahl aktiver Transaktionen. - Um die Transaktionszustandsinformationen zu erhalten, startet der Monitor eine Transaktion mit den Parametern read_only read_committed rec_version. Eine solche Transaktion wird für die Transaktionsbuchhaltung nicht als aktiv behandelt und beeinträchtigt weder die Server- noch die Datenbankleistung. |
- Wird nur von InterBase V7.0/V7.1/V7.5/V2007 unterstützt - Wie bei der Firebird API erhöht sie die Nummer der nächsten Transaktion, da das Lesen von Daten aus TMP$-Tabellen innerhalb einer Transaktion erfolgen muss. - Die Zugriffszeit ist etwas länger als bei Verwendung der Services API (< 0,5 Sekunden). |
Wenn Sie eine Statistikmethode gewählt haben, die mit Ihrem Server nicht kompatibel ist, wird nichts in das Transaktionsprotokoll des Monitors geschrieben. Überprüfen Sie die Registerkarte “Fehlerprotokoll” im Konfigurationsassistenten, um Fehler zu sehen, die während der Überwachung der Datenbank auftreten können.
Prüfintervall. Dies bestimmt, wie oft der Monitor die Transaktionsinformationen aus einer Datenbank abruft. 1 Minute ist das Mindestintervall. Sie können 1, 3, 5, 10, 20, 30 Minuten oder sogar ein 1-Stunden-Intervall einstellen, aber das informativste Intervall ist 1 oder 3 Minuten.
Bei Verwendung des 1-Minuten-Intervalls überprüft der Monitor den Datenbank-Transaktionszustand 1440-mal alle 24 Stunden. Die Größe der Protokolldatei beträgt etwa 150 Kilobyte.
Startzeit und Endzeit. Wenn dies nicht festgelegt ist, erfasst der Monitor Statistiken von der angegebenen Datenbank während der gesamten Arbeitszeit. Wenn das Zeitlimit festgelegt ist, arbeitet der Monitor nur für den angegebenen Zeitraum.
Benutzername und Passwort. Der Benutzername und das Passwort für das Konto, das zur Überwachung des Datenbank-Transaktionszustands verwendet wird. Sie können den SYSDBA-Login oder einen anderen Benutzer-Login verwenden. Wenn ein Nicht-SYSDBA-Login verwendet wird, ist es für Services API- und Firebird API-Methoden nicht erforderlich, zusätzliche Berechtigungen für dieses Benutzerkonto zu erteilen. Sie können einen Benutzer wie ‘TM’ erstellen, und der Monitor funktioniert erfolgreich.
Für temporäre Systemtabellen (IB V7.1, V7.5, V2007) muss der Benutzer-Login Lesezugriffsrechte auf die Tabellen TMP$TRANSACTIONS und TMP$DATABASES haben. Wenn Sie die eingebettete Benutzerauthentifizierung in Ihrer InterBase V7.5/V2007-Datenbank verwenden, müssen Sie einen Login erstellen und diese Zugriffsrechte explizit für diese Datenbank erteilen.
Schaltfläche “Serververbindung testen”.

Ermöglicht die Überprüfung des angegebenen Servers auf die beste Methode zur Transaktionsüberwachung. Sie können diese Schaltfläche auch verwenden, um zu prüfen, ob die ausgewählte Methode für den angegebenen Server funktioniert.
Der Visualizer kann die vom Monitor gesammelten Transaktionsinformationen anzeigen. Das Basisverzeichnis für die .tmd-Dateien wird aus den Einstellungen des Konfigurationsassistenten übernommen.

Auf der linken Seite sehen Sie die Liste der Statistikdateien. Standardmäßig sucht der Viewer im Log-Ordner, der sich im Basisinstallationsordner befindet. Sie können diesen Ordner über den Konfigurationsassistenten ändern oder den gewünschten Ordner über das Viewer-Menü öffnen.
Klicken Sie auf die Statistikdatei - sie wird sofort im Diagramm angezeigt. Sie können mehrere Statistiken gleichzeitig überprüfen, indem Sie die Strg- oder Umschalttaste gedrückt halten und auf die Statistikdateien klicken:

In der unteren linken Ecke können Sie verschiedene Diagrammlinien (Next, Oldest…) ein- und ausschalten. Wenn Sie beispielsweise die Transaktionsdynamik anzeigen möchten, aktivieren Sie Next dynamic - es zeigt, wie viele neue Transaktionen zwischen den IBTM-Messungen aus der Datenbank gestartet wurden:

Auf der rechten, linken, oberen und unteren Seite des Diagramms befinden sich spezielle Linien, die Sie (mit der Maus) ziehen können, um zu überprüfen, wann ein Ereignis aufgetreten ist und welchen Wert es hat. Beachten Sie die vertikale blaue Linie in der Mitte des Diagramms und die braune horizontale Linie. Wenn Sie diese Linien bewegen, ändern sich die entsprechenden Beschriftungen - vertikale Linien ermöglichen es Ihnen, auf einen bestimmten Zeitpunkt zu zeigen, horizontale Linien auf bestimmte Transaktionsnummern:

Sie können das Intervall auch horizontal, vertikal oder in beide Richtungen vergrößern oder verkleinern. Um das Diagramm in seinen Ausgangszustand zurückzuversetzen, drücken Sie die Schaltfläche Reset Zoom (oder zoomen Sie mit der Maus in die entgegengesetzte Richtung).

Wichtig! Wenn IBTM-Statistikdaten mit Firebird- oder InterBase 7.x-Zugriffsmethoden erfasst wurden, können Sie die tatsächliche Anzahl aktiver Transaktionen anzeigen.

Dieses Diagramm zeigt, dass es am 10. November 2005 zwischen 65 und 105 aktive Transaktionen gab, die von Anwendungen geöffnet wurden. Außerdem ist zu erkennen, dass es während der Mittagspause (von 13:00 bis 14:00 Uhr) immer noch etwa 80 aktive Transaktionen gab. Das bedeutet:
- Benutzer schließen Anwendungen nicht, wenn sie in die Mittagspause gehen
- Anwendungen haben offene und aktive Transaktionen
Anhand dieser Informationen können Sie Entscheidungen darüber treffen, was möglicherweise an der Arbeitsweise der Anwendungen falsch ist. Dies hängt davon ab, wie viele Transaktionen direkt von Anwendungen verwaltet werden.
Es gibt drei Schaltflächen, die die Diagrammansicht ändern:
Relative (oldest). Berechnet durch Subtrahieren der Oldest-Transaktion oder des Oldest-Snapshots (je nachdem, welcher niedriger ist) von den Next- und Oldest-Active-Transaktionsnummern. Ermöglicht es Ihnen, die Lücke der halbaktiven Transaktionen zu sehen, indem Sie die Legende auf der linken Seite des Diagramms betrachten. Hier ist ein Beispiel des vorherigen Diagramms mit aktivierter Relative-Schaltfläche:

AutoMin. Standardmäßig wird beim Öffnen einer IBTM-Statistikdatei die niedrigste Transaktionsnummer automatisch als “0” behandelt. Normalerweise wäre dies die Oldest (interessante) Transaktion oder der Oldest Snapshot.

Abs. Ermöglicht es Ihnen, den Transaktionsnummernverlauf und den Unterschied bei großen Transaktionsnummern zu sehen. In den vorherigen Bildern lag die niedrigste Transaktionsnummer bei etwa 7 Millionen, was es schwierig machte, den Unterschied beispielsweise zwischen Oldest und Next-Transaktionen zu verstehen. Hier sehen wir, dass der Datenunterschied für diese Statistiken nicht mehr als 18000 Transaktionen betrug.

Wenn Sie eine professionelle Erklärung des Transaktionsverhaltens für Ihre Datenbank wünschen, sollten Sie unseren technischen Support bestellen. Lesen Sie mehr über unsere Dienstleistungen hier.
Bei Fragen können Sie uns auch gerne per E-Mail unter [email protected] kontaktieren.