AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firebird GDB verkleinern
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird GDB verkleinern

Ein Thema von SarDGer · begonnen am 9. Aug 2005 · letzter Beitrag vom 10. Aug 2005
Antwort Antwort
Seite 1 von 2  1 2      
SarDGer

Registriert seit: 19. Mai 2005
55 Beiträge
 
Delphi 7 Professional
 
#1

Firebird GDB verkleinern

  Alt 9. Aug 2005, 08:31
Datenbank: Firebird • Version: 1.5 • Zugriff über: SQL
Hallo,

mein Problem ist folgendes:
Ich habe eine GDB wo täglich daten eingepflegt werden,
alle 7 tage sollen dann die alten Daten gelöscht werden.
OK - so weit so gut. Das GDB File wird dadurch aber leider
nicht kleiner sondern wächst stetig. Warum ist relativ klar,
weil die Pages nicht mitgelöscht werden. Meine Lösung ist
von daher folgende: Die Metadaten der Datenbankstruktur
extrahieren, die Daten der Datenbank in ein skript exportieren,
eine neue Datenbank mit den Metadaten erzeugen und dann per skript
füllen. Das ganze spiel ist leider recht aufwendig, was noch nicht
so schlimm ist aber es dauert leider auch sehr lange.

Kennt vielleicht jemand eine alternative Lösung?

vielen Dank im vorraus,
Sar
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#2

Re: Firebird GDB verkleinern

  Alt 9. Aug 2005, 08:35
Hi,

ganz einfach: ein Backup-Restore Zyklus durchführen! Nach der Löschaktion erstellst Du ein Backup der Datenbank und lässt es gleich wieder herstellen. Das hat den Vorteil, dass alle gelöschten Daten aus der Datenbank verschwinden und dass alle Indizes wieder neu aufgebaut werden und die Datenbank (nach umfangriechen Insert/Deleteaktionen) wieder schneller reagiert.

Lemmy
  Mit Zitat antworten Zitat
SarDGer

Registriert seit: 19. Mai 2005
55 Beiträge
 
Delphi 7 Professional
 
#3

Re: Firebird GDB verkleinern

  Alt 9. Aug 2005, 10:15
Hi Lemmy,

erstmal danke für die schnelle Antwort,
hilft mir leider nicht, bei 'ner Datenbank von 270MB
dauer das ganze spiel ziemlich lange (ca. 10min). Da geht das mit
dem Skript einiges schneller (ca. 3min).

gruss,
Sar
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#4

Re: Firebird GDB verkleinern

  Alt 9. Aug 2005, 11:54
Hi,

warum sind die 10 Minuten zu lange? Brauchst Du einen ständigen Zugriff auf die DB?

Lemmy
  Mit Zitat antworten Zitat
SarDGer

Registriert seit: 19. Mai 2005
55 Beiträge
 
Delphi 7 Professional
 
#5

Re: Firebird GDB verkleinern

  Alt 9. Aug 2005, 12:00
@Lemmy, yep, eimal das und ausserdem:
werden täglich neue Daten hinzugefügt,
bei diesem vorgang wird auch das backup durchgeführt,
wenn man dann 10min. warten muss bis mal was passiert
ist das ziemlich nervig.

Gruss,
Sar
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#6

Re: Firebird GDB verkleinern

  Alt 9. Aug 2005, 13:23
Hi,

gut, dann hast Du vermutlich kaum ne andere Chance. Ich habe mir überlegt mit eine Zweit-DB was zu machen, aber da hast Du immer das Problem, wie Du damit die erste ersetzten kannst. Das geht nur vernünftig (und sicher) über ein Backup-Restore.

Lemmy
  Mit Zitat antworten Zitat
SarDGer

Registriert seit: 19. Mai 2005
55 Beiträge
 
Delphi 7 Professional
 
#7

Re: Firebird GDB verkleinern

  Alt 9. Aug 2005, 13:51
Yep, da bin ich auch gelandet, hehe.
Hab mal rumgebastelt und versucht raus zu bekommen
wo der die ganze Zeit verbrezelt.
Dabei ist mir aufgefallen das er nur ab und zu
so lange braucht !!! Manchmal haut er das ganze
auch in 19sek. durch. Also hab ich untersucht was
den Unterschied ausmacht... Ergebniss: nach dem
Aufbau der gbk kommt noch starting transactions
und dann lange zeit nix! Irgendwann scheint er
dann wieder Lust zu bekommen und läuft dann los...
Danach geht es wieder superschnell... merkwürdig.
Ich bastel da mal noch was dran rum... wenn ich
nämlich den Firebird server abschiesse und die
Applikation neu starte dann geht es auf einmal
innerhalb von 19sek., muss das ganze jetzt nur
noch so hinbekommen das er immer so funktioniert.
Transactions commited und so weiter hab ich
natürlich schon durch.
Bin für jeden Tip dankbar...

Gruss,
Sar
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#8

Re: Firebird GDB verkleinern

  Alt 9. Aug 2005, 15:04
Hi,

mit welchen Komponenten (BackupService und RestoreService) arbeitest Du - IBX, UIB, FIBPLus,...?? Wenn IBX, dann versuch mal die UIB(kostenlos) zu verwenden (also nur Restore und Backupservice) haben bei mir anstandslos funktioniert. Das mit der langen REstore-Backupzeit kommt mir irgenwie bekannt vor...


Lemmy

http://www.progdigy.com/modules.php?name=UIB
  Mit Zitat antworten Zitat
SarDGer

Registriert seit: 19. Mai 2005
55 Beiträge
 
Delphi 7 Professional
 
#9

Re: Firebird GDB verkleinern

  Alt 9. Aug 2005, 15:12
hehe, danke !

Hab ich allerdings schon, das selbe Problem,
scheint irgent wie am Firebird server zu hängen...

gruss,
Sar
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#10

Re: Firebird GDB verkleinern

  Alt 9. Aug 2005, 19:07
Mann... Du machst es einem aber wirklich schwer

Viel Glück!

Lemmy

P.S.: Wenn Du ne Lösung für das Problem findest, würde ich mich über ne Nachricht sehr freuen!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:12 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