Oracle RMAN Backup und Restore Spickzettel

Oracle RMAN

Der Oracle Recovery Manager ist das Werkzeug, das Oracle zum Sichern und Wiederherstellen seiner Datenbank Oracle RDBMS verwendet. Zur Benutzung meldet man sich an der RMAN-Shell (analog sqlplus) der entsprechenden DB an.

rman user/password@database

Beispiel: automatisches controlfile-Backup einschalten und RMAN-Standard-Parameter anzeigen

root@server:/root # su - oracle
899 /oracle/bin : restore # rman target /
Recovery Manager: Release 11.2.0.3.0 - Production on Thu Nov 28 18:49:16 2013
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
connected to target database: RESTORE (DBID=3006797119)
RMAN> configure controlfile autobackup on;
using target database control file instead of recovery catalog
old RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters are successfully stored
RMAN> show all;
RMAN configuration parameters for database with db_unique_name RESTORE are:
CONFIGURE RETENTION POLICY TO NONE;
...

Konsistenz

Konsistenzcheck für Datenbank durchführen

run {
allocate channel t1 type 'SBT_TAPE';
 backup validate check logical database;
release channel t1;
}

Auflistung korrupter Blöcke

run {
allocate channel t1 type 'SBT_TAPE';
 blockrecover corruption list;
release channel t1;
}

Backup

Online Backup

Die Oracle Datenbank kann im laufenden Betrieb, also „online“ gesichert werden. Da die Datendateien bei dieser Art der Sicherung nicht konsistent sind, werden zusätzlich die Transaktionslogs benötigt, die von Beginn bis Ende der Sicherung angefallen sind.

  • Vorteil: keine Downtime für Backup nötig
  • Nachteil: für Restore ist zusätzlich Recover der Transaktionlogs nötig
RUN {
ALLOCATE CHANNEL CH1 TYPE 'SBT_TAPE';
ALLOCATE CHANNEL CH2 TYPE 'SBT_TAPE';
 BACKUP
 FULL
  FILESPERSET 1
  FORMAT '%d_%U'
  DATABASE
  INCLUDE CURRENT CONTROLFILE
  PLUS ARCHIVELOG DELETE INPUT
 ;
RELEASE CHANNEL CH1;
RELEASE CHANNEL CH2;
}

Archivelog Backup

Die Transaktionslogs werden i.d.R. mehrmals am Tag gesichert. Sie ermöglichen die Transaktions- oder zeitgenaue Wiederherstellung der DB.

RUN {
configure controlfile autobackup on;
ALLOCATE CHANNEL CH1 TYPE 'SBT_TAPE';
ALLOCATE CHANNEL CH2 TYPE 'SBT_TAPE';
 BACKUP ARCHIVELOG ALL DELETE INPUT;
RELEASE CHANNEL CH1;
RELEASE CHANNEL CH2;
}

Offline Backup

Beim Offline Backup wird die Datenbank zunächst gestoppt und dann wieder im mount-Status hochgefahren. Der Zugriff auf die DB ist damit unterbunden, es fallen keinen Logs an. Das Backup wird durchgeführt und die DB wieder gestartet.

  • Vorteil: keine Logfiles beim Restore nötig, da Datendateien konsistent gesichert werden.
  • Nachteil: Datenbank steht während des Backups nicht zur Verfügung.
RUN {
ALLOCATE CHANNEL CH1 TYPE 'SBT_TAPE';
ALLOCATE CHANNEL CH2 TYPE 'SBT_TAPE';
shutdown immediate
startup mount
 BACKUP
 FULL
  FILESPERSET 1
  FORMAT '%d_%U'
  DATABASE
  INCLUDE CURRENT CONTROLFILE
  PLUS ARCHIVELOG DELETE INPUT
 ;
 sql "alter database open";
RELEASE CHANNEL CH1;
RELEASE CHANNEL CH2;
}

Restore/Recover

Restore/Recover auf letzten Stand

Das ist die einfachste Übung.

run {
allocate channel t1 type 'SBT_TAPE';
allocate channel t2 type 'SBT_TAPE';
 restore database;
 recover database;
release channel t1;
release channel t2;
}

Restore/Recover auf letztmöglichen Stand

Wenn die Transaktionslogs eine Lücke aufweisen oder nicht bis zum letzten Stand vorhanden sind klappt das auch.

Bei jedem unvollständigem Recovery wird eine neue „incarnation“ gestartet! (Oracle Datenbanken kennen die Wiedergeburt und ein neuer Zeitstrahl weist den Weg in die Zukunft.)

run {
allocate channel t1 type 'SBT_TAPE';
allocate channel t2 type 'SBT_TAPE';
 restore database;
 recover database until cancel;
 alter database open resetlogs;
release channel t1;
release channel t2;
}

Point in time Recovery (PITR)

Zurücksichern zu einem bestimmten Zeitpunkt – benötigt wird eine Datenbanksicherung inklusive Transaktionslogs bis zum gewünschten Restore-Zeitpunkt.

run {
allocate channel t1 type 'SBT_TAPE';
allocate channel t2 type 'SBT_TAPE';
 set until time "to_date('Aug 29 2013 09:00:00','Mon DD YYYY HH24:MI:SS')";
 restore database;
 recover database;
 alter database open resetlogs;
release channel t1;
release channel t2;
}

Incarnation

Es soll ein Restore/Recover auf eine frühere „incarnation“ durchgeführt werden. Deshalb zunächst incarnations anzeigen lassen und die passende wählen.

RMAN> list incarnation;
List of Database Incarnations
DB Key  Inc Key DB Name  DB ID            STATUS  Reset SCN  Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1       1       RESTORE  932694316        PARENT  1          19.07.12 14:25:48
2       2       RESTORE  932694316        PARENT  19920014424 03.12.12 15:25:58
3       3       RESTORE  932694316        PARENT  21417911938 31.01.13 20:33:51
5       5       RESTORE  932694316        CURRENT 23333063539 28.05.13 18:59:47
4       4       RESTORE  932694316        ORPHAN  23335379910 28.05.13 12:11:41
RMAN> reset database to incarnation 3;
database reset to incarnation 3
RMAN>

Danach wird wie beim PITR verfahren.

Dump

Ein Dump ist eigentlich kein Backup, sondern ein Export der Tabellen in eine Textdatei in SQL-Syntax.

exp SYSTEM/password FULL=y FILE=Exportdatei.dmp GRANTS=y ROWS=y

EMC Networker / NMDA

Ich benutze zum Sichern von Oracle DBs die Backup Software Networker bzw. das „Networker module for databases“.

Beispiel: Installation Networker/NMDA auf AIX

installp -ac -d/networker/8.0.2.4/aix LGTOnw.clnt.rte
installp -ac -d/networker/8.0.2.4/aix LGTOnw.man.rte
/etc/rc.nsr start
installp -ac -d/networker/nmda1.5.0.1/aix_64 LGTOnmda.rte
su - oracle
cd $ORACLE_HOME/lib
ln -s /usr/lib/libnsrora.a libobk.a
exit
nsroraadmin -r list

Egal welche Backup Software man einsetzt – nach der installation muß die Media-Library libobk verlinkt werden.

Die Konfiguration des Backups läuft dann bei EMC über einen Wizard in der NMC (Networker Management Console).

Dieser Beitrag wurde unter Backup-Grundlagen, howto abgelegt und mit , , , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.