Benutzerspezifische Werkzeuge
Sie sind hier: Startseite Support FAQs Datenbanken ZODB Wie kann ich bei einer inkonsistenten oder kaputten ZODB auf einen alten Stand zurücksetzen?
Eine Ebene höher

Frage

Wie kann ich bei einer inkonsistenten oder kaputten ZODB auf einen alten Stand zurücksetzen?

Antwort

Methode 1:

  • Backup einfahren :-)

Methode 2:

  • Falls die Data.fs noch nicht gepackt wurde, kann man durch Abschneiden eines Teils der Data.fs am Ende die jeweils letzten Transaktionen wegwerfen (bei Änderungen in der ZODB werden diese immer an das Ende der ZODB angehängt).
  • Zope beenden
  • verschossene Data.fs sichern
  • Python Interpreter im Verzeichnis, in dem sich die Data.fs befindet, starten:
          import os
          fd = os.open('Data.fs', os.D_WRONLY')
          os.ftruncate(fd, XXXXXXXXXX)
          fd.close(fd)
    
  • Der Parameter XXXXXXX ist die Anzahl der Bytes auf die die Data.fs gestutzt werden soll. Hier heisst es nur ausprobieren und zu variieren bis man einen älteren Stand gefunden hat, mit dem man wieder arbeiten kann.
  • Zope hochfahren und untersuchen, ob man den gewünschten Stand gefunden
  • Falls nein, Backup der Data.fs noch mal als Data.fs einspielen und Vorgang mit anderem Wert für XXXXXX wieder holen.

Letzte Änderung: 30.04.2006 • Autor: ajung