Sicherung der Flash/Fast Recovery Area auf Disk

Ziel

Dieser Blogeintrag beschäftigt sich mit dem Recovery Manager Kommando BACKUP RECOVERY AREA und zeigt die Unterschiede bei der Sicherung der Flash/Fast Recovery Area unter Oracle 10g und 11g.

 

Flash / Fast Recovery Area

Oracle führte mit der Version 10g die Flash Recovery Area (kurz: FRA)  als zentralen Speicherort für Backups, wie zum Beispiel RMAN Backups, Archivelogs oder Flashback Logs, ein. Zusätzlich werden bei aktivierter FRA Kopien des Controlfies und der Online Redo Logs in diesem Bereich erstellt, um so die Ausfallsicherheit der Datenbank zu verbessern. Die FRA ist ein logischer, durch Oracle verwalteter, Bereich, der entweder in einer ASM Diskgroup oder im Dateisystem liegen kann. 

 

Sollte die FRA drohen vollzulaufen, kann Oracle eigenständig Dateien löschen, die für die Wiederherstellung der Datenbank nicht mehr benötigt werden. Welche Dateien gelöscht werden können, hängt zum Beispiel von den in RMAN gesetzten Retention Policies ab.

 

Mit Oracle 11g Release 2 wurde die Flash Recovery Area in Fast Recovery Area umbenannt.

 

Systemumgebung

Für die Demonstration der unterschiedlichen Verhaltensweisen bei der Ausführung der FRA Sicherung verwende ich die folgenden beiden Datenbanken.

 

Testumgebung 1: Oracle 10g Release 2, Name: TEST (Muss kleiner 11g Release 2 sein!)

BANNER ------------------------------------------------------------------------------ Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit - Production PL/SQL Release 10.2.0.1.0 - Production CORE    10.2.0.1.0      Production TNS for Linux: Version 10.2.0.1.0 - Production NLSRTL Version 10.2.0.1.0 - Production

Testumgebung 2: Oracle11g Release 2, Name: DB1

BANNER ------------------------------------------------------------------------------ Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit - Production PL/SQL Release 11.2.0.1.0 - Production CORE    11.2.0.1.0      Production TNS for Linux: Version 11.2.0.1.0 - Production NLSRTL Version 11.2.0.1.0 - Production

Die Betriebssystemversion spielt in diesem Fall keine Rolle. Genauso wenig die Tatsache, ob es sich um einen Real Application Cluster handelt oder nicht.

 

Beide Datenbanken verwenden die FRA zur Speicherung der Archivelogs und RMAN Backups. 

 

Damit in der FRA zu sicherende Daten vorliegen, wird im ersten Schritt eine Sicherung der Datenbanken durchgeführt. Dafür meldet man sich mithilfe von RMAN an der jeweiligen Datenbank an und führt folgenden Befehl aus.

BACKUP DATABASE PLUS ARCHIVELOG DELETE ALL INPUT;

 

Vorgehensweise Oracle 10g, 11g Release 1

Im Zuge der Einführung der FRA führte Oracle das RMAN Kommando BACKUP RECOVERY AREA ein. Dieses Kommando sollte dafür verwendet werden, um die Inhalte der FRA auf Band zu sichern. 

BACKUP RECOVERY AREA;

Wird versucht, ohne weitere Konfiguration, eine Sicherung auf Disk zu machen, bricht der Befehl mit Fehlern ab.

Starting backup at 04-APR-13 released channel: ORA_DISK_1 specification does not match any archive log in the recovery catalog specification does not match any datafile copy in the repository RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of backup command at 04/04/2013 11:51:43 RMAN-06747: at least 1 channel of tertiary storage must be allocated to execute this command

Oracle verlangt einen Channel vom Typ SBT_TAPE. Dieser kann aber nur allokiert werden, wenn eine entsprechende Media Library konfiguriert wurde. Anderenfalls werden folgende Fehlermeldungen ausgegeben.

ORA-19554: Fehler beim Zuweisen von Gerat, Gerattyp: SBT_TAPE, Geratname:  ORA-27211: Media Management Library konnte nicht geladen werden

 

Wie kann man nun die FRA mithilfe dieses Kommando auf Disk sichern?

Für diesen Zweck bietet Oracle die DiskSbt API an. Mit dieser API ist es möglich über den SBT_TAPE Channel auf Disk zu schreiben.

 

Die Sicherung kann nun wie folgt durchgeführt werden. Über den Parameter BACKUP_DIR muss der Speicherort der Disk Backups angegeben werden.

run {   ALLOCATE CHANNEL ch1 DEVICE TYPE 'SBT_TAPE' PARMS='SBT_LIBRARY=oracle.disksbt,ENV=(BACKUP_DIR=/u01/app/oracle/backup)';   BACKUP RECOVERY AREA; }

Vor dem Start des eigentlichen Backupvorgangs wird eine kurze Warnung eingeblendet (Zeile 4).

using target database control file instead of recovery catalog allocated channel: ch1 channel ch1: sid=128 instance=TEST1 devtype=SBT_TAPE channel ch1: WARNING: Oracle Test Disk API  Starting backup at 04-APR-13 specification does not match any archive log in the recovery catalog specification does not match any datafile copy in the repository input backupset count=2 stamp=811855378 creation_time=04-APR-13 channel ch1: starting piece 1 at 04-APR-13 channel ch1: backup piece +FRA/test/backupset/2013_04_04/ncsnf0_tag20130404t112257_0.261.811855381 piece handle=02o67rgi_1_2 comment=API Version 2.0,MMS Version 8.1.3.0 channel ch1: finished piece 1 at 04-APR-13 channel ch1: backup set complete, elapsed time: 00:00:03 input backupset count=3 stamp=811857001 creation_time=04-APR-13 channel ch1: starting piece 1 at 04-APR-13 channel ch1: backup piece +FRA/test/backupset/2013_04_04/annnf0_tag20130404t115001_0.264.811857003 piece handle=03o67t39_1_2 comment=API Version 2.0,MMS Version 8.1.3.0 channel ch1: finished piece 1 at 04-APR-13 channel ch1: backup set complete, elapsed time: 00:00:01 input backupset count=4 stamp=811857005 creation_time=04-APR-13 channel ch1: starting piece 1 at 04-APR-13 channel ch1: backup piece +FRA/test/backupset/2013_04_04/nnndf0_tag20130404t115004_0.262.811857007 piece handle=04o67t3d_1_2 comment=API Version 2.0,MMS Version 8.1.3.0 channel ch1: finished piece 1 at 04-APR-13 channel ch1: backup set complete, elapsed time: 00:00:25 input backupset count=5 stamp=811857080 creation_time=04-APR-13 channel ch1: starting piece 1 at 04-APR-13 channel ch1: backup piece +FRA/test/backupset/2013_04_04/ncsnf0_tag20130404t115004_0.263.811857083 piece handle=05o67t5o_1_2 comment=API Version 2.0,MMS Version 8.1.3.0 channel ch1: finished piece 1 at 04-APR-13 channel ch1: backup set complete, elapsed time: 00:00:01 input backupset count=6 stamp=811857089 creation_time=04-APR-13 channel ch1: starting piece 1 at 04-APR-13 channel ch1: backup piece +FRA/test/backupset/2013_04_04/annnf0_tag20130404t115129_0.267.811857091 piece handle=06o67t61_1_2 comment=API Version 2.0,MMS Version 8.1.3.0 channel ch1: finished piece 1 at 04-APR-13 channel ch1: backup set complete, elapsed time: 00:00:01 Finished backup at 04-APR-13 released channel: ch1

 

Vorgehensweise Oracle 11g Release 2

Mit Oracle 11g Release 2 wurde die Sicherung der FRA auf Disk vereinfacht. Es muss nun nicht mehr auf die Oracle DiskSbt API zurückgegriffen werden. 

BACKUP RECOVERY AREA TO DESTINATION '/u01/app/oracle/backup;

Das Backup startet und sichert alle Inhalte der FRA in das angegebene Verzeichnis.

Starting backup at 04-APR-13 using channel ORA_DISK_1 specification does not match any archived log in the repository specification does not match any datafile copy in the repository channel ORA_DISK_1: input backup set: count=1, stamp=811863376, piece=1 channel ORA_DISK_1: starting piece 1 at 04-APR-13 channel ORA_DISK_1: backup piece +FRA/db1/backupset/2013_04_04/annnf0_tag20130404t133611_0.383.811863377 piece handle=/u01/app/oracle/backup/DB1/backupset/2013_04_04/o1_mf_annnn_TAG20130404T133611_8otszp76_.bkp comment=NONE channel ORA_DISK_1: finished piece 1 at 04-APR-13 channel ORA_DISK_1: backup piece complete, elapsed time: 00:01:15 channel ORA_DISK_1: input backup set: count=2, stamp=811863501, piece=1 channel ORA_DISK_1: starting piece 1 at 04-APR-13 channel ORA_DISK_1: backup piece +FRA/db1/backupset/2013_04_04/annnf0_tag20130404t133611_0.262.811863503 piece handle=/u01/app/oracle/backup/DB1/backupset/2013_04_04/o1_mf_annnn_TAG20130404T133611_8ott21cw_.bkp comment=NONE channel ORA_DISK_1: finished piece 1 at 04-APR-13 channel ORA_DISK_1: backup piece complete, elapsed time: 00:01:15 channel ORA_DISK_1: input backup set: count=3, stamp=811863624, piece=1 channel ORA_DISK_1: starting piece 1 at 04-APR-13 channel ORA_DISK_1: backup piece +FRA/db1/backupset/2013_04_04/nnndf0_tag20130404t134023_0.384.811863625 piece handle=/u01/app/oracle/backup/DB1/backupset/2013_04_04/o1_mf_nnndf_TAG20130404T134023_8ott4dkc_.bkp comment=NONE channel ORA_DISK_1: finished piece 1 at 04-APR-13 channel ORA_DISK_1: backup piece complete, elapsed time: 00:00:55 channel ORA_DISK_1: input backup set: count=4, stamp=811863739, piece=1 channel ORA_DISK_1: starting piece 1 at 04-APR-13 channel ORA_DISK_1: backup piece +FRA/db1/backupset/2013_04_04/ncsnf0_tag20130404t134023_0.386.811863743 piece handle=/u01/app/oracle/backup/DB1/backupset/2013_04_04/o1_mf_ncsnf_TAG20130404T134023_8ott63r1_.bkp comment=NONE channel ORA_DISK_1: finished piece 1 at 04-APR-13 channel ORA_DISK_1: backup piece complete, elapsed time: 00:00:03 channel ORA_DISK_1: input backup set: count=5, stamp=811863747, piece=1 channel ORA_DISK_1: starting piece 1 at 04-APR-13 channel ORA_DISK_1: backup piece +FRA/db1/backupset/2013_04_04/annnf0_tag20130404t134227_0.385.811863747 piece handle=/u01/app/oracle/backup/DB1/backupset/2013_04_04/o1_mf_annnn_TAG20130404T134227_8ott66sk_.bkp comment=NONE channel ORA_DISK_1: finished piece 1 at 04-APR-13 channel ORA_DISK_1: backup piece complete, elapsed time: 00:00:01 Finished backup at 04-APR-13

Die Verzeichnisstruktur unterhalb des Zielverzeichnisses entspricht der Struktur innerhalb der FRA.

Leave a Reply

Your email address will not be published. Required fields are marked *