Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Gfix - DB check (https://www.delphipraxis.net/191649-gfix-db-check.html)

malle187 6. Feb 2017 17:14

Datenbank: Firebird • Version: 1.5 • Zugriff über: GFIX/GBAK

Gfix - DB check
 
Ich bin gerade erst frisch dabei und habe auch gleich direkt mal eine Frage, warum ich mich hier auch angemeldet habe.

Es geht um eine bestehende Firebird (1.5) Datenbank, die soweit auch ohne weitere Auffälligkeiten läuft. Von dieser wurde jetzt per Gbak – b localhost:Source\xxx.gdb Target\xxx.gbk -user xxx -password xxx ein Backup erstellt.
Dies ist auch soweit auch problemlos durchgeführt worden.

Um das erstellte Backup zu verifizieren wurde ein Restore gemacht (.gbk -> .gdb) und die restorte DB dann per gfix -v -f geprüft.
Allerdings läuft gfix nur ca. 3-4 Minuten und geht dann ohne weitere Ausgabe direkt zur Commandozeile.

Da ich bisher mit gfix keine Erfahrung habe bin ich mir nicht sicher, ob gfix nur im Fehlerfall eine Rückmeldung geben sollte, oder ob in jedem Fall eine Rückmeldung erfolgt?
Die gfix version ist 1.5.6, FB 1.5

Vielen Dank für eine Antwort!
Sebastian

nahpets 6. Feb 2017 17:20

AW: Gfix - DB check
 
Da steht http://firebirdsql.org/manual/gfix-commands.html: Meldungen nur im Fehlerfalle.

malle187 6. Feb 2017 17:56

AW: Gfix - DB check
 
Super, das hilft schon mal.

gfix, in the main, only reports when problems are encountered.

Bleibt nur die Frage, wie man die Response codes checken kann, auch wenn es bei fb1.5 wohl noch nicht wirklich sinnvoll ist?

hoika 7. Feb 2017 06:27

AW: Gfix - DB check
 
Hallo,
warum prüfst du nicht die Ausgabe von gfix?

malle187 7. Feb 2017 06:42

AW: Gfix - DB check
 
Hallo Heiko,
das ist ja genau das Problem dass gfix im cmd-Fenster eben keine Ausgabe zurück gibt.

mjustin 7. Feb 2017 07:29

AW: Gfix - DB check
 
Zitat:

Zitat von malle187 (Beitrag 1360960)
Super, das hilft schon mal.

gfix, in the main, only reports when problems are encountered.

Bleibt nur die Frage, wie man die Response codes checken kann, auch wenn es bei fb1.5 wohl noch nicht wirklich sinnvoll ist?

Bei FB 2.0 wird anscheinend auch immer 0 zurückgegeben (at least up until Firebird 2.0). Wie ist es in der aktuellen GFix Version von FB 3, kann man dort den Code sinnvoll verwenden? (> 0 bei Fehler in Skripten auswerden)?

hoika 7. Feb 2017 09:31

AW: Gfix - DB check
 
Hallo,

dann schau Dir mal da an.

Info
http://edn.embarcadero.com/article/25605

Lösung für stdout
https://www.experts-exchange.com/que...de-Delphi.html

stderr musst du selber mit zusammenbauen.

nahpets 7. Feb 2017 10:43

AW: Gfix - DB check
 
Wenn man die Kommandozeile auswerten will kann man einerseits den Errorlevel in 'ner Batch abfragen und andererseits die Ausgabe und die Fehlerausgabe in getrennte Dateien umleiten.
Code:
@ECHO OFF
gfix -alle -erforderliche -Parameter 1> GFix.log 2>GFix.Err
if %ERRORLEVEL%==1 GoTo Fehler
Echo fehlerfreie Verarbeitung
GoTo Ende
:Fehler
Echo Fehlercode=%ERRORLEVEL%
:Ende
In der Datei GFix.log steht dann alles das, was auf die Bildschirmausgaben (StdOut) gelangt und in GFix.err stehen die Fehlermeldungen. (GFix scheint aber nichts auf StdErr zu schreiben.)

Habe leider keine Doku finden können, aus der man entnehmen kann, dass GFix 'nen Errorlevel setzt und in welcher Situation welchen.

Bei fehlerfreier Verarbeitung ist er jedenfalls 0 und bei Fehler mindestens 1.

hoika 7. Feb 2017 10:55

AW: Gfix - DB check
 
Hallo,

Zitat:

GFix scheint aber nichts auf StdErr zu schreiben.
Einfach mal gfix ohne Parameter aufrufen.
Dann ist das StdErr gefüllt.

Das mit dem 1 und 2 kannte ich noch nicht.
Man lernt nie aus ;)

p80286 7. Feb 2017 15:48

AW: Gfix - DB check
 
Ich hatte es schon wieder vergessen...
https://de.wikipedia.org/wiki/Standard-Datenstr%C3%B6me
Vor allem die Grafik beachten. Den Älteren unter uns wird es wohl bekannt vorkommen.

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 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