AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Konzept zur Datenbanktrennung.
Thema durchsuchen
Ansicht
Themen-Optionen

Konzept zur Datenbanktrennung.

Ein Thema von Pro_RJ · begonnen am 5. Sep 2008 · letzter Beitrag vom 6. Sep 2008
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    
Pro_RJ

Registriert seit: 16. Apr 2008
146 Beiträge
 
#11

Re: Konzept zur Datenbanktrennung.

  Alt 5. Sep 2008, 12:55
Das Problem ist, was will ich in der Software optimieren?
So wird ein Backup ausgeführt:
Delphi-Quellcode:

Function Backup_Ausfuerhen(BackSer : TIBBackupservice;DBFile,BackupFile1 : String; Memo1 : TMemo;ProtocolGes1 : TProtocol;ServName : String;Pan : TPanel;MSG,Garb : Boolean) : Boolean;
Var i : Integer;
    ok : Boolean;
    //Anz : String;
    //Fo : TForm;
Begin
  //Fo := NIL;
  if Memo1 <> NIL then
  Begin
    //if Memo1.Owner IS TFOrm then Fo := TForm(Memo1.Owner);
    Memo1.Font.Size := 8;
  end;


  BackupFile1 := Copy(DBFile,1,Length(DBFile)-4)+'_Backup.gbk';
  i := 0;
  with BackSer do
  begin
    if Pan <> NIL then
    Begin
      Pan.Visible := true;
      Pan.caption := 'Backup wird ausgeführt';
      Pan.Refresh;
    end;
    Params.Clear;
    Params.Add('user_name='+G_DB_user);
    Params.Add('password='+G_DB_kw);
    Protocol := ProtocolGes1;
    ServerName := ServName;
    Verbose := True;


    if Garb = true
    then Options := []
    else Options := [NoGarbageCollection];

    //Options := [NoGarbageCollection];

    DatabaseName := DBFile; // ersetzen
    LoginPrompt := False;
    Active := True;
    BackupFile.Clear;
    BackupFile.Add(BackupFile1);

    if Memo1 <> nil then Memo1.Lines.Clear;
    try
      ServiceStart;
      ok := True;
    except
      on E:exception do
      Begin
        if MSG then Showmessage(e.Message);
        FehlerProtokollSchreiben(13,[e.Message],[],[]); // Fehler beim Backup
        ok := False;
      end;
    end;
    if ok = true then
    begin
      try
        While not Eof do
        Begin
          INC(i);
          if Memo1 <> nil then Memo1.Lines.Add(AuffuellenAufN(X(i),4)+': '+GetNextLine);
          Application.ProcessMessages;
        end;
        ok := True;
      except
        on E:exception do
        Begin
          if MSG then Showmessage(e.Message);
          FehlerProtokollSchreiben(13,[e.Message],[],[]); // Fehler beim Backup
          ok := False;
        end;
      end;
    end;
    try
      PfadPruefUAnleg(G_Path + Log_Datei_BackUp_Restore(1));
      if Memo1 <> nil then Memo1.Lines.SaveToFile(G_Path + Log_Datei_BackUp_Restore(1));
    except
    end;
    if Memo1 <> nil then Memo1.Lines.clear;
    Active := False;

    if Pan <> nil then
    Begin
      Pan.caption := 'Backup wurde ausgeführt';
      Pan.Refresh;
    end;
  end;
  result := ok;
end;

Sicherlich könnte man durch bessere Hardware nochmal Zeit rausholen aber an der Grundsätzlichen Programierung kann ich nicht viel ändern. oder Seht ihr in den Text noch was was ich anderes machen könnete?

Das Problem ist halt, das das Handling besser werden soll --> und das geht nur mit ner Kleineren DB.
Sicherlich ist aber der Ansatz, das ich die Daten die ich nicht immer brauche archiviere ganz ok.
Ich hab auf meinem Schreibtisch ja auch nicht die Akten der letzten 10 Jahre.
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Konzept zur Datenbanktrennung.

  Alt 5. Sep 2008, 12:56
Sichert der Kunde seine Datenbank über eine Leitung von einem anderen Standort?. Bei uns wird eine Sicherung zweier Datenserver über eine 2 MBit Leitung realisiert, dabei dauert die Sicherung einer Oracle-Datenbank mit etwa 2,5 GByte Tablespace tatsächlich etwa 5 Stunden.

Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
Pro_RJ

Registriert seit: 16. Apr 2008
146 Beiträge
 
#13

Re: Konzept zur Datenbanktrennung.

  Alt 5. Sep 2008, 13:01
der sichert einmal über eine Normale WindoofKopie im Explorer und auf USBPlatte was aber "Normal" schnell geht.
  Mit Zitat antworten Zitat
Benutzerbild von Billa
Billa

Registriert seit: 11. Aug 2003
237 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#14

Re: Konzept zur Datenbanktrennung.

  Alt 5. Sep 2008, 13:11
Muß die Sicherung wirklich innerhalb des Programms laufen? Was ist mit gbak? Das hat den Charme, daß man nicht auf das Backup warten muß, es läuft transaktionsgesteuert und erzeugt einen schönen Schnappschuss ... im übrigen gebe ich s.h.a.r.k. und elvis Recht: Ich würde das Konzept überdenken.
Gruß Billa

Nur weil ich paranoid bin, heißt das nicht, daß die da draussen nicht hinter mir her sind....
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: Konzept zur Datenbanktrennung.

  Alt 5. Sep 2008, 13:25
Die Komponente verwendet m.W. gbak
Markus Kinzler
  Mit Zitat antworten Zitat
Pro_RJ

Registriert seit: 16. Apr 2008
146 Beiträge
 
#16

Re: Konzept zur Datenbanktrennung.

  Alt 5. Sep 2008, 13:27
Ich hab gerade nochmal mit meinem Cheff gesprochen.
Die Aufgabenstellung lautet: das Backup/Restore soll in 1.5-2.5 Stunden fertig sein.
Wie ich das anstelle hat er mir eben frei gestellt.
Das Backup/Restore wird zu einer Zeit gemacht, wo niemand auf der Datenbank arbeitet.
Welchen Lösungsansatz könntet ihr mir ür diese Aufgabenstellung geben?
  Mit Zitat antworten Zitat
Benutzerbild von eddy
eddy

Registriert seit: 4. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#17

Re: Konzept zur Datenbanktrennung.

  Alt 5. Sep 2008, 14:09
Wie wäre es denn mit der Version:
2. PC hinstellen (muß auch nicht der neueste sein), Datenbank packen und auf Festplatte des Sicherungs-PC speichern.
Beim Packen werden die meisten Datenbanken auf 10 % zusammengeschrumpft.

mfg
eddy
  Mit Zitat antworten Zitat
Pro_RJ

Registriert seit: 16. Apr 2008
146 Beiträge
 
#18

Re: Konzept zur Datenbanktrennung.

  Alt 5. Sep 2008, 14:12
Zitat von eddy:
Wie wäre es denn mit der Version:
2. PC hinstellen (muß auch nicht der neueste sein), Datenbank packen und auf Festplatte des Sicherungs-PC speichern.
Beim Packen werden die meisten Datenbanken auf 10 % zusammengeschrumpft.

mfg
eddy

und wo liegt die Zeitersparniss beim Backup/Restore?
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#19

Re: Konzept zur Datenbanktrennung.

  Alt 5. Sep 2008, 14:17
Teste mal ein Backup auf eine andere Platte auf dem gleichen System wie der FB Server.
Oder eine andere Maschine, die dann aber mindestens mit GBit LAN mit dem FB Server verbunden ist. (gbak läuft dann auf der anderen Maschine)

Woher wisst ihr überhaupt, dass ein Backup/Restore(B&R) so lange dauert?
Kann es sein, dass ihr das öfters macht? Normal sollte das nur notwendig sein, wenn irgendetwas Schlimmes passiert ist...

Viele machen den Fehler und verwenden B&R um die DB files kleiner zu kriegen, oder ganz schlimm: offene Transaktionen zu schließen.
Firebird wird ein DB file niemals von sich aus schrumpfen lassen, und das macht auch Sinn:
Denn wenn die Datei einmal so groß wurde, wird sie wieder so groß werden. Wenn FB den Platz vorreserviert muss keine Kopie der Datei angefertigt werden (denn genau das passiert wenn Dateien wachsen) und die Dateifragmentierung bleibt auch noch im grünen Bereich.

@Pro_RJ
Die Erssparnis liegt darin, dass du den DB Server in der Zeit im Readonly Modus weiterlaufen lassen könntest.
Allerdings riecht das ein wenig "fishy" nach einer VB'ler-Lösung.
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Benutzerbild von Der Jan
Der Jan

Registriert seit: 22. Dez 2005
289 Beiträge
 
Delphi XE7 Ultimate
 
#20

Re: Konzept zur Datenbanktrennung.

  Alt 5. Sep 2008, 14:53
Nur so als Gedanke... Setz mal Verbose := false
Oder brauchst du die detaillierten Ausgaben? Das kann ganz schön bremsen, wenn die Leitung vlt belastet oder nicht so dick ist...
Gruß, Jan
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    


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 21:29 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