Backup / Restore-Datenbank für Oracle 10g Testen sqlplus oder RMAN
Frage
Mit Oracle 10g mit unserem Testserver, was ist die effizienteste / einfache Art und Weise zu sichern und eine Datenbank zu einem statischen Punkt wiederherzustellen, vorausgesetzt, Sie wollen immer auf dem gegebenen Punkt zurückgehen, wenn ein Backup erstellt wurde.
Eine Probe Anwendungsfall wäre die folgende
- installieren und konfigurieren, dass alle Software
- Ändern Daten an den Basistestpunkt
- eine Sicherung nehmen irgendwie (dieser Teil der Frage ist, wie dies zu tun)
- Sie testen
- zurück 3 Zustand zu Schritt (Wiederherstellung zurück zu Backup-Punkt, das ist die andere Hälfte der Frage)
Optimal wäre dies durch sqlplus oder rman oder einem anderen skript Verfahren abgeschlossen werden.
Lösung
Sie brauchen nicht eine Sicherung an Ihrer Basis Zeit in Anspruch nehmen. Nur Rückblende Datenbank aktivieren, erstellen Sie einen Wiederherstellungspunkt garantiert, Ihre Tests laufen und auf den zuvor erstellten Wiederherstellungspunkt Rückschlag.
Die Schritte hierfür seien:
- Starten Sie die Instanz in Mount-Modus.
Startkraft montieren;
- Erstellen Sie den Wiederherstellungspunkt.
Punkt before_test Garantie Rückblende Datenbank erstellen wiederherzustellen;
- Öffnen Sie die Datenbank.
alt database open;
- Führen Sie Ihre Tests.
- Herunterfahren und die Instanz montieren.
shutdown immediate; startup mount;
Rückblick - in den Wiederherstellungspunkt.
Rückblende Datenbank Wiederherstellungspunkt before_test;
- Öffnen Sie die Datenbank.
alt database open;
Andere Tipps
Sie können eine Funktion in Oracle verwenden genannt Rückblick die Damit können Sie einen Wiederherstellungspunkt erstellen, die Sie leicht zurückspringen können, nachdem Sie die Prüfung getan haben.
von der Website zitiert,
Flashback Database ist wie ein ‚rewind Button‘für die Datenbank. Es bietet Datenbank Zeitpunkt Erholung ohne eine Sicherung der erforderlich ist Datenbank zuerst wiederhergestellt werden. Wann Sie beseitigen die Zeit es braucht, um Wiederherstellen einer Datenbanksicherung vom Band, Datenbank Zeitpunkt Erholung schnell.
Aus meiner Erfahrung Import / Export ist wahrscheinlich der Weg zu gehen. Export erstellt eine logische Momentaufnahme Ihrer DB, so dass Sie es nicht nützlich für großen DBs oder hohe Leistungsanforderungen finden. Allerdings funktioniert es ideal für Schnappschüsse und so weiter zu machen auf einer Reihe von Maschinen verwendet werden.
Ich habe es auf einem Schienen-Projekt einen prod Snapshot zu erhalten, die wir zwischen den Entwicklern für Integrationstests tauschen konnten und wir haben den Auftrag innerhalb von Rake-Skripten. Wir schrieben ein kleines sqlplus Skript, das die DB zerstörte importiert dann die Dump-Datei über oben.
Einige Artikel können Sie überprüfen möchten: OraFAQ Spickzettel Oracle Wiki
Oracle offenbar nicht mag imp / exp mehr zugunsten von Daten Pumpe , wenn wir verwendeten Daten pumpen wir die Dinge brauchten wir nicht (dh SYSDBA Privilegien wir nicht in einer gemeinsamen Umgebung bekommen konnte) haben könnte. So werfen Sie einen Blick, aber nicht entmutigt werden, wenn Datenpumpe nicht Ihre Tasche ist, die alte imp / exp sind immer noch da :)
Ich kann nicht RMAN für diese Art der Sache empfehlen becuase RMAN eine Menge Setup nimmt und config in der DB muß (es hat auch einen eigenen Katalog DB für Sicherungen, die ein Schmerz im sprichwörtlich für ein Bare-Metal-Wiederherstellung ist ).
Wenn Sie ein Dateisystem verwenden, die Copy-on-Write-Snapshots unterstützt, können Sie die Datenbank in den Zustand versetzt, die Sie wollen. Dann ist alles heruntergefahren und ein Dateisystem Snapshot erstellen. Dann gehen Sie über Ihre Prüfung und wenn Sie bereit sind, neu beginnen Sie den Snapshot zurückrollen konnte. Dies könnte als andere Optionen einfacher sein, vorausgesetzt, Sie ein Dateisystem haben, die Snapshots unterstützt.
@ Michael Ridley Lösung ist perfekt skriptfähig und wird mit jeder Version von Oracle arbeiten.
Das ist genau das, was ich tue, habe ich ein Skript, das wöchentlich läuft auf
- Rollback auf das Dateisystem
- Anwenden Produktion Archivprotokolle
- Nehmen Sie neue "Pre-Data-Masking" FS Snapshot
- Reset-Protokolle
- Übernehmen "Vorproduktion" Datenmaskierung.
- Nehmen Sie neuen "Post-Data-Masking" Snapshot (ermöglicht Rollbacks maskierte Daten zu schreiben)
- Datenbank öffnen
So können wir unsere Entwicklungsdatenbanken halten Nähe unserer Produktionsdatenbank.
Um dies zu tun, ich ZFS.
Diese Methode kann auch für Anwendungen eingesetzt werden, oder sogar ganze Sie „Umwelt“ (zum Beispiel könnten Sie „Rollback“ die gesamte Umgebung mit einem einzigen (Skript) Befehl.
Wenn Sie 10g obwohl ausführen, das erste, was Sie wahrscheinlich schauen würden wollen, ist Rückblick, als in die Datenbank aufgebaut.