Apfelinsel

Mac-Software => Thema gestartet von: Jochen am November 22, 2013, 13:42:14

Titel: FileMaker TimeMachine Wiederherstellen einer Datei
Beitrag von: Jochen am November 22, 2013, 13:42:14
Habe defekte FileMaker Datei die sich nicht öffnen lässt.
Über Wiederherstellen in FileMaker klappt es auch nicht.
Ich habe aber TimeMachine, mittels der ich die Datei ja "wiederherstellen" kann oder könnte.

Nun wird behauptet

a) Backups via Timemachine, welche von einer geöffneten FM Datenbank gemacht wurden, sind wertlos, erst recht im Mehrbenutzerbetrieb oder Host/Client Betrieb.

Jetzt mal unabhängig vom Mehrbenutzerbetrieb.
Bei Nutzung von TimeMachine sind ja in der Regel immer einige Dateien offen und / oder in Bearbeitung. Das müsste ja dann immer zu Problemen führen.
Wie ist die Behauptung denn zu bewerten ?

Jochen
Titel: Re: FileMaker TimeMachine Wiederherstellen einer Datei
Beitrag von: MacFlieger am November 22, 2013, 13:59:17
Es geht weniger um das geöffnet sein als solches.
Wenn eine Datei wie eine Textdatei oder Grafikdatei geöffnet ist, dann ist das recht unkritisch. Denn beim Öffnen werden die nur gelesen und nicht geändert und erst beim Speichern wird sie komplett geändert geschrieben. D.h. greift TM auf eine derartige geöffnete Datei zu, dann sichert TM vor dem "Speichern" den Ursprungszustand und danach den Neuzustand.

Bei Datenbanken läuft es meist etwas anders. Hier wird eine Datenbank geöffnet und daraus teilweise oder ganz der Inhalt gelesen. Solange nur ein lesender Zugriff erfolgt, ist es auch kein Problem. Verändert man in der DB aber etwas, dann wird nicht sofort und jedes Mal die komplette Datenbank-Datei gespeichert. Zunächst werden Änderungen nur im RAM gespeichert und dann bei Bedarf teilweise auch auf die Festplatte geschrieben. D.h. bei einer DB, auf die schreibend zugegriffen wird, gibt die Datei nicht zu jedem Zeitpunkt das wieder, was aktuell in der Datanbank gespeichert ist. Teilweise sind Änderungen noch erst im RAM und teilweise schon auf der Festplatte. Deshalb gibt es extra bei DB eine Möglichkeit, alle Änderungen auf die Platte zuschreiben. Wie jetzt Filemaker das genau macht, weiß ich nicht, aber genau das dürfte der Grund sein.
D.h. TM sichert dann weder den Anfangs- noch den neuen Zustand, sondern eine Datei, in der nur irgendein Teil der Änderungen schon gespeichert sind. Somit hat man dann Inkonsistenzen in der DB. Stell Dir vor, ein neuer Auftrag eines neuen Kunden ist schon in der Datei, die Tabelle mit den Kunden noch nicht. Dann hast Du beim Wiederherstellen eine Tabelle mit Aufträgen, die sich auf einen kunden bezieht, der in der Kundentabelle gar nicht vorhanden ist. Noch schlimmer: Wenn Du nun einen anderen neuen Kunden anlegst, ist dieser dann evtl. mit dem neuen Auftrag des ursprünglichen neuen Kunden verbunden...

Bei mir läuft MySQL und manchmal werden Änderungen in der DB erst Tage später in der Datei gespeichert.
Titel: Re: FileMaker TimeMachine Wiederherstellen einer Datei
Beitrag von: Jochen am November 22, 2013, 14:22:24
@Macflieger

Danke für Deine ausführliche Erläuterungen. Die DB um die es geht hat keine umfangreichen Datenbestände.

... Teilweise sind Änderungen noch erst im RAM und teilweise schon auf der Festplatte. Deshalb gibt es extra bei DB eine Möglichkeit, alle Änderungen auf die Platte zuschreiben. Wie jetzt Filemaker das genau macht, weiß ich nicht, aber genau das dürfte der Grund sein.

Die Datei ist auf meinem MBP gespeichert. I.d.R greife ich direkt vom MBP darauf zu und TimeMachine sichert auch die HD des MBP.
Die letzten Tage habe ich aber auch vom iMac darauf zugegriffen.
Verbindung via WLAN.
Jetzt kann ja sein dass WLAN mal unterbrochen wurde ? und deswegen die Datei nun defekt ist, oder?

Nun sollte aber es möglich sein ein älteres TimeMachine Backup zu nutzen, vor einer Woche wo ich sicher bin dass diese Datei noch OK ist.
Das Problem trat erstmals gestern am 21.11.2013 auf. Also ältere Datei sollte doch in Ordnung und nutzbar sein.
Es geht mehr um das Layout, die Scripte und Formulare, wie gesagt Daten sind noch nicht viel drin.

Zukünftig müsste ich dann die Datei direkt auf dem iMac speichern wenn ich da weiter arbeiten will.

Jochen
Titel: Re: FileMaker TimeMachine Wiederherstellen einer Datei
Beitrag von: MacFlieger am November 22, 2013, 15:00:54
Danke für Deine ausführliche Erläuterungen. Die DB um die es geht hat keine umfangreichen Datenbestände.

Bei MySQL ist das um so schlimmer. Deshalb dauert es bei mir ja Tage oder Wochen, bis neue Daten auch geschrieben werden. :)
Je weniger Daten man hat, desto wahrscheinlicher ist es, dass diese aus Geschwindigkeitsgründen komplett im RAM bleiben und nur sehr selten geschrieben werden.

Zitat
Die letzten Tage habe ich aber auch vom iMac darauf zugegriffen.
Verbindung via WLAN.
Jetzt kann ja sein dass WLAN mal unterbrochen wurde ? und deswegen die Datei nun defekt ist, oder?

Was heißt jetzt vom iMac über WLAN zugegriffen:
1. Du hast Filemaker auf dem iMac gestartet und die die Datei(!) übers Netzwerk geöffnet? Ja, dann kann eine Unterbrechung evtl. Ärger machen, da dann ja die DB auf dem iMac lief und diese bei Verlust der Verbindung nicht mehr speichern konnte.
2. Du hast Filemaker auf dem MBP laufen und greifst vom iMac aus über ein Frontend auf den laufenden DB-Server auf dem MBP zu. Dann glaube ich weniger an ein Problem, da die DB und die Datei ja zusammen auf dem MBP liefen. Der DB-Server Deiner Bank wird auch nicht seine Daten zerstören, wenn Du mit Safari beim Onlinebanking die Verbindung abbrichst.

Zitat
Nun sollte aber es möglich sein ein älteres TimeMachine Backup zu nutzen, vor einer Woche wo ich sicher bin dass diese Datei noch OK ist.

Ja, sollte, könnte.
Probiere es doch einfach aus.

Zitat
Zukünftig müsste ich dann die Datei direkt auf dem iMac speichern wenn ich da weiter arbeiten will.

s.o. Die Datei sollte möglichst auch auf dem Rechner liegen auf dem der DB-Server läuft, also das Programm, das direkt(!) auf die Datei zugreift.
Titel: Re: FileMaker TimeMachine Wiederherstellen einer Datei
Beitrag von: Jochen am November 22, 2013, 19:02:52
2. Du hast Filemaker auf dem MBP laufen und greifst vom iMac aus über ein Frontend auf den laufenden DB-Server auf dem MBP zu. Dann glaube ich weniger an ein Problem, da die DB und die Datei ja zusammen auf dem MBP liefen. Der DB-Server Deiner Bank wird auch nicht seine Daten zerstören, wenn Du mit Safari beim Onlinebanking die Verbindung abbrichst.

So war es. Wollte dann dies gestern wieder so machen, dann kam die Meldung. Bin dann zum MBP und dann kam gleiche Meldung.

Probiere es doch einfach aus.

Habe jetzt mit TimeMachine auf dem MBP die ältere Datei wiederhergestellt und geöffnet.
Wurde ohne Meldung geöffnet. Mal schauen ob sie störungsfrei läuft.

Generell besteht dann aber immer das Problem wenn TimeMachine läuft während ich an der DB arbeite, oder?

Jochen
Titel: Re: FileMaker TimeMachine Wiederherstellen einer Datei
Beitrag von: MacFlieger am November 22, 2013, 19:16:04
Generell besteht dann aber immer das Problem wenn TimeMachine läuft während ich an der DB arbeite, oder?

Ja, es kann sein, dass das TM-Backup dann keine konsistente Datei enthält. Daher habe ich es bei MySQL so, dass regelmäßig die Datenbank vollständig gesichert wird. Und diese Sicherungsdatei ist dann natürlich konsistent und wird von TM gesichert.
Titel: Re: FileMaker TimeMachine Wiederherstellen einer Datei
Beitrag von: Jochen am November 22, 2013, 19:25:42
Generell besteht dann aber immer das Problem wenn TimeMachine läuft während ich an der DB arbeite, oder?

Ja, es kann sein, dass das TM-Backup dann keine konsistente Datei enthält. Daher habe ich es bei MySQL so, dass regelmäßig die Datenbank vollständig gesichert wird. Und diese Sicherungsdatei ist dann natürlich konsistent und wird von TM gesichert.

Evtl. wäre es dann sinnvoll ein Script laufen zu lassen, welches beim Schließen der Datei - oder was ähnliches - eine Kopie in einem Backup Ordner abspeichert. Diese Kopie wird ja nicht geöffnet und für TimeMachine besser geeignet?

Jochen
Titel: Re: FileMaker TimeMachine Wiederherstellen einer Datei
Beitrag von: MacFlieger am November 22, 2013, 19:56:35
Ja, das wäre eine Möglichkeit. Oder es gibt vielleicht auch eine Funktion wie bei MySQL, das im laufenden Betrieb ein Backup angelegt wird. Denn bei mir wird der Server beim Booten direkt gestartet und erst beim Abschalten beendet.
Titel: Re: FileMaker TimeMachine Wiederherstellen einer Datei
Beitrag von: Jochen am November 22, 2013, 22:15:49
Ja, das wäre eine Möglichkeit. Oder es gibt vielleicht auch eine Funktion wie bei MySQL, das im laufenden Betrieb ein Backup angelegt wird. Denn bei mir wird der Server beim Booten direkt gestartet und erst beim Abschalten beendet.

Server, Client, Host sind mir nicht vertraute Dinge.
Für mich ist Filemaker erst mal ein Programm ähnlich wie Excel.
In beiden kann ich Daten speichern. Bei der Erläuterung von Datenbanken wird ja auch immer Excel zitiert.

FM ist lokal auf meinem MBP gespeichert. Es ist ein Programm. Wenn ich FM öffne ist erst mal keine Datenbank geöffnet. Erst wenn ich die entsprechende DB aus FM heraus öffne, kann ich Daten eingeben, ändern oder löschen. Ebenso kann ich das Layout ändern, oder auch Scripte erstellen.
Insofern weiss ich nicht was Du mit Server starten meinst.

Jochen
Titel: Re: FileMaker TimeMachine Wiederherstellen einer Datei
Beitrag von: MacFlieger am November 23, 2013, 07:59:49
Für mich ist Filemaker erst mal ein Programm ähnlich wie Excel.
In beiden kann ich Daten speichern. Bei der Erläuterung von Datenbanken wird ja auch immer Excel zitiert.

Ja, ich weiß. Und eigentlich völlig zu Unrecht. Die einzige Gemeinsamkeit ist, dass es in Excel Tabellen gibt und man sich die Daten in einer relationalen Datenbank vorstellen(!) kann, als wenn die in Tabellen vorliegen. Aber eigentlich ist das etwas völlig anderes, denn eine Tabellenkalkulation (Excel) dient dazu, dass man Daten (Zahlen) in einer Tabelle für Berechnungen nutzt.
Der Vergleich einer Datenbanktabelle mit einer Exceltabelle passt nur dann, wenn man in Excel keine einzige Formel verwendet, d.h. wirklich nur Daten in eine Tabelle einträgt und nichts weiter damit macht. Genauso gut könnte man das dann auch mit einer Word-Tabelle oder Pages-Tabelle vergleichen, in der nur Daten stehen.
Der oft vorkommende Vergleich mit Excel kommt daher, dass viele Leute Excel (oder andere Tabellenkalkulationen) missbrauchen, um darin reine Datentabellen ohne jegliche Berechnung zu basteln. Diese Leute benutzen meist deshalb Excel statt z.B. Word, weil beim Start von Excel direkt eine Tabelle zu sehen ist und auch die Tabellenbenutzung in Word oft nervig ist.

Wie auch immer:
Zitat
FM ist lokal auf meinem MBP gespeichert. Es ist ein Programm. Wenn ich FM öffne ist erst mal keine Datenbank geöffnet. Erst wenn ich die entsprechende DB aus FM heraus öffne, kann ich Daten eingeben, ändern oder löschen. Ebenso kann ich das Layout ändern, oder auch Scripte erstellen.
Insofern weiss ich nicht was Du mit Server starten meinst.

Das bezog sich ja auch auf MySQL und nicht FM. Bei Datenbanken ist es oft so, dass das reine Datenbankprogramm, welches die Daten speichert und verwaltet, getrennt vom Anzeige/Eingabeprogramm ist, über das man die daten ansehen und ändern kann. Bei FM ist das in einem Programm kombiniert. Wobei ich mich meine zu erinnern, dass man das auch bei FM trennen kann, d.h. FM mit den Daten läuft auf Rechner A und die Ausgabe und Eingabe der Daten erfolgt auf Rechner B (z.B. im Browser).
MySQL selber ist nur das reine Datenbankprogramm, welches die Daten verwaltet und speichert. Das läuft unsichtbar im Hintergrund und bietet direkt keinerlei Interaktionsmöglichkeit. Auf die Daten zugegriffen wird dann mit anderen Programmen, entweder ein Kommandozeilenprogramm oder ein grafisches Programm, welches über PHP im Webbrowser läuft (so wie z.B. dieses Forum), oder oder oder.
Das Starten des MySQL-Servers ist also gleichzusetzen mit "Starten von FM und Laden einer DB". Das folgende "Ansehen und Ändern von Daten in FM" macht dann ein anderes Programm. Also übersetzt: Bei mir wird die Datenbanksoftware gestartet und auch schon alle Datenbanken geladen, wenn der Rechner eingeschaltet wird. Und erst gespeichert und beendet, wenn der Rechner ausgeschaltet wird.