validate oracle rman backup
So erstellen und validieren Sie Oracle RMAN Backup: Erfahren Sie mehr über RMAN-Befehle und den Wiederherstellungsprozess
Fehlermanagementprozess beim Testen von Software
In diesem Lernprogramm werden wir das Überprüfen und Testen Ihrer Oracle-Datenbanksicherungen erläutern. Wir werden Konzepte wie was, warum und wie über Datenbanksicherungen und Methoden zum Testen der Sicherung erläutern.
Wir werden das nehmen Oracle-Datenbank als Fallstudie für dieses Tutorial.
Fallstudie: Testen von Oracle RMAN-Datenbanksicherungen:
Was du lernen wirst:
Validierungsprozess für Oracle Database Backup mit RMAN
Wir haben es in die folgenden vier Abschnitte eingeteilt
- Was ist ein Backup?
- Warum sichern?
- Wie sichern?
- Wie teste / validiere ich meine Datenbanksicherung - Wiederherstellungsstrategien?
Lesen Sie auch=> Alles über Datenbanktests
Was ist eine Datenbanksicherung?
Bevor wir mehr über Backups erfahren, müssen wir das wichtigste Asset eines Unternehmens verstehen - Daten. Berücksichtigen Sie, dass Ihre Organisation in einer Oracle-Datenbank ausgeführt wird. Um den Begriff 'Datenbank' zu verstehen, können Sie sich auf die beziehen Oracle Database Testing-Reihe hier .
Daten einer Organisation sind der wichtigste Bestandteil einer Organisation. Betrachten Sie ein Einzelhandels- und Bankunternehmen. Sie alle verfügen über enorme Datenmengen - Benutzer, System usw. Als Datenbankadministrator sollten Systemadministratoren oder Mitarbeiter, denen der Auftrag zum Schutz dieser Daten zugewiesen wurde, wissen, wie wichtig Daten für ein Unternehmen sind. Wie kann sichergestellt werden, dass die Daten immer verfügbar sind? Sichern Sie diese Daten.
Ein Backup ist eine exakte Kopie Ihrer Datenbank, mit deren Hilfe Sie Ihre Daten im Falle eines Datenverlusts rekonstruieren können.
Warum Backup-Datenbank?
Stellen Sie sich einen einfachen Fall vor, in dem Ihre Bankorganisation, die Daten zu Millionen von Kunden in Bezug auf Kontonummern, Namen, Kandidaten, Bankguthaben und die Organisation hat, alle Daten verloren hat. Wie würden ihre Kunden darauf reagieren? Wie würde die Organisation mit dem Druck umgehen, so viele Daten zu verlieren? Wie würden sie auf die Unzufriedenheit so vieler Kunden reagieren?
Aus diesem Grund sichern wir diese Daten, damit wir uns bei einem Ausfall einer Festplatte (Speicher), des Festplattencontrollers (Speichercontrollers) immer auf unsere Sicherung verlassen können, von wo aus wir sie in der Datenbank wiederherstellen können, dh im Speicherdateisystem und nicht Kunden verlieren ihre Daten.
Angenommen, es gibt Millionen von Kunden, von denen jeder Millionen von Transaktionen ausführt und die Datenbank versehentlich abstürzt und ihre Daten verliert. Würden wir alle diese Kunden bitten, ihre Daten erneut einzugeben? Wie würde man mit dem Verlust so vieler Daten umgehen? Das wäre höchst inakzeptabel.
Stellen Sie sich in ähnlicher Weise ein Telekommunikationsunternehmen vor, das Millionen von Kunden unterstützt und über alle Daten zu Telefonnummern, Adressen, in Anspruch genommenen Krediten und ausstehenden Zahlungen verfügt. Was ist, wenn wir alle ihre Daten verlieren? Das Unternehmen ist zum Scheitern verurteilt und müsste enorme Kosten tragen, die das Unternehmen möglicherweise zum Erliegen bringen könnten. Es wäre sicherlich eine große Katastrophe.
Wie sichere ich die Datenbank?
Zum Sichern von Daten in einer Oracle-Datenbank stehen verschiedene Methoden zur Verfügung. Sie können allgemein als physische und logische Sicherungen klassifiziert werden
Methode 1)Physische Backups ::
- 3rdParty-Backups - wie Veritas NetBackup, SAP, IBM Tivoli Manager, EMC, HP
- Benutzerverwaltete Sicherungen - Sicherung einer Datenbank mit Betriebssystemdienstprogrammen wie copy (windows), cp (Unix).
- Oracle Secure Backup
- Mein bevorzugtes und am meisten bevorzugtes empfohlenes Oracle-Dienstprogramm - Recover Manager ( RMAN ).
Methode 2)Logische Backups:
- Herkömmliche Export / Import-Dienstprogramme und Datapump-Dienstprogramme. Eine logische Sicherung ist eine Sicherung logischer Daten - Objekte wie Tabellen, Indizes usw., die Bestandteile einer Datenbank sind, unabhängig vom Speicherort der oben genannten Objekte.
Um die physischen und logischen Speicherstrukturen einer Datenbank zu verstehen, können Sie darauf verweisen Dies und diese Orakeldokumentation .
Welches ist die beste Methode für die Datenbanksicherung?
Jede dieser Sicherungsstrategien hat ihre eigenen Vor- und Nachteile, und wir werden uns in diesem Artikel nicht zu sehr mit ihnen befassen.
Wir müssen verstehen, dass nur eine logische Sicherung nicht immer vor Beschädigung physischer Daten und Hardware-Speicherproblemen geschützt ist, es sei denn, Sie haben eine physische Sicherung eingerichtet. Ein gültiges, gutes physisches Backup macht es zu einer guten Backup- und Wiederherstellungsstrategie. Stellen Sie immer sicher, dass eine physische Sicherung vorhanden ist.
In der Realität können wir jede der oben genannten Methoden verwenden, aber wir müssen immer sicherstellen, dass eine gute Sicherungs- und Wiederherstellungsstrategie vorhanden ist, um unnötige Probleme während des Betriebs einer Datenbank zu vermeiden. Es wird immer empfohlen, Ihre Rücken- und Wiederherstellungsstrategien auf einem gespiegelten Testsystem zu testen, damit wir vorhersagen können, wie lange es dauert, bis Ihre Datenbank in unvorhergesehenen Situationen betriebsbereit ist.
In diesem Artikel konzentrieren wir uns hauptsächlich auf RMAN-Backups. Dies bringt uns zu einem Punkt, an dem wir wissen, wie genau wir die Sicherung durchführen.
Oracle RMAN-Sicherungsbefehle (Oracle Recovery Manager)
Wir können Daten entweder mithilfe des Enterprise Manager-Modus (GUI) oder über die Eingabeaufforderung des Betriebssystems sichern.
RMAN ist ein robustes, hochentwickeltes Tool, das von Oracle zur Durchführung von Backups und Wiederherstellungen bereitgestellt wird.
RMAN wird automatisch installiert, wenn Sie die Oracle-Datenbank installieren, sodass keine zusätzliche Installation erforderlich ist RMAN .
Das RMAN Umwelt besteht aus zwei Komponenten:
1) Zieldatenbank (die Datenbank, die Sie sichern, wiederherstellen und durchführen möchten
zwei) RMAN-Client Dies ist der Client, der Benutzerbefehle interpretiert und im Namen des Benutzers ausführt, während eine Verbindung zur Zieldatenbank hergestellt wird.
Ein einfacher Befehl zum Herstellen einer Verbindung mit der Datenbank mithilfe von RMAN lautet wie folgt:
C:Usersxyz> rman target / Recovery Manager: Release 11.2.0.1.0 - Production on Sun Sep 28 17:32:48 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. connected to target database: ORCL (DBID=1361070653) RMAN>
DBID ist hier die eindeutige Kennung, die für jede Datenbank eindeutig ist, mit der wir arbeiten möchten.
In diesem Beispiel handelt es sich um eine Datenbank mit dem Namen ORCL .
Wir werden die Daten sichern, die zur ORCL-Datenbank gehören.
Da eine Sicherung eine physische Kopie Ihrer Datenbank ist, benötigen wir einen Speicherort / ein Verzeichnis, in dem wir sie speichern können.
Um dies zu erreichen, können wir ein spezielles Verzeichnis mit dem Namen verwenden db_recovery_file_dest welches als Sicherungsort dient. Definieren Sie die Größe dieses Parameters mit db_recovery_file_dest_size Dies markiert die Größe dieses Sicherungsorts.
Obwohl wir verschiedene Möglichkeiten haben, Ihre Backups zu komprimieren, und verschiedene Techniken, die die Größe eines Backups reduzieren können, versuchen Sie, zumindest das festzulegen DB_RECOVERY_FILE_DEST_SIZE auf eine Größe Ihrer tatsächlichen Daten in Ihrer Datenbank. Stellen Sie sicher, dass Sie auch Archivprotokolle berücksichtigen, bei denen es sich nur um Offline-Redo-Protokolle handelt, in denen Änderungen an Ihren Datenblöcken aufgezeichnet werden.
Ihre Sicherungsstrategie würde aus allen Dateien bestehen, die sich auf die Datenbank beziehen, z. B. Datendateien, Steuerdateien, Parameterdateien, netzwerkbezogene Dateien und archivierte Redo-Log-Dateien.
RMAN oder ein anderes physisches Sicherungswerkzeug kann Datendateien, Steuerdateien, Parameterdateien und archivierte Redo-Log-Dateien sichern. Netzwerkbezogene Dateien müssen manuell mit Betriebssystem-Dienstprogrammen wie cp oder copy gesichert werden.
Zum Sichern einer Datenbank verwenden wir:
'Backup-Datenbank' - so einfach ist das. Beginnen wir also mit der Sicherung unserer ORCL-Datenbank.
Da wir bereits eine Verbindung zur Zieldatenbank (ORCL) hergestellt haben, lösen wir den Befehl 'Datenbank sichern' aus.
RMAN> backup database; Starting backup at 05-OCT-14 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=198 device type=DISK channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set input datafile file number=00001 name=D:APP1SUNTYADAORADATAORCLSYSTEM01.DBF input datafile file number=00002 name=D:APP1SUNTYADAORADATAORCLSYSAUX01.DBF input datafile file number=00005 name=D:APP1SUNTYADAORADATAORCLEXAMPLE01.DBF input datafile file number=00003 name=D:APP1SUNTYADAORADATAORCLUNDOTBS01.DBF input datafile file number=00004 name=D:APP1SUNTYADAORADATAORCLUSERS01.DBF channel ORA_DISK_1: starting piece 1 at 05-OCT-14 channel ORA_DISK_1: finished piece 1 at 05-OCT-14 piece handle=D:APP1SUNTYADAFLASH_RECOVERY_AREAORCLBACKUPSET2014_10_05O1_MF_NNNDF_TAG20141005T162412_B328TXQG_.BKP tag=TAG20141005T162412 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:04:27 channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set including current control file in backup set including current SPFILE in backup set channel ORA_DISK_1: starting piece 1 at 05-OCT-14 channel ORA_DISK_1: finished piece 1 at 05-OCT-14 piece handle=D:APP1SUNTYADAFLASH_RECOVERY_AREAORCLBACKUPSET2014_10_05O1_MF_NCSNF_TAG20141005T162412_B3293806_.BKP tag=TAG20141005T162412 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:04 Finished backup at 05-OCT-14
Hier stellen wir fest, dass die Sicherung aller zugehörigen Dateien der Datenbank - Datendateien, Steuerdateien, SP-Datei (Parameterdatei) - abgeschlossen wurde. Der Sicherungsvorgang dauerte ca. 4 Minuten und 27 Sekunden (verstrichene Zeit). Dies ist eine kleine Testdatenbank mit nur 5 Datendateien, sodass die Sicherung weniger Zeit in Anspruch nahm.
In Fällen, in denen wir Daten aus Datenbanken großer Unternehmen sichern möchten, kann es Hunderte von Datendateien geben, und jede Datendatei kann Terabyte-Größen haben, und eine vollständige Sicherung der Datenbank kann möglicherweise Stunden dauern.
Um die Details zu dem gerade erstellten Backup zu erfahren, führen wir Folgendes aus:
RMAN> Listensicherung;
List of Backup Sets =================== BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 4 Full 1.39G DISK 00:04:23 05-OCT-14 BP Key: 4 Status: AVAILABLE Compressed: NO Tag: TAG20141005T162412 Piece Name: D:APP1SUNTYADAFLASH_RECOVERY_AREAORCLBACKUPSET2014_10_05O1_MF_NNNDF_TAG20141005T162412_B328TXQG_.BKP List of Datafiles in backup set 4 File LV Type Ckp SCN Ckp Time Name ---- -- ---- ---------- --------- ---- 1 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLSYSTEM01.DBF 2 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLSYSAUX01.DBF 3 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLUNDOTBS01.DBF 4 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLUSERS01.DBF 5 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLEXAMPLE01.DBF BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 5 Full 9.58M DISK 00:00:06 05-OCT-14 BP Key: 5 Status: AVAILABLE Compressed: NO Tag: TAG20141005T162412 Piece Name: D:APP1SUNTYADAFLASH_RECOVERY_AREAORCLBACKUPSET2014_10_05O1_MF_NCSNF_TAG20141005T162412_B3293806_.BKP SPFILE Included: Modification time: 05-OCT-14 SPFILE db_unique_name: ORCL Control File Included: Ckp SCN: 9705762 Ckp time: 05-OCT-14
Diese Sicherung wird am Speicherort DB_RECOVERY_FILE_DEST abgelegt, der als D: APP1 SUNTYADA FLASH_RECOVERY_AREA definiert ist
SQL> show parameter DB_RECOVERY_FILE_DEST NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_recovery_file_dest string D:app1suntyadaflash_recovery_area db_recovery_file_dest_size big integer 3912M
Die für unseren Sicherungsspeicherort definierte Größe beträgt 3912 MB.
Verwenden Sie VALIDATE, um Datenbankdateien und Sicherungen zu überprüfen:
RMAN> VALIDATE DATABASE;
Überprüfen Sie die RMAN-Sicherung
Wie testen oder validieren wir, ob wir unsere Datenbank in einer Krise wiederherstellen können?
Wenn aufgrund eines Hardwarefehlers oder einer Beschädigung Ihrer Speicherfestplatten eine gute Sicherung verfügbar ist, um diese beschädigten Daten wiederherzustellen, gehen keine Daten verloren, die zu diesen Speicherdateien gehören.
Es hängt alles davon ab, wie Sie die Sicherungen entworfen haben, in welchen Intervallen die Sicherungen geplant sind, ob Sie eine vollständige Sicherung erstellen und inkrementelle Sicherungen durchführen.
Im Falle von Benutzerfehlern - wie einer unnötigen Manipulation von Daten - können wir Teile von Daten oder alle Daten wiederherstellen, die durch logische Sicherungen geändert wurden.
In der Praxis sollten wir uns zukünftiger Fehler bewusst sein und diese vorhersehen und jede Strategie testen, um sie zu umgehen.
Verwenden Sie den Befehl BACKUP VALIDATE, um die Sicherungsdateien zu überprüfen:
Der Befehl nur für die Überprüfung der physischen Beschädigung:
RMAN> SICHERUNGSGÜLTIG
DATENBANK
ARCHIVELOG ALL;
Der Befehl für die physische und logische Korruptionsprüfung:
RMAN> SICHERUNGSGÜLTIG
LOGISCH PRÜFEN
DATENBANK
ARCHIVELOG ALL;
RMAN> SICHERUNGSGÜLTIGE DATENBANK ;;
Starting backup at 05-OCT-14 using channel ORA_DISK_1 channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set input datafile file number=00001 name=D:APP1SUNTYADAORADATAORCLSYSTEM01.DBF input datafile file number=00002 name=D:APP1SUNTYADAORADATAORCLSYSAUX01.DBF input datafile file number=00005 name=D:APP1SUNTYADAORADATAORCLEXAMPLE01.DB input datafile file number=00003 name=D:APP1SUNTYADAORADATAORCLUNDOTBS01.DB input datafile file number=00004 name=D:APP1SUNTYADAORADATAORCLUSERS01.DBF channel ORA_DISK_1: backup set complete, elapsed time: 00:00:45 List of Datafiles ================= File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- ---------- 1 OK 0 13430 106376 9708800 File Name: D:APP1SUNTYADAORADATAORCLSYSTEM01.DBF Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------- Data 0 75217 Index 0 12706 Other 0 5015 File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- ---------- 2 OK 0 21161 95409 9708826 File Name: D:APP1SUNTYADAORADATAORCLSYSAUX01.DBF Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------- Data 0 23010 Index 0 21760 Other 0 29429 File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- ---------- 3 OK 0 0 5762 9708826 File Name: D:APP1SUNTYADAORADATAORCLUNDOTBS01.DBF Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------- Data 0 0 Index 0 0 Other 0 5760 File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- ---------- 4 OK 1125 228 5765 9528788 File Name: D:APP1SUNTYADAORADATAORCLUSERS01.DBF Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------- Data 0 2295 Index 0 39 Other 0 3198 File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- ---------- 5 OK 0 1687 10498 9585679 File Name: D:APP1SUNTYADAORADATAORCLEXAMPLE01.DBF Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------- Data 0 4760 Index 0 1261 Other 0 2788 channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set including current control file in backup set including current SPFILE in backup set channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 List of Control File and SPFILE =============================== File Type Status Blocks Failing Blocks Examined ------------ ------ -------------- --------------- SPFILE OK 0 2 Control File OK 0 608 Finished backup at 05-OCT-14
Wie Sie oben sehen können, lautet der Status jeder Datei „ OK Dies bedeutet, dass diese verwendet werden können und jederzeit zum Wiederherstellen der Dateien verwendet werden können.
Wir können eine Vorschau der Datenbankwiederherstellung durchführen. Dies gibt Ihnen eine schöne Liste von Dateien und deren Verfügbarkeit, ohne die Dateien tatsächlich wiederherzustellen.
Verwenden Sie den Befehl RESTORE, um die Sicherung zu überprüfen:
RMAN> DATABASE VALIDATE WIEDERHERSTELLEN;
ARCHIVELOG ALL VALIDATE WIEDERHERSTELLEN;
RMAN> DATENBANKVORSCHAU WIEDERHERSTELLEN;
Starting restore at 05-OCT-14 using channel ORA_DISK_1 List of Backup Sets =================== BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 4 Full 1.39G DISK 00:04:23 05-OCT-14 BP Key: 4 Status: AVAILABLE Compressed: NO Tag: TAG20141005T162412 Piece Name: D:APP1SUNTYADAFLASH_RECOVERY_AREAORCLBACKUPSET2014_10_05O1_MF_NNNDF_TAG20141005T162412_B328TXQG_.BKP List of Datafiles in backup set 4 File LV Type Ckp SCN Ckp Time Name ---- -- ---- ---------- --------- ---- 1 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLSYSTEM01.DBF 2 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLSYSAUX01.DBF 3 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLUNDOTBS01.DBF 4 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLUSERS01.DBF 5 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLEXAMPLE01.DBF List of Archived Log Copies for database with db_unique_name ORCL ===================================================================== Key Thrd Seq S Low Time ------- ---- ------- - --------- 367 1 366 A 02-OCT-14 Name: D:APP1SUNTYADAFLASH_RECOVERY_AREAORCLARCHIVELOG2014_10_05O1_MF_1_366_B32925TJ_.ARC Media recovery start SCN is 9684060 Recovery must be done beyond SCN 9704654 to clear datafile fuzziness Finished restore at 05-OCT-14
Fazit
Dies sind nur einfache Techniken Überprüfen Sie Ihre Oracle RMAN-Sicherungen. Ich hoffe, Sie haben ein klares Verständnis des RMAN-Sicherungs- und Wiederherstellungsprozesses mithilfe verschiedener wichtiger RMAN-Befehle.
Obwohl in realen Szenarien, die auf der Größe der Daten basieren, mehrere Hundert Datendateien vorhanden sein können, müssen wir sicherstellen, dass alle diese Dateien gesichert werden, um eine gute Sicherungsstrategie zu entwickeln. Ebenfalls, Testen Sie die Wiederherstellung auf Testsystemen, um sicherzustellen, dass Sie in der Produktion dieselben Techniken anwenden können.
Wir haben uns mit verschiedenen Methoden zum Sichern Ihrer kritischen Datenbanken / Testdatenbanken und verschiedenen Methoden zum Testen dieser Datenbanken befasst. Wie bereits mehrfach vorgeschlagen, rettet eine gute Sicherungs- und Wiederherstellungsstrategie Ihren Job und Ihr Unternehmen.
Lassen Sie uns wissen, wenn Sie Fragen zu Oracle oder anderen Datenbanksicherungs- und Wiederherstellungstests haben.
Literatur-Empfehlungen
- Ausführliche Eclipse-Tutorials für Anfänger
- MongoDB Datenbanksicherung erstellen
- QTP-Tutorial Nr. 24 - Verwenden virtueller Objekte und Wiederherstellungsszenarien in QTP-Tests
- Java Reflection Tutorial mit Beispielen
- Die wichtigsten technischen Fragen zu Oracle Apps und zum Oracle SOA-Interview
- SVN Tutorial: Quellcodeverwaltung mit Subversion
- Python DateTime Tutorial mit Beispielen
- Schildkröte SVN Tutorial: Überarbeitungen im Code Repository