AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Interbase Statistiken abfragen?
Thema durchsuchen
Ansicht
Themen-Optionen

Interbase Statistiken abfragen?

Ein Thema von Sascha-L · begonnen am 17. Apr 2008 · letzter Beitrag vom 23. Mai 2008
Antwort Antwort
Sascha-L

Registriert seit: 14. Nov 2007
Ort: Finnentrop
50 Beiträge
 
Delphi 7 Professional
 
#1

Interbase Statistiken abfragen?

  Alt 17. Apr 2008, 12:35
Datenbank: Interbase • Version: 5.X • Zugriff über: ? gstat.exe ?
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!
Sascha Lütkemeier
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Interbase Statistiken abfragen?

  Alt 17. Apr 2008, 13:05
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
Heiko
  Mit Zitat antworten Zitat
Sascha-L

Registriert seit: 14. Nov 2007
Ort: Finnentrop
50 Beiträge
 
Delphi 7 Professional
 
#3

Re: Interbase Statistiken abfragen?

  Alt 17. Apr 2008, 13:53
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
Sascha Lütkemeier
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Interbase Statistiken abfragen?

  Alt 17. Apr 2008, 15:26
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
Heiko
  Mit Zitat antworten Zitat
Sascha-L

Registriert seit: 14. Nov 2007
Ort: Finnentrop
50 Beiträge
 
Delphi 7 Professional
 
#5

Re: Interbase Statistiken abfragen?

  Alt 17. Apr 2008, 15:34
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 :-/
Sascha Lütkemeier
  Mit Zitat antworten Zitat
Sascha-L

Registriert seit: 14. Nov 2007
Ort: Finnentrop
50 Beiträge
 
Delphi 7 Professional
 
#6

Re: Interbase Statistiken abfragen?

  Alt 21. Mai 2008, 14:38
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
Sascha Lütkemeier
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Interbase Statistiken abfragen?

  Alt 21. Mai 2008, 17:58
Hallo,

ich glaube,
der sweep-Intervall wird nur dann "wirklich" geändert,
wenn alle Connections zu der DB gelöst werden.


Heiko
Heiko
  Mit Zitat antworten Zitat
Sascha-L

Registriert seit: 14. Nov 2007
Ort: Finnentrop
50 Beiträge
 
Delphi 7 Professional
 
#8

Re: Interbase Statistiken abfragen?

  Alt 23. Mai 2008, 07:10
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
Sascha Lütkemeier
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz