Rejouer les journaux de transaction avec RMAN

Rejouer les journaux de transaction avec RmanRMAN – Recovery MANager – est le seul outil capable de remettre une base de données – une instance – Oracle dans l’état où elle était à une heure définie. L’exemple ci-dessous est réalisé sans catalogue !

Activer le mode archive log

A partir de SQL Developer ou SQL Plus, connecté en SYS ou SYSTEM, vous pouvez vérifier si le mode Archive Log est activé à l’aide de l’une des deux commandes suivantes :

Pour activer le mode archive log, il faut que vous soyez connecté en SYS ou SYSTEM sous SQL Plus pour pouvoir réaliser toutes les commandes :

ALTER SYSTEM SET log_archive_dest_1='location=d:\oracle\flash_recovery_area\orcl\onlinelog' SCOPE=BOTH;
SHUTDOWN IMMEDIATE;
STARTUP MOUNT
ALTER DATABASE ARCHIVELOG; 
ALTER DATABASE OPEN;
ALTER SYSTEM SWITCH LOGFILE;

Le choix de l’emplacement des fichiers « archive log » se déterminent à l’aide du paramètre log_archive_dest_1. Dans l’exemple ci-dessus, il s’agit d’une instance ORACLE s’exécutant sur un système Windows.

Sauvegarde de la base de données

Je définis préalablement un fichier de commandes RMAN, qui s’appelle ici save.cmdfile (sauvegardé dans le répertoire BIN) dans lequel je définis l’emplacement de sauvegarde, la politique de rétention et la sauvegarde du fichier de contrôle :

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'd:\rman\cf-%F';
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; 
CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT 'd:\rman\bk-%d-%I-%t';
BACKUP DATABASE PLUS ARCHIVELOG;

La dernière ligne de commande permet la sauvegarde de la base ainsi que celle des fichiers archive log.

Pour lancer la sauvegarde, je tape à partir du répertoire BIN (vous pouvez aussi faire un fichier batch) :

rman target / cmdfile save.cmdfile

Et surtout, la restauration !

J’ai créé un fichier resto.cmdfile dont le contenu permet de restaurer la base dans l’état où elle était à 12 h 59. Il faut reprendre les mêmes options que celles utilisées au niveau de la sauvegarde !!!

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'd:\rman\cf-%F';
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; 
CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT 'd:\rman\bk-%d-%I-%t';
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
RUN
{
  SET UNTIL TIME "TO_DATE('2015-04-01 12:59:00','YYYY-MM-DD HH24:MI:SS')";
  RESTORE DATABASE;
  RECOVER DATABASE;
  ALTER DATABASE OPEN RESETLOGS;
}

Pour lancer la restauration à partir du répertoire BIN, tapez la commande :

rman target / cmdfile resto.cmdfile

Base de données  / Oracle Oracle Database 

Commentaires

Pas encore de commentaire.

Laisser un commentaire

(requis)

(requis)