ONTEC Are you ready Uhr

Disaster recovery einer Oracle Datenbank

Datenbank-Server im Comic Stil

Inhaltsverzeichnis

Mit einem guten Backup-Konzept ist die erfolgreiche Wiederherstellung einer Datenbank selbst bei einem Komplettausfall des Systems möglich – sogar dann, wenn die Datenbank nicht in einem RMAN-Backup-Katalog registriert ist.

Backuplogs

Alle für die Wiederherstellung benötigten Informationen, werden in den Steuerdateien gespeichert. Werfen Sie also einen Blick in die Backuplogs:

Starting backup at 10:27:09–19.10.2009
using channel ORA_DISK1
channel ORA_DISK1: starting full datafile backupset
channel ORA_DISK1: specifying datafile(s) in backupset
including current SPFILE in backupset
including current controlfile in backupset <------
.
.
.
channel ORA_DISK1: starting piece 1 at 10:27:11–19.10.2009
channel ORA_DISK1: finished piece 1 at 10:28:26–19.10.2009
piece handle=/home/oracle/Backup/TEST9/full_online_TEST9_0bks69jt1_1 comment=NONE <--------
channel ORA_DISK1: backup set complete, elapsed time: 00:01:17
Finished backup at 10:28:26–19.10.2009

Wiederherstellung des SPFILEs und des Controlfiles

In meinem Backup-Konzept mache ich am Ende jedes Backups ein manuelles Backup des SPFILEs und des Controlfiles und benenne es so, dass ich es leicht wiederfinden kann.

Mit RMAN ist es möglich, eine DUMMY-Instanz ohne das vorhandene SPFILE zu starten. Also muss ich zuerst das SPFILE wiederherstellen:

shell>> export NLS_DATE_FORMAT=”HH24:MI:SS-DD.MM.YYYY”
shell>> rman target /

startup nomount;
restore spfile from '/home/oracle/Backup/TEST9/spfile_TEST9_0eks69o6_1_1';
shutdown immediate;
startup nomount;

Nun habenn wir einen Ort an dem wir das Controlfile aus dem SPFILE wiederherstellen können und können uns den übrigen Aufgaben widmen:

restore controlfile from '/home/oracle/Backup/TEST9/controlfile_TEST9_0dks69nh1_1';
alter database mount;

Wurden nach der vollständigen Online-Sicherung Archivelog-Sicherungen durchgeführt, können diese jetzt im aktuellen Controlfile katalogisiert werden:

catalog start with '/home/oracle/Backup/TEST9/*';

Wiederherstellung der Datenbank

Jetzt kann die Datenbank wiederhergestellt werden:

restore database;
recover database;
alter database open resetlogs;

Wiederherstellung in einem Run-Block

Natürlich können alle diese Schritte auch in einem einzigen Run-Block durchgeführt werden:

shell>> export NLS_DATE_FORMAT=”HH24:MI:SS-DD.MM.YYYY”
shell>> rman target /

run{
startup nomount;
restore spfile from '/home/oracle/Backup/TEST9/spfile_TEST9_0eks69o6_1_1';
shutdown immediate;
startup nomount;
restore controlfile from '/home/oracle/Backup/TEST9/controlfile_TEST9_0dks69nh1_1';
alter database mount;
catalog start with '/home/oracle/Backup/TEST9/*';
restore database;
recover database;
}

Diesen Beitrag teilen

LinkedIn
Reddit
Telegram
WhatsApp
Email
Print
WordPress Cookie Hinweis von Real Cookie Banner