O'Reilly logo

Oracle 12c - Das umfassende Handbuch by Lutz Fröhlich

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Kapitel 18
Recovery-Szenarien für Experten
438
18.4 Ein unbekanntes Szenario
Wenn Sie den Auftrag zur Lösung einer Wiederherstellungsaufgabe erhalten,
erhalten Sie nicht immer zuverlässige Informationen. Prüfen Sie alle Aussagen
kritisch und machen Sie sich anhand von Fakten ein eigenes Bild davon, was abge-
laufen sein könnte. Das folgende Beispiel zeigt, wie Sie in eine solche Situation
geraten und auf Basis eigener Analysen die Situation meistern können.
Es hat ein Datenbank-Crash stattgefunden, und der Kunde behauptet, dass regel-
mäßig ein Full-Backup mit dem Recovery Manager stattfindet. In der Datenbank
befindet sich eine sehr wichtige Tabelle, die unbedingt soweit es geht, wiederher-
gestellt werden soll. Da der Tablespace USERS fast voll war, wurde vor dem letzten
Backup das neue Datafile users02.dbf hinzugefügt. Bezüglich der Backup-Strategie
trifft der Kunde widersprüchliche Aussagen.
Führen Sie in solchen Situationen stets eine Überprüfung der vorhandenen Siche-
rungen durch. An erster Stelle steht die Überprüfung der vorhanden Sicherungen,
insbesondere des neu angelegten Datafiles.
Die Überprüfung ergibt, dass keine Sicherung für das neu angelegte Datafile vor-
handen ist. Bei Betrachten des Backup-Skript wird deutlich, warum das so ist. Es
erfolgt keine Sicherung der gesamten Datenbank, sondern von einzelnen Datafi-
les. Das neue Datafile ist noch nicht in das Skript eingebunden.
RMAN> LIST BACKUP OF DATABASE SUMMARY;
List of Backups
===============
Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag
------- -- -- - ----------- ------------------- ------- ------- ---------- ---
9319 B F A DISK 06.04.2014 12:59:04 1 1 NO
TAG20080406T125813
9410 B F A DISK 06.04.2014 13:05:39 1 1 NO
TAG20080406T130501
RMAN> LIST BACKUP OF DATAFILE 5;
RMAN>
RMAN> LIST BACKUP OF ARCHIVELOG ALL;
. . .
1 38 320413 06.04.2014 12:49:46 320507 06.04.2008 12:49:54
1 39 320507 06.04.2014 12:49:54 320609 06.04.2008 12:50:03
1 40 320609 06.04.2014 12:50:03 320706 06.04.2008 12:50:21
1 41 320706 06.04.2014 12:50:21 320824 06.04.2008 12:50:53
1 42 320824 06.04.2014 12:50:53 321384 06.04.2008 12:56:30
$ ls -ltr /opt/oracle/archive/MITP
. . .
-rw-r----- 1 oracle orainst 516096 Apr 6 12:59 1_43_651246119.dbf
-rw-r----- 1 oracle orainst 6200320 Apr 6 13:01 1_44_651246119.dbf
18.4
Ein unbekanntes Szenario
439
Die Überprüfung ergibt, dass die Archived Redo Log-Dateien bis zur Sequence
Number 42 im RMAN-Backup gesichert sind. Weitere Dateien befinden sich auf
Disk, allerdings gibt es eine Lücke. Die Archived Redo Log-Dateien mit den
Sequenzen 46 und 47 fehlen. Der Kunde räumt ein, dass diese Dateien versehent-
lich gelöscht wurden.
Mit der Kenntnis der wahren Situation können Sie nun ein Wiederherstellungs-
konzept erstellen. Das Datafile users02.dbf wurde nie gesichert, gleichzeitig sind
Archived Redo Log-Dateien verloren gegangen. Die Datenbank kann zwar bis kurz
vor den Crash-Zeitpunkt wieder hergestellt werden, allerdings ohne das Datafile 5.
Die vom Kunden angesprochene wichtige Tabelle KB war teilweise im Datafile 5
gespeichert.
Die Lösung besteht aus zwei Phasen. Mit einem Point-in-time Recovery werden
zunächst die Spalten der Tabelle KB gerettet, die sich im ersten Datafile befinden.
In der zweiten Phase wird die Datenbank ohne Datafile 5 wiederhergestellt.
Betrachten Sie die einzelnen Schritte.
1. Zunächst wird die letzte verfügbare Sicherung der Kontrolldatei zurückgespei-
chert.
2. Es erfolgt das Rückspeichern der Datenbank.
3. Weitere Archived Redo Log-Dateien befinden sich auf Disk. Es ist also möglich,
ein Recovery bis zur letzten vorhandenen Datei mit der Sequence Number 45
durchzuführen. An dieser Stelle muss wieder auf SQL*Plus ausgewichen wer-
den. Vorher speichern wir noch alle benötigten Archived Redo Log-Dateien
zurück.
4. Jetzt setzen wir das Datafile 5 »OFFLINE« und führen ein Incomplete Recovery
der Datenbank durch.
-rw-r----- 1 oracle orainst 3822592 Apr 6 13:03 1_45_651246119.dbf
-rw-r----- 1 oracle orainst 1024 Apr 6 13:03 1_48_651246119.dbf
RMAN> STARTUP NOMOUNT;
RMAN> RESTORE CONTROLFILE;
RMAN> ALTER DATABASE MOUNT;
RMAN> RESTORE DATABASE UNTIL SEQUENCE 46 THREAD 1;
RMAN> RESTORE ARCHIVELOG ALL UNTIL SEQUENCE 42;
SQL> ALTER DATABASE DATAFILE 5 OFFLINE;
Database altered.
SQL> RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL;

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required