Allzu oft sehe ich Leute, die Fragen zu Backup-Strategien stellen, die sie für ihre Datenbanken anwenden sollten. Es scheint nie zu scheitern, jede Frage dieser Art, auf die ich in einer Vielzahl von Foren gestoßen bin, beinhaltet nie ihre Wiederherstellungsanforderungen. Ich bin oft darüber gestolpert, Ihre Wiederherstellungsanforderungen zu berücksichtigen, bevor ich Ihre Backup-Strategie entwerfe. Wenn ich auf Anforderungen drücke, erhalte ich häufig Backup-Anforderungen, zum Beispiel:
- Backups dürfen keine Ausfallzeiten verursachen
- Muss in der Lage sein, archivierte Redo-Protokolle zu sichern
- Backups müssen auf Band geschrieben werden
Diese Anforderungen sind schön und gut, aber meiner Meinung nach sollten Sie Ihre Backup-Strategie niemals entwerfen, ohne zuerst Ihre Wiederherstellungsanforderungen zu dokumentieren und Managementvorfälle einzuholen.
Hier sind einige Fragen, die ich mir stelle, wenn ich eine Backup-Strategie entwerfe. Beachten Sie, dass sich diese Fragen alle auf die Wiederherstellungsseite der Dinge konzentrieren.
- Wie viel Datenverlust kann ich mir leisten, wenn ich die Datenbank wiederherstelle? Null Datenverlust? Ist ein Datenverlust von einer Stunde nach Wiederherstellung der Datenbank akzeptabel?
- Muss ich Transaktionen aktualisieren, d. h. eine Point-in-Time-Wiederherstellung durchführen?
- Muss ich den Inhalt eines Schemas wiederherstellen, während die anderen Schemas intakt bleiben?
- Wie lange muss ich die Datenbank nach einem Ausfall wieder zum Laufen bringen?
- Welche Art von Ausfällen muss ich wiederherstellen? Offensichtlich muss ich in der Lage sein, nach einem vollständigen Serverausfall oder dem Verlust einer Festplatte wiederherzustellen. Aber muss ich in der Lage sein, mich nach menschlichem Versagen wie jemand zu erholen, der versehentlich eine Tabelle gelöscht hat?
- Muss ich die Sicherung auf anderen Servern wiederherstellen, wenn ich Entwicklungs- oder Testdatenbanken von einer Produktionskopie wiederherstelle?
Wenn Sie heutzutage die meisten Leute in der Oracle-Community fragen, werden sie Ihnen sagen, dass Sie RMAN verwenden sollen, um Ihre Datenbank zu sichern. RMAN ist ein großartiges Produkt und in vielen Dingen besser als die alten benutzerverwalteten Hot- oder Cold-Backups. Einige Oracle-DBAs werden Sie auffordern, RMAN zu verwenden, um Hot-Backups durchzuführen und Ihre Produktionsdatenbank im Archivprotokollmodus auszuführen. Auf diese Weise decken Sie viele der Wiederherstellungsszenarien ab, mit denen Sie wahrscheinlich konfrontiert werden. Aber was ist, wenn Ihre Antwort auf Frage 4 lautet, dass Sie 1 Stunde Zeit haben, um wieder einsatzbereit zu sein, und Ihre Datenbank eine Größe von 10 TB hat? Viel Glück beim Versuch, mit RMAN eine vollständige Wiederherstellung einer 10-TB-Datenbank in 1 Stunde durchzuführen. Und RMAN kann bei Frage 3 nicht helfen, da RMAN keine Sicherung auf Schemaebene durchführt.
Dem DBA stehen viele Tools zum Sichern und Wiederherstellen von Daten in der Datenbank zur Verfügung. Zu diesen Tools gehören unter anderem:
- Wiederherstellungsmanager von Oracle (RMAN)
- Benutzerverwaltete Sicherungen von Oracle
- Oracle Export/Import oder Data Pump
- Festplattenbasierte Snapshots
- Festplattenbasierte Replikation
- Datenwächter von Oracle
Also welche verwendest du? Nun, jeder hat seine Vor- und Nachteile. Sobald Sie Ihre Wiederherstellungsanforderungen kennen, werden die Tools zum Sichern Ihrer Datenbank klarer. Und Sie müssen möglicherweise mehr als ein Backup-Tool verwenden, um alle Ihre Wiederherstellungsanforderungen zu erfüllen. Wenn Sie, wie ein Vorschlag, RMAN mit Archivprotokollmodus und sonst nichts verwenden, und Ihr Manager zu Ihnen kommt und sagt:„Sie müssen diese 10-TB-Datenbank in einer Stunde wieder zum Laufen bringen!“ Ihr Job könnte durchaus auf dem Spiel stehen.
Was zum nächsten Punkt führt:Dokumentieren Sie Ihre Wiederherstellungsanforderungen und nehmen Sie sie in Ihr Service Level Agreement (SLA) auf. Beim Schreiben und Überprüfen des SLA kann Ihr Management sagen, dass es keinen Datenverlust wünscht. An dieser Stelle können Sie die Vor- und Nachteile der Implementierung einer Lösung ohne Datenverlust ansprechen … und auch die Kosten erwähnen! Viele Unternehmen scheuen die hohen Kosten einer Lösung ohne Datenverlust, aber für andere Unternehmen sind die Kosten gering im Vergleich zu der finanziellen Belastung durch den Verlust einer Transaktion. Hier kommt das Feilschen und Tauschen ins Spiel. Wenn das Management auf einer Lösung ohne Datenverlust besteht, muss es die Mittel aufbringen, um diese zu unterstützen, da RMAN (kostenlos) diese nicht bereitstellen wird. Sobald Sie Ihre Wiederherstellungsanforderungen im SLA dokumentiert haben, wird es für das Management schwierig sein, Sie aufzufordern, etwas wiederherzustellen, das Ihre Sicherungsstrategie nicht unterstützt. Wenn das SLA vorhanden ist und Sie aufgefordert werden, jede einzelne Transaktion wiederherzustellen, und Ihre Sicherungsstrategie dies nicht zulässt, haben Sie ein Dokument, das besagt, dass kein Datenverlust erforderlich war, und dies kann helfen, Ihren Job zu retten.
Nachdem Sie Ihre Wiederherstellungsanforderungen im SLA dokumentiert haben, stellen Sie jedoch sicher, dass Ihre Sicherungsstrategie es Ihnen ermöglicht, jedes Wiederherstellungsszenario durchzuführen, das im SLA dokumentiert ist. Ihr Job kann davon abhängen. Wenn im SLA kein Datenverlust angegeben ist und Sie Data Guard nicht implementieren, obwohl das Management bereit war, dies zu finanzieren, wird Ihnen möglicherweise gekündigt, weil Sie Ihre Arbeit nicht ausgeführt haben.
Schließlich ist keine Sicherungs-/Wiederherstellungsstrategie vollständig, wenn sie nicht gründlich getestet wurde. Sie sollten jede erforderliche Wiederherstellungsstrategie testen, um sicherzustellen, dass Sie alle im SLA angegebenen Anforderungen erfüllen können. Das Testen sollte aus zwei Gründen mindestens einmal im Jahr durchgeführt werden… erstens stellt sicher, dass Änderungen am System Ihre Fähigkeit zur Durchführung einer erforderlichen Wiederherstellung nicht negativ beeinflussen, und zweitens halten Sie Sie auf dem Laufenden, wie Sie eine Wiederherstellung durchführen können, damit Wenn Sie es wirklich tun müssen, fummeln Sie nicht nach dem Verfahren. Beim Testen stellen Sie möglicherweise fest, dass Ihre Backup-Methodik Wiederherstellungsszenarien unterstützt, die erforderlich sind, aber nett zu haben sind, wenn Sie sie brauchen.
Und ich kann es nicht genug sagen….Testen, testen und testen!