![]() |
Datenbank: Interbase • Version: 5.X • Zugriff über: ? gstat.exe ?
Interbase Statistiken abfragen?
Guten Tag Delphi-Praxis Team
Ich habe eine Problem bezüglich der Abfrage von Statistiken alter Interbase 5.X Datenbanken. Ich schreibe gerade ein Tool, mit dem ich verschiedene Interbase und Firebird Datenbanken überwachen kann. Bei den Firebird Datenbanken benutze ich den Servicemanager zum abfragen der Datenbankstatistiken, jedoch gibt es da ein kleines Problem mit den alten Interbase Datenbanken, die diesen manager noch nicht haben. Lokal kann ich diesem Problem mit aufruf der gstat.exe entgegenkommen, diese ignoriert jedoch (anders als die gfix.exe z.B) jegliche Art von Remotebefehlen, gebe ich also den Befehl: gstat -u sysdba -p masterkey "[IP vom Remote PC]:[Datenbankpfad]" -h so sucht gstat einfach nach dem Pfad auf dem lokalen PC und ignoriert die vorher angegebene IP. Jetzt wollte ich fragen ob es eine Möglichkeit gibt die Headerstatistiken auch bei Interbasedatenbanken von einem RemotePC auslesen zu lassen und mir die Ergebnisse irgendwie auf meinem Rechner anzeigen zu lassen. Ich hoffe auf schnelle Antwort MfG Sascha Lütkemeier PS: Es ist keine hilfe mir zu sagen wie alt diese Datenbanken doch sind oder so. Die Datenbanken können aus Wirtschaftlichen Gründen leider nicht Portiert werden. Danke! |
Re: Interbase Statistiken abfragen?
Hallo,
gstat geht leider nur lokal. Eine Möglichkeit wäre, auf dem betreffenden Server ein Programm laufen zu lassen, was das gstat ausführt und mit dem duper tcp-ip kommunizierst. Bsp zu tcp-ip gibt es bei Indy. Zum Umstellen ... ;) Hast du mal probiert, einfach ein transportables Backup->Restore zur FB1.5 zu machen ? Solange du bei Dialect 1 bleibst, sollte es doch keine Probleme geben. Ich hatte mal eine IB4 (die freie unter Linux) gehabt, die habe ich so nach IB6 und jetzt FB1.5 "portiert". Heiko |
Re: Interbase Statistiken abfragen?
Hmhm...
Vorab nochmal zum portieren... Eine Datenbank mal eben so zu portieren ist ja kein Thema, gebe ich dir recht, jedoch alle Clients neu zu schrieben udn alle Rechner umzukonfigurieren wäre ein Betriebswirtschaftlicher Selbstmord... Ich habe jetzt ein Tool names PsExec gefunden, was "fast" meine erwartungen erfüllt. Problem bei diesem Tool ist: Es meldet sich an dem RemotePC an -> gut Es kopiert die gds32.dll (falls nicht vorhanden) -> gut Es kopiert die gstat.exe -> gut Es führt die gstat.exe aus -> schlecht Es löscht die gstat.exe -> gaaaanz schlecht Es kopiert meine Bat Datei -> gut Es führt meine Bat Datei aus -> Wäre gut, wenn vorher nicht die gstat.exe geköscht worden wäre... Es löscht meine Bat Datei-> egal... Das blöde ist, dass alles macht dass Tool mit folgenden 2 Zeilen... -> psexec \\10.1.22.24 -u administrator -p XXXXXX -c -f gstat.exe -> psexec \\10.1.22.24 -u administrator -p XXXXXX -c -f meine.bat Ich brächte ein Tool, dass mir die Dateien (GDS32.dll,gstat.exe,eigene.bat) in ein Verzeichniss auf dem Remoterechner verschiebt und sie dann von dort aus ausführt, allerdings nur wenn ich dass auch sage ^^ Vlt kennt ihr ja so ein Tool oder euch fällt noch eine andere Lösung ein. MfG Sascha |
Re: Interbase Statistiken abfragen?
Hallo,
< alle Clients neu zu schrieben > hm, wieso, der Client merkt doch nichts davon. gds32.dll würde ich aber auf jeden Fall ersetzen. < und alle Rechner umzukonfigurieren wäre ein Betriebswirtschaftlicher Selbstmord... > hm ? Ausser der gds32.dll ändert sich nichts. Heiko |
Re: Interbase Statistiken abfragen?
Wie gesagt, solche Diskussionen wollte ich eigentlich vermeiden.
Fällt dir sonst wirklich nichts mehr ein, oder gibt es sonst keinen der etwas dazu zu sagen hat ? hmhm... naja Hatte mir mehr Hilfe erhofft :-/ |
Re: Interbase Statistiken abfragen?
Guten Tag erstmal,
Habe das oben genannte problem soweit im Griff, mit PS-exec funktioniert soweit alles wunderbar auch den Servicemanager für die Firebirddatenbanken habe ich im Griff, allerdings habe ich nun noch ein paar Fragen zu den Statistiken, wie kann es sein, dass egal ob bei Interbase oder Firebirddatenbanken es vorkommt, dass manche Werte in der Statistik einfach nicht auftauchen oder den Wert 0 haben?? z.B. Steht bei den Meisten unserer Datenbanken am Ende der Statistik der Sweepintervall, wiederum bei manchen Datenbanken nicht. Bei manchen ist es so, dass einfach eine 0 als Sweepintervall angegeben ist, und manchmal kommt es vor, dass wenn ich den Sweepintervall setze dieser Wert auch in der Statistik auftaucht, bei anderen Datenbanken ändert sich wiederum nichts? Wie kann dass sein, mein Programm geht immer gleich vor, die Datenbanken funktionieren alle und im IB-Expert habe ich die selben ergebnisse bei der Statistikabfrage ?!?! Es wäre super, wenn Ihr mir weiterhelfen könntet, vlt müssen wir bei der Erstellungen der Datenbank auf irgendwas achten oder so, also ich schwirre komplett im dunkeln was das Thema betrifft. Nachtrag: Es handelt sich hierbei um *.gdb Dateien. MfG Sascha |
Re: Interbase Statistiken abfragen?
Hallo,
ich glaube, der sweep-Intervall wird nur dann "wirklich" geändert, wenn alle Connections zu der DB gelöst werden. Heiko |
Re: Interbase Statistiken abfragen?
Hm, ich teste mein Programm meist mit Datenbanken, die gerade nicht in Benutzung sind, also auf denen keine Verbindungen zur Zeit sind. Jedoch ist die Richtigkeit und die Ausführlichkeit von Datenbank zu Datenbank unterschiedlich. Ebenso wie die Reaktion der Datenbank auf meine Befehle was das ändern der Einstellung angeht. (Forcewrites, Sweepintervall, etc.)
Ich kann mir dieses Verhalten auch in keinster Weise erklären. Vlt fällt euch noch etwas ein. Nachtrag: Ich habe hier mal Beispiele der Statistiken: Database header page information: Flags 0 Checksum 12345 Generation 76561 Page size 4096 ODS version 10.1 Oldest transaction 76549 Oldest active 76541 Oldest snapshot 76541 Next transaction 76555 Bumped transaction 1 Sequence number 0 Next attachment ID 0 Implementation ID 16 Shadow count 0 Page buffers 4096 Next header page 0 Database dialect 1 Creation date Feb 9, 2006 12:01:21 Attributes force write Variable header data: *END* <--- Sehr informativ ??? Database header page information: Flags 0 Checksum 12345 Generation 195037 Page size 4096 ODS version 10.1 Oldest transaction 195023 Oldest active 182563 Oldest snapshot 182563 Next transaction 195029 Bumped transaction 1 Sequence number 0 Next attachment ID 0 Implementation ID 16 Shadow count 0 Page buffers 4096 <--- Solche Werte kann ich auswerten! Next header page 0 Database dialect 1 Creation date Jan 20, 2006 17:06:41 Variable header data: Sweep interval: 10000 <--- Warum nicht immer so ? *END* Database header page information: Flags 0 Checksum 12345 Generation 3355 Page size 4096 ODS version 10.1 Oldest transaction 3306 Oldest active 3265 Oldest snapshot 3265 Next transaction 3312 Bumped transaction 1 Sequence number 0 Next attachment ID 0 Implementation ID 16 Shadow count 0 Page buffers 0 <----- ??? Next header page 0 Database dialect 1 Creation date Jan 11, 2008 10:27:52 Attributes force write Variable header data: Sweep interval: 20000 *END* MfG Sascha |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz