Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   FIrebird Problem beim Backup/Restore FB_Sort (https://www.delphipraxis.net/127631-firebird-problem-beim-backup-restore-fb_sort.html)

Pro_RJ 16. Jan 2009 10:49

Datenbank: Firebird • Version: 2.0 • Zugriff über: Delphi

FIrebird Problem beim Backup/Restore FB_Sort
 
Hallo,

Ich habe ein kleines Problem mit dem Firebird 2.0 Server beim Backup/Restore.
beim Restore einer Datenbank habe ich gleich am angfang des Restores die Fehlermeldung:

Zitat:

I/O error for file "c:\Temp\fb_sort_irrtvi"
Error while trying to write to file
Der Drucker hat kein Papier mehr.
Bekommen.


Die Programmiereing vom Restore sieht Folgendermaßen aus(Kleiner Auszug) :
Ich nutze hierfür die StandardKomponenten aus em BDS 2006 (TIBBackupeService/TIBRestoreService)
Delphi-Quellcode:
   
    Restore_Ser : TIBRestoreService;
    with Restore_Ser do
    Begin
      Protocol      := ProtocolGes1;
      ServerName    := ServName;
      LoginPrompt   := False;
      Options       := [Replace,CreateNewDB,UseAllSpace];
      Active        := True;
      Verbose       := True;


      DatabaseName.Clear;
      DatabaseName.Add(DBFile);

      BackupFile1 := Copy(DBFile,1,Length(DBFile) -4);
      BackupFile1 := BackupFile1 + '_Backup.gbk';
      DateiN     := WinUnixPfad(DBFile);
      DateiN     := Copy(DateiN,1,Length(DateiN) -4);
      DateiN     := '_' + DateToStr(NOW) + '_' +TimeToStr(Now);

      BackupFile.Clear;
      BackupFile.Add(BackupFile1);
      if Memo1 <> nil then Memo1.lines.Clear;
      Start := NOW;
      if Memo1 <> nil then Memo1.Lines.Add(FormatDateTime('dd.mm.yyyy - hh:nn:sss',Start) +  ' : Restore Start');
      try
        ServiceStart; // <---------------   Hier kam die FehlerMeldung (I/O error for file "c:\Temp\fb_sort_irrtvi"....)
        ok := True;
      except
        on E:exception do
        Begin
          Showmessage(e.Message);
          FehlerProtokollSchreiben(14,[e.Message],[],[]); // Fehler beim Restore
          ok := False;
        end;
      end;
      if ok = true then
      begin
        Try
          While not Eof do
          Begin
            if Fo <> nil then Fo.BringtoFront;
            INC(i);
            if Memo1 <> nil then Memo1.Lines.Add(FormatDateTime('dd.mm.yyyy - hh:nn:sss',NOW) + ' ' + AuffuellenAufN(X(i),4)+': '+GetNextLine);
            Application.ProcessMessages;
          end;
          ok := True;
        except
          on E:exception do
          Begin
            Showmessage(e.Message);
            ShowMessage(600400347);//'ACHTUNG Fehler beim Restore - ' + #13#10 + 'Letzte Datensicherung zurückspielen'
          end;
        end;
      end;
    end;


Die Frage ist :
- was sind die "FB_Sort" Dateien?
- was machen die?
- was hat die FehlerMeldung "Der Drucker hat kein Papier mehr." für eine Bedeutung da zu diesem Zeitpunk überhauptnichts gedruckt werden soll/wurde?

Es ist aber sichergestellt, das zu der Datenbank keine Verbindung mehr offen war.
Was ich auch nicht wirklich verstehe, ist, dass dieses "FB_Sort" Dateien nicht bei jedem Backup-Restore angelegt werden.

ich hoffe ich konnte mein Problem einigermaßen darstellen.
Danke schonmal im vorraus
mfg Pro_RJ/Jens


Edit : Im aktuellen Test ist diese FB_Sort erst aufgetaucht, nachdem das Backup schon 4 GB groß geworden ist(von etwar geplanten 30 GB -31 GB).
Edit2 : Diese Datei wird ca alle 4 gb erstellt und "verschwindet" dann wieder

lowmax_5 16. Jan 2009 14:04

Re: FIrebird Problem beim Backup/Restore FB_Sort
 
Hallo,

die erste Meldung kommt mit bekannt vor. Sie taucht meistens immer dann auf, wenn auf der Festplatte (dort wo der Server läuft) zu wenig Speicherplatz vorhanden ist. Da meines wissens bei einem Backup eine komplette Kopie der DB erzeugt wird, wird bei einem Backup dann viel Speicher angefordert. Gibt es diesen nicht, gibts eben diese Meldung. Die weiteren Meldungen sind dann wohl nicht zuordbare Folgefehler.

lowmax

Pro_RJ 18. Jan 2009 12:33

Re: FIrebird Problem beim Backup/Restore FB_Sort
 
Hallo,
Die Datenbank ist Orginal ca 32 gb groß das Backup wird ca 28-29 gb und auf der Festplatte waren noch ca 50-55 gb frei.

oder benötigt man für ein Backup (in diesem Fall) zusätzlich

+ 32 gb OrginalDb
+ 28 gb Backup

oder braucht man nur die 28gb für das backup

lowmax_5 19. Jan 2009 09:07

Re: FIrebird Problem beim Backup/Restore FB_Sort
 
Hallo,

normalerweise eigentlich nicht.
Doch da die DB während des Backups unter Last steht/im Zugriff ist, kann durch Benutzeraktionen natürlich weiterer temporärer Speicher angefordert werden. Dann wird es u.U. knapp.

lowmax

hoika 19. Jan 2009 16:03

Re: FIrebird Problem beim Backup/Restore FB_Sort
 
Hallo,

ich glaube mal gelesen zu haben,
dass das Restore temporär den doppelten oder sogar 3fachen Platz benötigt,
den die restore-te Datei dann hat.

Vielleicht hilft die Option "commit after each table"


Heiko

Pro_RJ 20. Jan 2009 09:26

Re: FIrebird Problem beim Backup/Restore FB_Sort
 
Huhu,
Also wärend des Backups war garantiert keiner auf der Datenbank und wärend der Restore geht es ja garnicht.

Aber die Idee mit "commit after each table" ist eine Idee. das muss ich mal testen

mfg Jens

Scooty78 25. Jan 2009 20:57

Re: FIrebird Problem beim Backup/Restore FB_Sort
 
Zitat:

Zitat von Pro_RJ
Zitat:

I/O error for file "c:\Temp\fb_sort_irrtvi"
Error while trying to write to file
Der Drucker hat kein Papier mehr.

Ich kenne die Meldung auch nur im Zusammenhang mit dem fehlenden Speicherplatz des Servers, finde allerdings die letzte Meldung in Deinem Zitat super interessant.
"Der Drucker hat kein Papier mehr." Aber ich denke die gehört wohl nicht dazu :mrgreen:


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