Hallo zusammen,
habe da mal eine Frage zum Datenbankrecover.
Da ich derzeit einige Probleme mit gecrashten Datenbankdateien habe und die bei Produktivsystemen echt übel ist denke ich über einen Mechanismus nach der diesen Zustand automatisch repariert möglichst ohne Datenverlust.
Da bei unserem System zyklisch neue Daten kommen die eingefügt werden müssen kann ich nicht mal eben das System für einige Zeit anhalten um ein Backup/Restore durchzuführen.
Alle Daten die eingefügt werden müssen verwalte ich intern in einer QUEUE. Ich habe also die Möglichkeit, die Inserts für eine gewissen Zeit anzuhalten um sie dann nachzuholen.
Nun habe ich mit folgendes überlegt:
Sollte ich bei der Fehlerauswertung feststellen, dass die Datenbank corrupt ist dann könnte ich einen Notfallvorgang anstossen.
- Alle aktiven Verbindungen stoppen
- Datenbankdatei umbennen, direkt eine aktuelle neue leere erstellen.
- Alle Verbindungen wieder starten und die Daten in der Queue wieder einfügen
- Nun ein Backup der defekten umbenannten Datei durchführen.
So, nun kommt es. Könnte ich nun die Daten in dieser Backupdatei direkt in die neue bereits mit weiteren Daten gefüllten Datei einfügen?
Ich bräuchte also nicht diese ganzen META Daten sondern nur die reinen Inserts pro Tabelle!
Kann mir jemand von Euch dazu einen Tip geben oder erklären wie da ein vernünftiger Vorgang aussehen würde?
habe da mal eine Frage zum Datenbankrecover.
Da ich derzeit einige Probleme mit gecrashten Datenbankdateien habe und die bei Produktivsystemen echt übel ist denke ich über einen Mechanismus nach der diesen Zustand automatisch repariert möglichst ohne Datenverlust.
Da bei unserem System zyklisch neue Daten kommen die eingefügt werden müssen kann ich nicht mal eben das System für einige Zeit anhalten um ein Backup/Restore durchzuführen.
Alle Daten die eingefügt werden müssen verwalte ich intern in einer QUEUE. Ich habe also die Möglichkeit, die Inserts für eine gewissen Zeit anzuhalten um sie dann nachzuholen.
Nun habe ich mit folgendes überlegt:
Sollte ich bei der Fehlerauswertung feststellen, dass die Datenbank corrupt ist dann könnte ich einen Notfallvorgang anstossen.
- Alle aktiven Verbindungen stoppen
- Datenbankdatei umbennen, direkt eine aktuelle neue leere erstellen.
- Alle Verbindungen wieder starten und die Daten in der Queue wieder einfügen
- Nun ein Backup der defekten umbenannten Datei durchführen.
So, nun kommt es. Könnte ich nun die Daten in dieser Backupdatei direkt in die neue bereits mit weiteren Daten gefüllten Datei einfügen?
Ich bräuchte also nicht diese ganzen META Daten sondern nur die reinen Inserts pro Tabelle!
Kann mir jemand von Euch dazu einen Tip geben oder erklären wie da ein vernünftiger Vorgang aussehen würde?
Comment