You are on page 1of 46

Cours RMAN

10 aot 2004

COURS RMAN
SBASTIEN MENUET
JULES MAK-PO-PAN

223560082.doc

Page 1/46

Cours RMAN

10 aot 2004

SOMMAIRE :
SOMMAIRE :................................................................................................................................2
INTRODUCTION..........................................................................................................................5
Les champs dactions de RMAN.............................................................................................................5
Le vocable RMAN...................................................................................................................................5
Les composants RMAN...........................................................................................................................6
CONFIGURATION.......................................................................................................................7
Installation...............................................................................................................................................7
Pr-requis.............................................................................................................................................7
Utilisation du fichier de contrle.............................................................................................................8
Connexion sans catalog.......................................................................................................................8
Autres arguments.................................................................................................................................8
Paramtre dutilisation du fichier de contrle......................................................................................8
Allocation de canal:.............................................................................................................................8
Dsallouer les canaux:.........................................................................................................................9
Commandes de RMAN:.......................................................................................................................9
Utilisation du catalogue ..........................................................................................................14
Introduction............................................................................................................................................14
Cration du catalogue............................................................................................................................14
Cration dun tablespace ddi..........................................................................................................14
Cration du user.................................................................................................................................14
Cration du catalogue........................................................................................................................15
Enregistrement de la base de donnes dans le catalogue.......................................................................15
Connexion avec catalog.........................................................................................................................15
Gestion du catalogue..............................................................................................................................15
Incarnation.............................................................................................................................................15
Scripts stockes......................................................................................................................................16
Cration de script...............................................................................................................................16
Excution de script.............................................................................................................................17
Modifier un script..............................................................................................................................17
Suppression de script.........................................................................................................................17
Affichage de script.............................................................................................................................17
SAUVEGARDE...........................................................................................................................18
Introduction:...........................................................................................................................................18
La commande BACKUP:......................................................................................................................20
Multiplexage......................................................................................................................................21
Paralllisme........................................................................................................................................21
Jeu de sauvegardes duplexes............................................................................................................22
Sauvegarde des jeux de sauvegardes.................................................................................................22
Sauvegarde des fichiers de journalisation archivs ..........................................................................22
Sauvegardes Incrmentielles..............................................................................................................22
Sauvegarde en mode noarchivelog....................................................................................................23
La commande COPY.............................................................................................................................23
Caractristiques:.................................................................................................................................23
223560082.doc

Page 2/46

Cours RMAN
10 aot 2004
RESTAURATION: ....................................................................................................................24
Restauration complte:..........................................................................................................................24
Restauration vers un nouvel emplacement des fichiers de donnes;.................................................24
Restauration dun tablespace.............................................................................................................25
Transfert un tablespace a laide de RMAN........................................................................................25
Restauration incomplte :......................................................................................................................25
Restauration avec la commande UNTIL TIME.................................................................................25
Restauration avec la commande UNTIL SEQUENCE .....................................................................26
Restauration du controlfile.................................................................................................................26
MAINTENANCE:........................................................................................................................27
Vrification des sauvegardes et des copies .......................................................................................27
Suppression de sauvegardes et de copies...........................................................................................27
Modification de la disponibilit.........................................................................................................28
Sortir une sauvegarde de la rgle de conservation.............................................................................28
Enregistrer dans le catalogue des sauvegardes utilisateur.................................................................28
Supprimer des enregistrements du catalogue.....................................................................................29
ANNEXE A : RAPPEL SUR LES SAUVEGARDES ET RESTAURATIONS SANS RMAN:. . .30
Introduction:...........................................................................................................................................30
Import/Export:.......................................................................................................................................30
Description.........................................................................................................................................30
L'export .............................................................................................................................................30
L'import..............................................................................................................................................30
Protection...........................................................................................................................................31
Sauvegarde des bases en mode noarchivelog:.......................................................................................31
Description.........................................................................................................................................31
Sauvegarde.........................................................................................................................................31
Restauration.......................................................................................................................................31
Protection...........................................................................................................................................31
Sauvegarde des bases en mode archivelog :..........................................................................................31
Description.........................................................................................................................................31
Sauvegarde.........................................................................................................................................31
Restauration.......................................................................................................................................32
Protection...........................................................................................................................................32
Stratgie de sauvegarde Online:.............................................................................................32
Introduction:...........................................................................................................................................32
Scnario type:........................................................................................................................................32
Les scnarios de restauration d'une base oracle en mode archivelog: ............................34
Introduction:...........................................................................................................................................34
Complexit des scnarios:.....................................................................................................................34
Les scnarios couverts par une sauvegarde Online:..............................................................................34
Pourquoi effectue-t-on un resetlogs:......................................................................................................36
Les actions dun RESETLOGS.........................................................................................................36
Dans quel cas utilise t-on cette option ?.............................................................................................36
ANNEXE B : SCENARII.............................................................................................................37
Scnario : Perte d'un "DATAFILE" (non SYSTEM, non UNDO)........................................................37
Scnario : Perte d'UN "DATAFILE" SYSTEM...................................................................................37
223560082.doc

Page 3/46

Cours RMAN
10 aot 2004
Scnario : Perte d'un DATAFILE" UNDO.........................................................................................37
Scnario : Perte de tous les CONTROLFILE ..................................................................................37
Scnario : Problme lors d'une sauvegarde base ouverte......................................................................38
Scnario : Perte d'un datafile sans backup prealable.............................................................................38
Scnario : Perte d'un groupe de redo log ACTIF...................................................................................38
Scnario : Perte de tous les "CONTROLFILE" ( partir des "CONTROLFILE" de backup)..............39
Scnario : Perte d'un groupe de "REDO" inactif...................................................................................39
Scnario : Perte d'un support (disque)...................................................................................................39
Scnario : Perte d'un fichier de donnes et d'un redo log archive..........................................................39
Scnario : Perte d'un fichier de donnes non essentiel..........................................................................40
ANNEXE C : Trucs et astuces.................................................................................................41
Configurer la sauvegarde automatique du controlfile............................................................................41
Backup total...........................................................................................................................................41
Restauration et rcupration du tablespace user....................................................................................41
Transfrer un datafile dun filesystem vers un autre et recupere le TBS...............................................42
Rcupration incomplte jusquau dernier fichier de journalisation correcte.......................................42
Rcupration de la structure de la base..................................................................................................42
Lister les backups et vrifier ltat des fichiers.....................................................................................42
Lister les fichiers expirs.......................................................................................................................44
Backup de datafile ................................................................................................................................45
Backup des archivelogs a partir dune date...........................................................................................45
Valider la suppression non rman des fichiers de journalisation archivs..............................................45
Restauration incrementale avec saut de datafile read only....................................................................45
Utilisation dun tag................................................................................................................................45
Enlever une base du catalogue...............................................................................................................45

223560082.doc

Page 4/46

Cours RMAN

10 aot 2004

INTRODUCTION
RMAN est un outil de sauvegarde a chaud de base de donnes Oracle et bien sur de restoration.

Les champs dactions de RMAN

Sauvegarder la base de donnes, les tablespaces, les fichiers de donnes, les fichiers de
contrles et les journaux archivs

Stocker les oprations de sauvegarde et de rcupration excutes frquemment

Effectuer une sauvegarde incrmentielle au niveau des blocs

Sauter les blocs inutiliss

Prciser les limites pour les sauvegardes

Dtecter les blocs endommags au cours de la sauvegarde


(V$BACKUP_CORRUPTION et V$COPY_CORRUPTION)

Augmenter les performances :

Lexcution automatique en parallle


La rduction du nombre denregistrements de journalisation
La rduction du nombre dE/S pour les sauvegardes
La transmission en continu sur bande

Grer les tches de sauvegarde et de rcupration

Le vocable RMAN
Le controlfile : Fichier contenant la description physique de linstance. Ses fichiers de donnes, ses
fichiers de redo et son controlfile.
La recovery : Etape succdant la restauration des fichiers qui consiste rcuprer les donnes au plus
prs du crash.
L incarnation : Une version de linstance une date donne.
Le SCN : Le Sequence Chnage Number, le numro de mise jour dun fichier de donne (cf
v$datafile_header colonne )
Le fichier sauvegarder ou container est un fichier FIFO (ou le container) dans /tmp de la taille du
DB_BLOCK_SIZE. Ce fichier porte le nom du fichier qui sera sauvegard sur bande.
La balise permet RMAN de se situer un container dans le temps. Un balise (TAG en anglais)
regroupe 1 n SCN et 1 n Squence darchievlog.

223560082.doc

Page 5/46

Cours RMAN

10 aot 2004

Les composants RMAN


Station
Cliente
Session
Serveur
interrrogation

Recovery
Manager

Base de donnes cibles

Session
Serveur
Rvcat
Session
Serveur
Canal

Session
Serveur
Canal

Session
Serveur
Canal

Session
Serveur
(par
dfaut)

MML

c
Base de donnes du catalog

Sessions serveur : Process unix


Canal : connexion avec la base de donnes cible
Interrogation : processus connect la cible pour localiser la fin des appels RPC
MML : Mdia Management Library, permet la sauvegarde et la restauration vers les systmes de
stockage

223560082.doc

Page 6/46

Cours RMAN

10 aot 2004

CONFIGURATION
Installation
Pr-requis
Scuriser la connexion sur la base de donnes cible (target)
Cration dun fichier password
orapwd

file=orapwSID password=password entries=n

Fichier init.ora
Mettre le paramtre remote_login_passwordfile= exclusive
Autorise des utilisateurs AUTRES que SYS et SYSTEM se connecter en tant que SYSDBA ou
SYSOPER.
Crer un user oracle avec le privilge SYSDBA
create user rman identified by rman ;
grant sysdba to rman;

RMAN et le PARALLELISME utilise la LARGE_POOL pensez donc le paramtrer de faon


avoir AU MOINS le double du DB_BLOCK_BUFFER (Ou DB_CACHE_SIZE)

223560082.doc

Page 7/46

Cours RMAN

10 aot 2004

Utilisation du fichier de contrle


Connexion sans catalog
Sur le serveur RMAN
Loption NOCATALOG est par dfaut (sous 9i). La commande ci-dessous est quivalente un >rman
tout court sous 9i.
rman / nocatalog

Sur un client
rman / rman/rman@CATAL nocatalog

Autre mthode
rman nocatalog
RMAN> connect target rman/rman@<SID_CIBLE>

Autres arguments
rman / nocatalog log <chemin>/fichier.log

Pratique lorsquon veut garder la traces des commandes excutes sous RMAN. En effet il ny a pas
doption quivalente au SPOOL du SQLPLUS.
Suivit de APPEND : indique que le nouveau message doit tre ajout a la fin du fichier de log
rman / nocatalog log <chemin>/fichier.log APPEND

On peut aussi lancer RMAN avec un script RMAN, utile dans un shell ou un Cron.
RMAN CATALOG=<Catal> rman/rman@<Catal> CMDFILE = <chemin>/fichier.rman

Equivaut aussi (Depuis la 8i) :

RMAN CATALOG=<Catal> rman/rman@<Catal> @/<chemin>/fichier.rman

Paramtre dutilisation du fichier de contrle


Quand on nutilise pas de catalogue, le rfrentiel de RMAN est stocke dans le fichier de contrle de la
base de donnes cible. Ce rfrentiel est constitu de mtadonnes concernant la base de donnes cible
et les oprations de sauvegarde et de restauration.
Le paramtre CONTROL_FILE_RECORD_KEEP_TIME dfinit le nombre minimum de jours durant
laquelle les informations sont stockes dans le fichier de contrle avant dtre crases.

Allocation de canal:
Un canal reprsente un flux de donnes vers un priphrique.
On peut soit les allouer manuellement soit automatiquement.
Lallocation manuelle est prioritaire sur lallocation automatique.

223560082.doc

Page 8/46

Cours RMAN
10 aot 2004
Allocation automatique (par dfaut)
Cette allocation se base sur un DEVICE par DEFAUT quil faut dfinir. Sil nest pas dfinit le device
par dfaut est le disque.
RMAN>CONFIGURE DEFAULT DEVICE TYPE TO sbt ;

Nb : La commande show default device type; liste le device par dfaut.


Le paralllisme
Le degr de paralllisme rman combien de sauvegardes il peut faire simultanment. Ceci quivaut
une allocation automatique de canaux multiples :
RMAN> CONFIGURE

DEVICE TYPE DISK PARALLELISM 2 FORMAT /<chemin>/%U;

Equivaut :
RMAN> ALLOCATE CHANNEL disk1 DEVICE TYPE disk_1 FORMAT /<chemin>/%U;
RMAN> ALLOCATE CHANNEL disk2 DEVICE TYPE disk_2 FORMAT /<chemin>/%U;

Les options
/<chemin>/%U ;

RMAN> CONFIGURE

CHANNEL DEVICE TYPE DISK FORMAT =

RMAN> CONFIGURE

CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2G ;

Allocation manuelle
RMAN> run {
ALLOCATE CHANNEL c1 TYPE disk ;
BACKUP .................;}

la vue V$BACKUP_DEVICE permet didentifier les types de priphrique pris en charge.

Dsallouer les canaux:


RMAN> run {
2> .............
3> .................
4> RELEASE CHANNEL c1;}

Commandes de RMAN:
Les commandes RMAN sont soit directes (List backup of archivelog) ou
RUN
Commande de travail
RMAN> RUN {
> backup
> incremental level 0
> format /<chemin>/%d_%s_%p
> FILESPERSET 5
> (database include current controlfile);
223560082.doc

Page 9/46

Cours RMAN

10 aot 2004

> sql alter system archive log current;}

La commande CONFIGURE
La commande configure permet de configurer les paramtres permanents
Configuration des canaux automatiques
RMAN >CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT /<chemin>/%U ;

Politique de rtention en prcisant une priode de rcupration


RMAN>CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS ;

Dans lexemple ci-dessus la priode de rcupration est fixe 7j. Cest--dire quen cas de crash la date
la plus ancienne o RMAN pourra restaurer se situe 7j plus tt.
Politique de rtention par redondance
Permet de conserver pas plus dun certain nombre de sauvegarde ou copies (par dfaut 1).
RMAN>CONFIGURE RETENTION POLICY TO REDUNDANCY 1 ;

Dans lexemple ci-dessus on garde au moins 1 copie dun jeu de sauvegarde.


Ainsi sous DECLAMAJ la politique de rtention est :
CONFIGURE RETENTION POLICY TO REDUNDANCY 1;

Voir le rsultat du report obsolete .


Nb : les deux rgles de conservation sexcluent mutuellement
Configuration des jeux de sauvegarde duplexs
RMAN permet jusqu quatre copies de chaque lment de sauvegarde
RMAN> CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE disk TO 2;

Configuration de loptimisation de la sauvegarde


Dans le cas dune sauvegarde incrmentale, RMAN scanne chaque blocs dun fichier de donnes afin de
ne sauvegader que les blocs modifies depuis la dernires sauvegarde.
Loption de sauvegarde, OPTIMIZATION ON vite ce scan car ces informations sont notes dans le
dictionnaire Oracle. Cette option indique RMAN de rcuprer ces informations dans le dictionnaire, de
comparer avec sa dernire sauvegarde et de dcider ou non sa sauvegarde.
RMAN>CONFIGURE BACKUP OPTIMIZATION ON.

Rtablissement des valeurs par dfaut


RMAN>CONFIGURE RETENTION POLICY CLEAR ;
RMAN>CONFIGURE CHANNEL DEVICE TYPE sbt CLEAR ;

La commande SHOW
Affiche les paramtres de configuration persistants
223560082.doc

Page 10/46

Cours RMAN
Affiche tous les paramtres
RMAN>SHOW
CONFIGURE
CONFIGURE
CONFIGURE
CONFIGURE
CONFIGURE
CONFIGURE
CONFIGURE
CONFIGURE
CONFIGURE
CONFIGURE
CONFIGURE
CONFIGURE
CONFIGURE
CONFIGURE
default

10 aot 2004

ALL ;
RETENTION POLICY TO REDUNDANCY 1; # default
BACKUP OPTIMIZATION OFF;
DEFAULT DEVICE TYPE TO 'SBT_TAPE';
CONTROLFILE AUTOBACKUP OFF;
CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F'; # default
CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
DEVICE TYPE SBT_TAPE PARALLELISM 1; # default
DEVICE TYPE DISK PARALLELISM 1; # default
DATAFILE BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
MAXSETSIZE TO UNLIMITED; # default
SNAPSHOT CONTROLFILE NAME TO '/oracle/ora920/dbs/snapcf_SILOPOPU.f'; #

Les paramtres de configuration des canaux automatiques


RMAN>SHOW CHANNEL ;
RMAN>SHOW DEVICE TYPE ;
RMAN>SHOW DEFAULT DEVICE TYPE ;

Les paramtres de configuration de la rgle de conservation de rman


RMAN> show retention policy;
lancement de la resynchronisation complte du catalogue de rcupration
resynchronisation complte termine
paramtres de configuration RMAN :
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
RMAN>

Le nombre de copie de sauvegarde


RMAN> RMAN> SHOW DATAFILE BACKUP COPIES ;
paramtres de configuration RMAN :
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
RMAN>

La taille maximale des jeux de sauvegarde


RMAN> SHOW MAXSETSIZE;
paramtres de configuration RMAN :
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
RMAN>
223560082.doc

Page 11/46

Cours RMAN
10 aot 2004
Les tablespaces exclus des sauvegardes totales de la base de donnes
RMAN> SHOW EXCLUDE ;
paramtres de configuration RMAN :
la configuration RMAN n'a pas de paramtres stocks, ni de paramtres par dfaut
RMAN>

Ltat doptimisation de la sauvegarde


RMAN> SHOW BACKUP OPTIMIZATION ;
paramtres de configuration RMAN :
CONFIGURE BACKUP OPTIMIZATION OFF;
RMAN>

La commande LIST
Comment lire le rsultat des commandes LIST :
Cl d'lment de sauvegarde : 19
Statut : AVAILABLE
Balise : BASE HOT L0
Nom d'lment : /opalebackup/sauv_BOREAxxx_0jfuflpk_1_1.bckp
Liste des fichiers de donnes dans l'ensemble de sauvegarde 19
Fichier LV Type SCN Ckp
Heure Ckp Nom
---- -- ---- ---------- --------- ---1
0 Incr 878935
27/08/04 /opale/oradata/BOREA/SYSTEM01.dbf
2
0 Incr 878935
27/08/04 /opale/oradata/BOREA/UNDO01.dbf
3
0 Incr 878935
27/08/04 /opale/oradata/BOREA/OPALETABLES.dbf
4
0 Incr 878935
27/08/04 /opale/oradata/BOREA/OPALEINDEX.dbf
5
0 Incr 878935
27/08/04 /opale/oradata/BOREA/OPALEBLOB.dbf

Cl de llment de sauvegarde : En anglais le BackupSet, cest ce chiffre quil faut faire rfrence lors
dun crosscheck.
Liste des sauvegardes
Liste les sauvegardes de tous les fichiers de la base de donnes qui ont t sauvegardes :
RMAN> LIST BACKUP OF DATABASE ;

Liste tous les jeux de sauvegardes contenant le fichier de donnes fichier_donnes.dbf :


RMAN> LIST BACKUP OF DATAFILE fichier_donnes.dbf;

Liste toutes les copies des fichiers de donnes du tablespace SYSTEM


RMAN>LIST COPY OF TABLESPACE SYSTEM;

La commande REPORT
Cette commande permet de gnrer un certain nombre dtat a partir du rfrentiel
223560082.doc

Page 12/46

Cours RMAN
Report Schema
Liste les tablespaces de la base cible (TARGET) sauvegarder

10 aot 2004

RMAN> report schema;


utilisation du fichier de contrle de la base de donnes cible au lieu du catalogue
de rcupration
Etat du schma de base de donnes
Fichier Ko
Tablespace
Segs RB Nom de fichier de donnes
------- ------- -------------------- ------- --------------------------1
262144 SYSTEM
***
/opale/oradata/BOREA/SYSTEM01.dbf
2
131072 UNDO
***
/opale/oradata/BOREA/UNDO01.dbf
3
131072 OPALE_TABLES
***
/opale/oradata/BOREA/OPALETABLES.dbf
4
65536
OPALE_INDEXES
***
/opale/oradata/BOREA/OPALEINDEX.dbf
5
131072 OPALE_BLOBS
***
/opale/oradata/BOREA/OPALEBLOB.dbf
6
131072 TOOLS
***
/opale/oradata/BOREA/TOOLS01.dbf

Les sauvegardes pouvant tre supprimes


RMAN> REPORT OBSOLETE;

Les fichiers irrcuprables


RMAN> REPORT UNRECOVERABLE;

REPORT NEED BACKUP


Affiche tous les fichiers de donnes qui ncessitent une sauvegarde
On suppose que la sauvegarde la plus rcente est utilise lors dune restauration
RMAN > REPORT NEED BACKUP;
Options de ce report :
RMAN > REPORT NEED BACKUP INCREMENTAL 3;
RMAN > REPORT NEED BACKUP DAYS 3;
RMAN > REPORT NEED BACKUP REDUNDANCY 3;

Incrmental : le nombre maximal de sauvegardes incrmentielles devant tre restaures


Days : le nombre maximal de jours depuis la dernire sauvegarde complte ou incrmentielle
Redundancy : indique le niveau minimum de redondance considr comme ncessaire

223560082.doc

Page 13/46

Cours RMAN

10 aot 2004

Utilisation du catalogue
Introduction
Le catalogue est un rfrentiel facultatif qui contient des informations sur les lments suivants:
Les jeux de sauvegarde et lments de sauvegarde des fichiers de donnes et des fichiers de
journalisation archivs ( ex : date et heure des sauvegarde)
Copie de fichiers de donnes
Fichiers de journalisation archivs
Structure physique de la base de donne cible
Paramtres de configuration persistant de RMAN
Les scripts stocks
Permet la mise en uvre des fonctions suivantes

Metadonnes concernant plusieurs bases cibles dans un catalogue unique


Mtadonnes concernant plusieurs incarnations dune seule base cible
Metadonnes historique
Gnration dtat

Cration du catalogue
Sur la base de donnes hbergeant le catalogue (CATAL)

Cration dun tablespace ddi


create tablespace cattbs
datafile /<Chemin>/xxxx.dbf
size 50M ;

Cration du user
create user rman identified by rman
default tablespace catal_tbs
temporary tablespace temp
quota unlimited on catal_tbs;
grant connect, resource to rman;
grant recovery_catalog_owner to rman;

nota : les privilges du rles :


select privilege from dba_sys_privs
where GRANTEE =RECOVERY_CATALOG_OWNER ;
223560082.doc

Page 14/46

Cours RMAN

10 aot 2004

Cration du catalogue
rman catalog rman/rman
RMAN> create catalog <tablespace XXX> ;
RMAN> exit

Enregistrement de la base de donnes dans le catalogue


rman catalog rman/rman@CATAL target /
RMAN> register database

Connexion avec catalog


rman target / catalog rman/rman@CATAL

Gestion du catalogue
La re-synchronisation
On doit re-synchroniser le catalogue aprs les oprations suivantes:

Ajout ou suppression dun tablespace


Ajout ou suppression dun fichier de donnes
Dplacement dun fichier de base de donnes
Prendre en compte immdiate des derniers archive logs rcents.

RMAN> RESYNC CATALOG ;

Incarnation
Lincarnation de base de donnes est un numro qui permet didentifier la version de la base de donnes
avant la remise zro du numro de squence du journal
On utilise la commande RESET DATABASE pour que:
rman enregistre la nouvelle incarnation dune base de donnes. Cest une alternative la commande
REGISTER DATABASE qui suit la cration dun catalogue
RMAN> RESET DATABASE;

Erreur RMAN :
RMAN-00571:
RMAN-00569:
RMAN-00571:
RMAN-03002:
223560082.doc

===========================================================
=============== ERROR MESSAGE STACK FOLLOWS ===============
===========================================================
failure of configure command at 08/10/2004 16:24:34
Page 15/46

Cours RMAN

10 aot 2004

RMAN-06004: ORACLE error from recovery catalog database: RMAN-20003: target


database incarnation not found in recovery catalog

Cela signifie quil y a une incohrence entre la date la dernire restauration/cration de la base, appele
incarnation et celle rpertorie dans le catalog :
RMAN> list incarnation;
Liste des incarnations de base de donnes
Cl BdD Cl Inc Nom BdD ID BdD
------- ------- -------- ---------------1
47
DECLAMAJ 173205540
1
48
DECLAMAJ 173205540
1
2
DECLAMAJ 173205540

CUR
--YES
NO
NO

SCN rinit.Temps rinit.


---------- ---------1
11/09/03
460656594 29/01/04
468488497 17/02/04

On voit que le catalogue RMAN situe sa dernire restauration le 11/09/03 (Cration ?) alors que la
dernire restoration date dbut Juin 2004.
Il faut donc forcer Rman prendre en compte la dernire restoration (i-e incarnation).
RMAN> reset database;
RMAN> list incarnation;
Liste des incarnations de base de donnes
Cl BdD Cl Inc Nom BdD ID BdD
------- ------- -------- ---------------1
47
DECLAMAJ 173205540
1
48
DECLAMAJ 173205540
1
2
DECLAMAJ 173205540
1
6653
DECLAMAJ 173205540

CUR
--NO
NO
NO
YES

SCN rinit.Temps rinit.


---------- ---------1
11/09/03
460656594 29/01/04
468488497 17/02/04
1040768717 09/06/04

On peut annuler les effets dun RESETLOGS avec la commande


RESET DATABASE TO INCARNATION xx ;

xx sobtient avec la commande LIST INCARNATION OF DATABASE se trouve sous la colonne Cl


Incarnation .

Scripts stockes
Comme les procdures stockes on peut stocker des scripts dans RMAN. (Peu utilis car les dba aiment
bien maitriser leurs scripts)

Cration de script
RMAN> SCRIPT full_backup {
2> BACKUP
3> FORMAT
4> FILESPERSET 5
5> database include current controlfile;
6> SQL alter system archive log current;
7> }
223560082.doc

Page 16/46

Cours RMAN

10 aot 2004

Excution de script
RMAN> run{ execute script full_backup; }

Modifier un script
RMAN> REPLACE SCRIPT full_backup {
...........
FILESPERSET 3
............
}

On doit r-crire la totalit du script

Suppression de script
RMAN> DELETE SCRIPT full_backup;

Affichage de script
RMAN> PRINT SCRIPT full_backup;

223560082.doc

Page 17/46

Cours RMAN

10 aot 2004

SAUVEGARDE
Introduction:
RMAN peut effectuer des sauvegardes

Base ferme

La base de donne est monte (non ouverte)


Elle inclut les fichiers de donnes, les fichiers de contrles et les fichiers de journalisation archivs.

Base ouverte

Les tablespaces ne doivent pas tre mis en mode de sauvegarde


Elle inclut les fichiers de donnes, les fichiers de contrles et les fichiers de journalisation archivs.
Les types de sauvegarde peuvent tre du type
Copie dimage
Il sagit de copies dun fichier de donnes, dun fichier de contrle ou dun fichier de journalisation
archiv. Une copie peut tre effectue par RMAN ou un utilitaire OS
Une copie dimage dun fichier de donnes se compose de tous les blocs du fichier y compris les blocs
inutiliss.

Fich. de
donnes 3

Fich. de
donnes 3

Fich. de
contrle

Fich. de
contrle

Fich. journ.
Archiv

Fich. journ.
Archiv

Copie du fich. de donnes 3

Copie du fich. de contrle

Copie du fich. journ. archiv

Jeux de sauvegarde

223560082.doc

Page 18/46

Cours RMAN

10 aot 2004

Un jeu de sauvegarde peut comprendre un ou plusieurs fichiers de donnes, le fichier de contrle ou des
fichiers de journalisation archivs
Un jeu de sauvegarde peut tre constitu de:
Une sauvegarde complte comprenant un ou plusieurs fichiers tous les blocs contenant des donnes
associes aux fichiers prciss sont sauvegards.
Une sauvegarde incrmentielle des fichiers de donnes comprenant uniquement les blocs qui ont t
modifis depuis la dernire sauvegarde incrmentielle.
Les sauvegardes incrmentielles ncessitent une sauvegarde de base (incrment 0)
Une opration de restauration est ncessaire pour extraire les fichiers dun jeu de sauvegarde
Il ny a pas de bloc inutilis dans les jeux de sauvegarde
Cest la commande BACKUP qui cre le jeu de sauvegarde, le paramtre FILESPERSET contrle le
nombre de donnes quil contient
Un jeu de sauvegarde se compose gnralement dun seul lment de sauvegarde
Un lment de sauvegarde est un fichier physique
On limite sa taille a laide du paramtre MAXPIECESIZE dans la commande CONFIGURE
CHANNEL ou ALLOCATE CHANNEL
RMAN> RUN {
ALLOCATE CHANNEL t1 TYPE SBT
MAXPIECESIZE = 4G ;
BACKUP
FORMAT df_%t_%s_%p FILESPERSET 3
(tablespace USER) ;
}

Nb : On sauvegarde le fichier de contrle laide de la syntaxe INCLUDE CONTROLFILE

223560082.doc

Page 19/46

Cours RMAN

10 aot 2004

La commande BACKUP:
Option
FULL
INCREMENTAL
LEVEL
Integer

FILESPERSET
Integer
SKIP

MAXSETSIZE
Integer
DISKRATIO
Integer
DELETE INPUT
INCLUDE CURRENT
CONTROLFILE
FORMAT
%c
%p
%s
%d
%n
%t
223560082.doc

Dfinition
Copie tous les blocs dans je jeu de sauvegarde en sautant les blocs
jamais utiliss. Ne saute pas les blocs pour des fichiers de
jounalisation ou fichier de contrle
Copie les blocs de donnes qui ont t modifis depuis la dernire
sauvegarde incrmentielle de niveau (de 1 4)
Vrifie quune sauvegarde de niveau 0 ou dun niveau suprieur
xiste
Ne prend pas en charge les fichiers de contrle et les fichiers de
journalisation archivs
Compare la valeur du paramtre une valeur calcule (nombre de
fichiers sauvegards par nombre de canaux) et prend la plus petite
valeur garantissant ainsi lutilisation de tous les canaux
Indique les fichiers de donnes ou les fichiers de journalisation
archivs exclure
Otpions :
offline : exclut les fichiers de donnes offline
readonly : exclut les fichiers de donnes en read only
inaccessible : exclut les fichiers qui ne peuvent tre lus cause
derreur E/S
Indique une taille maximale pour le jeu de sauvegarde en octets
(par dfaut), kilooctects(ko), mgaoctets(Mo), gigaoctets(Go)
rman essaye de limiter tous les jeux de sauvegarde a cette taille
Invite rman affecter uniquement des fichiers de donnes aux jeux
de sauvegarde rpartis sur le nombre indiqu de disques
Supprime les fichiers dentre ds lors que la cration du jeu de
sauvegarde a abouti.
Cr un clich (snapshot) du fichier de contrle en cours et le
place dans chaque jeu de sauvegarde par cette clause
Format du nom de sortie. Les paramtres de format peuvent tre
utiliss sparment ou combins
Indique le numro de copie de llment de sauvegarde dans un
jeu de sauvegarde dont les lments sont duplexs.
Indique que llment dans le jeu de sauvegarde, commence 1
pour chaque jeu de sauvegarde et augmente de 1 chaque cration
dlment de sauvegarde
Indique le numro du jeu de sauvegarde, ce nombre est un
compteur dans le fichier de contrle, qui augmente pour chaque
jeu de sauvegarde
Indique le nom de la base de donnes
Indique le nom de la base de donnes, complt droite par des
caractres x afin datteindre une longueur totale de 8 caractres
Indique lhorodatage du jeu de sauvegarde. Valeur de 4 octets
Page 20/46

Cours RMAN

%u
%U

10 aot 2004
issue du nombre de secondes coules depuis un temps de
rfrence fixe.
Indique un nom de 8 caractres constitu des reprsentations
comprimes du numro du jeu de sauvegarde et de lheure de sa
cration
Prcise un raccourci pratique de %u_%p_%c qui garantit lunicit
des noms de fichier de sauvegarde gnrs (valeur par dfaut)

Multiplexage
Lecture simultane de plusieurs fichiers et les crire dans le mme lment de sauvegarde
On crit n blocs du fichier 1, puis n blocs du fichier 2, puis n blocs du fichier 3, puis n blocs du fichier 1
etc, etc.
Contrler le paramtre FILESPERSET dans la commande BACKUP
Contrler le paramtre MAXOPENFILES des commandes ALLOCATE CHANNEL et CONFIGURE
CHANNEL

Paralllisme
Il est possible de configurer les sauvegardes en parallle en:
a. En allouant manuellement plusieurs canaux
RMAN> run
{
allocate channel c1 type sbt ;
allocate channel c2 type sbt ;
allocate channel c3 type sbt ;
backup
incremental level = 0
format /<chemin>/df_%d_%s_%p.bkp
(datafile 1,4,5 channel c1 tag =DF1)
(datafile 2,3,9 channel c2 tag =DF2)
(datafile 6,7,8 channel c3 tag =DF3);
alter system archive log current ;
}

En affectant une valeur suprieure 1 au paramtre PARALLELISM de la commande configure


RMAN> run
{
set parallelism 3
allocate channel c1 type sbt ;
backup
incremental level = 0
format /<chemin>/df_%d_%s_%p.bkp
(datafile 1,2,3,4,5,6,7,8,9);
alter system archive log current ;
}
223560082.doc

Page 21/46

Cours RMAN
Les 3 canaux seront attribues automatiquement.

10 aot 2004

Jeu de sauvegardes duplexes


On peut crer jusqu' 4 copies identiques de chaque lment de sauvegarde
RMAN> BACKUP COPIES 2 DATAFILES 1 FORMAT /backup1/%U,/backup2/%U;

La commande crer deux copies de la sauvegarde du datafile 1 dans les rpertoires backup1 et backup2.

Sauvegarde des jeux de sauvegardes


On peut sauvegarder les jeux de sauvegarde avec la commande BACKUP BACKUPSET

Sauvegarde des fichiers de journalisation archivs


On peut sauvegarder les fichiers de journalisation archivs avec les commandes
BACKUP ARCHIVELOG
BACKUP .. PLUS ARCHIVELOG
RMAN> BACKUP
FORMAT /chemin/ar_%t_%s_%p
ARCHIVELOG ALL DELETE INPUT ;

Sauvegarde tous les fichiers de journalisation archivs une fois copis ils sont supprims du disque avec
la mention deleted dans la vue V$ARCHIVED_LOG

Sauvegardes Incrmentielles
Sauvegarde incrmentielle diffrentielle
Contient uniquement les blocs modifis par rapport un niveau n ou infrieur

Niveau 0

Niveau 0
Jour Dim

Niveau 0

2
Lun

2
Mar

1
Mer

2
Jeu

2
Ven

2
Sam

0
Dim

RMAN > BACKUP INCREMENTAL level 0 database ;


223560082.doc

Page 22/46

Cours RMAN

10 aot 2004

RMAN > BACKUP INCREMENTAL level 1 database ;


RMAN > BACKUP INCREMENTAL level 2 database ;

Sauvegarde incrmentielle cumulative


Contient uniquement les blocs modifis par rapport un niveau n-1 ou infrieur
Niveau 0

Niveau 0
Jour Dim

Niveau 0

2
Lun

2C
Mar

RMAN > BACKUP INCREMENTAL level

1
Mer

2
Jeu

2C
Ven

2C
Sam

0
Dim

cumulative database ;

Sauvegarde en mode noarchivelog


Arrter la base de donnes
Monter la base de donnes
Excuter la commande BACKUP
Ouvrir la base de donnes

La commande COPY
Caractristiques:
Une copie contient un seul fichier (fichier de donnes, de contrle, de journalisation archive)
Elle ne peut tre crite que sur disque
Elle peut tre utilise immdiatement pour une rcupration sans restauration pralable
RMAN >run {
ALLOCATE CHANNEL c1 TYPE disk ;
COPY
DATAFILE /chemin/Fichier.dbf to /chemin/Fichier1.dbf tag =DF3,
ARCHIVELOG xxx.arc to xxxx.bak;}
RMAN > COPY
DATAFILE 1 TO /backup1/fichier1.dbf,
DATAFILE 2 TO /backup2/fichier2.dbf;
223560082.doc

Page 23/46

Cours RMAN

10 aot 2004

Option NOCHECKSUM pour supprimer lopration de checksum et acclrer le processus de copie.


Option CHECK LOGICAL pour tester les blocs de donnes et dindex
Copie en parallle
RMAN> CONFIGURE DEVICE TYPE disk PARALLELISM 4 ;
COPY
DATAFILE 1 TO /backup/f1.bk,
DATAFILE 2 TO /backup/f2.bk,
DATAFILE 3 TO /backup/f3.bk;

idem avec lallocation de canaux


Nota : si loption CONFIGURE CONTROLFILE AUTOBACKUP est ON rman sauvegarde
automatiquement le fichier de contrle aprs lexcution de la commande COPY

RESTAURATION:
Restauration complte:
Principe:
Restaure les fichiers partir des jeux de sauvegardes ou de copie dimages avec la commande
RESTORE
Rcuprer les fichiers avec la commande RECOVER
RMAN>
RMAN>
RMAN>
RMAN>

STARTUP MOUNT;
RESTORE DATABASE;
RECOVER DATABASE ;
ALTER DATABASE OPEN ;

Nota : dans lexemple les fichiers de contrle sont ok

Restauration vers un nouvel emplacement des fichiers de donnes;


Lopration implique lutilisation dun bloc RUN
On monte la base de donnes
RMAN> STARTUP MOUNT;
RMAN> RUN{
223560082.doc

Page 24/46

Cours RMAN

10 aot 2004

SET NEWNAME for datafile 1 to /<newdir>/xxxx.dbf;


RESTORE DATABASE ;
SWITCH DATAFILE ALL ;
RECOVER DATABASE ;
ALTER DATABASE OPEN ; }

la commande SWITCH enregistre la modification dans le fichier de contrle

Restauration dun tablespace


RMAN> RUN{
2> sql alter tablespace users offline immediate;
3> RESTORE TABLESPACE USERS;
4> RECOVER TABLESPACE USERS;
5> sql alter tablespace users online; }

Transfert un tablespace a laide de RMAN


Lopration implique lutilisation dun bloc RUN
RMAN> RUN{
sql alter tablespace users offline immediate;
SET NEWNAME FOR DATAFILE /<dir>/xxxx.dbfTO /<newdir>/xxxx.dbf;
RESTORE TABLESPACE USERS;
SWITCH DATAFILE 3 ;
RECOVER TABLESPACE USERS;
sql alter tablespace users online;
}

Restauration incomplte :
Restauration avec la commande UNTIL TIME
Positionner la variable denvironnement NLS_DATE_FORMAT et NLS_LANG
Export NLS_LANG = american
Export NLS_DATE_FORMAT = YYYY-MM-DD :HH24:MI:SS

RMAN> RUN {
2> SET UNTIL TIME 2003-10-12:19:44:00;
3> ALTER DATABASE MOUNT;
4> RESTORE DATABASE;
5> RECOVER DATABASE ;
6> ALTER DATABASE OPEN RESETLOGS;
7> }

si on utilise un catalog, on doit effectuer la commande


223560082.doc

Page 25/46

Cours RMAN

10 aot 2004

RMAN> RESET DATABASE ;

Pour enregistrer la nouvelle incarnation de la base de donnes

Restauration avec la commande UNTIL SEQUENCE


RMAN> RUN {
2> SET UNTIL SEQUENCE 120 THREAD 1;
3> ALTER DATABASE MOUNT;
4> RESTORE DATABASE;
5> RECOVER DATABASE ;
6> ALTER DATABASE OPEN RESETLOGS;
7> }

Ici le numro de squence 120 a t perdu

Restauration du controlfile
A partir dun autobackup (Configure controlfile autobackup on ;)
RMAN > STARTUP NOMOUNT ;
RMAN > RESTORE CONTROLFILE FROM AUTOBACKUP ;
RMAN > ALTER DATABASE OPEN;

A partir du catalogue
RMAN > STARTUP NOMOUNT ;
RMAN > RESTORE CONTROLFILE ;
RMAN > ALTER DATABASE OPEN;

Avec recovery
RMAN
RMAN
RMAN
RMAN
RMAN

>
>
>
>
>

STARTUP NOMOUNT ;
RESTORE CONTROLFILE ;
ALTER DATABASE MOUNT;
RECOVER DATABASE;
ALTER DATABASE OPEN RESETLOGS;

Extraction du controlfile dun backup


RMAN> restore CONTROLFILE to /rep/ <FROM AUTOBACKUP>;

223560082.doc

Page 26/46

Cours RMAN

10 aot 2004

MAINTENANCE:

Vrification des sauvegardes et des copies


La commande CROSSCHECK:
Permet de sassurer que les informations du rfrentiel sont synchronises avec les fichiers physiques
Vrifier ltat dune sauvegarde ou dune copie
Mettre jour le rfrentiel en cas de suppression de fichiers
Vrification des sauvegardes:
RMAN> CROSSCHECK BACKUPSET OF DATABASE ;

Vrification des copies


RMAN > CROSSCHECK COPY ;

Si rman ne trouve pas certains fichiers il les marques comme EXPIRED


On peut identifier ces fichiers avec la commande LIST EXPIRED <BACKUPSET/COPY>
Et les supprimer du rfrentiel avec DELETE EXPIRED <BACKUPSET/COPY>

Suppression de sauvegardes et de copies


La commande DELETE
Permet de supprimer les sauvegardes et les copies dimage physiques
Affecte aux lments supprims ltat DELETED
Supprimer des enregistrements du catalogue de restauration
Suppression dun jeu de sauvegarde
RMAN> DELETE BACKUPSET 103 ;

Suppression dune sauvegarde prime sans confirmation


RMAN> DELETE NOPROMPT EXPIRED BACKUP OF TABLESPACE users;

Suppression de toutes les sauvegardes, toutes les copies en fonction de la rgle de conservation
RMAN>DELETE OBSOLETE ;

223560082.doc

Page 27/46

Cours RMAN

10 aot 2004

Modification de la disponibilit
Commande CHANGE.. UNAVAILABLE
On peut passer une sauvegarde ou une copie UNAVAILABLE pour quelle ne soit pas utilise lors de
lexcution dune commande RESTORE ou RECOVER
Modifier ltat dun fichier de donnes
RMAN> CHANGE DATAFILECOPY /xx/bkp/users01.dbf

UNAVAILABLE ;

Modifier ltat dune sauvegarde de fichier de contrle


RMAN> CHANGE BACKUP OF CONTROLFILE

UNAVAILABLE ;

Modifier ltat de fichier de journalisation archiv


RMAN> CHANGE COPY OF ARCHIVELOG SEQUENCE BETWEEN 200 AND 230

UNAVAILABLE ;

Sortir une sauvegarde de la rgle de conservation


On utilise la commande CHANGE.KEEP pour sortir une sauvegarde ou une copie de la rgle
de conservation
CHANGENOKEEP annule cette commande
Sauvegarde jamais prime
RMAN> CHANGE BACKUPSET 123 KEEP FOREVER NOLOGS;

FOREVER : indique que la sauvegarde ou la copie nest jamais prime (marche uniquement avec le
catalogue)
LOGS/NOLOGS : indique si il faut conserver ou non les fichiers de journalisation archivs
ncessaire la restauration de la sauvegarde
Sortir un fichier de donnes des rgles de conservation pendant 60 jours
RMAN> CHANGE DATAFILECOPY /xx/bkp/users01.dbf KEEP UNTIL SYSDATE+60;

Enregistrer dans le catalogue des sauvegardes utilisateur


On utilise la commande CATALOG
RMAN> CATALOG DATAFILECOPY /xx/bkp/users01.dbf;
RMAN> CATALOG ARCHIVELOG /xx/arch/arch01.arc, /xx/arch/arch02.arc;
223560082.doc

Page 28/46

Cours RMAN

10 aot 2004

RMAN> CATALOG CONTROLFILECOPY /xx/bkp/control01.bkp. ;

Supprimer des enregistrements du catalogue


On utilise la commande CHANGE..UNCATALOG;
Elle met jour le rfrentiel. Elle ne supprime pas les sauvegardes ou les copies physiques.
RMAN> CHANGE DATAFILECOPY /xx/bkp/users01.dbf UNCATALOG;
RMAN> CHANGE ARCHIVELOG /xx/arch/arch01.arc, /xx/arch/arch02.arc UNCATALOG;

223560082.doc

Page 29/46

Cours RMAN

10 aot 2004

ANNEXE A : RAPPEL SUR LES SAUVEGARDES ET


RESTAURATIONS SANS RMAN:
Introduction:
Nous allons dcrire les diffrentes mthodes de sauvegarde d'une base de donnes Oracle, ainsi que les
restaurations que l'on pourra effectuer partir de celle-ci.
Une base de donnes Oracle est compose de trois types de fichiers:
Les datafiles : Ils contiennent les objets logiques de la base (tables, indexes, etc. ....).
Les controlfiles : Ils contiennent la description physique de la base.
Les logfiles ( ou redo log ) : fichiers journaux sur lesquels, on enregistre toutes
les
transactions qui s'effectuent sur la base. Ceux-ci peuvent tre archivs.
Deux types de sauvegarde pourront tre effectus:
- Une sauvegarde logique, l'export.
- Une sauvegarde physique des diffrents fichiers.

Import/Export:
Description
L'export permet de raliser une sauvegarde logique des objets d'une base. C'est dire que l'on
sauvegarde la structure de la base et des schmas (DDL) ainsi que le contenu des tables. L'import permet
lui de restaurer tout ou une partie d'un export.

L'export
L'export peut tre effectu en mode ligne de commande ou bien de faon interactive.
Il peut tre de trois types :
- full : On sauvegarde tous les objets de la base structures et donnes.
- table: On sauvegarde une ou plusieurs tables.
- user : On sauvegarde tous les objets d'un utilisateur.
Il existe aussi un mode incrmental qui permet de sauvegarder uniquement les objets modifis depuis la
dernire sauvegarde.

L'import
L'import permet de restaurer:
- La totalit d'une base
- Une ou plusieurs tables
- Les objets d'un utilisateur

223560082.doc

Page 30/46

Cours RMAN

10 aot 2004

Protection
Cette mthode protge de la perte d'un objet logique.
Les inconvnients de cette mthode sont:
- La dure de celle-ci ( 300-500 Mo/heure en sauvegarde, dure double en restauration).
- Les utilisateurs ne peuvent pas accder la base pendant la sauvegarde.
- La restauration est parfois trs dlicate.

Sauvegarde des bases en mode noarchivelog:


Description
Pour effectuer une sauvegarde physique d'une base de donnes en mode noarchivelog (pas d'archivage
des fichiers journaux), on doit effectuer une copie cohrente de tous les fichiers de la base.

Sauvegarde
Base arrte, on sauvegarde tous les fichiers de la base (controlfile, logfile, datafile).

Restauration
Base arrte, on effectue une restauration complte de tous les fichiers.

Protection
Cette mthode ne protge pas de la perte d'un objet logique. Elle garantie la
cohrence physique de la base.
C'est la mthode de sauvegarde et de restauration la plus simple mettre en oeuvre.
En fonction des priphriques, elle peut se rvler particulirement rapide.

Sauvegarde des bases en mode archivelog :


Description
Pour effectuer une sauvegarde physique d'une base de donnes en mode archivelog (mode qui autorise
l'archivage des redo log), on effectue une sauvegarde des datafiles et des controlfiles, sans arrter la base
de donnes. C'est une sauvegarde chaud.

Sauvegarde
On commence par prparer le tablespace que l'on veut sauvegarder.
On effectue alors la sauvegarde des datafiles correspondants aux tablespaces.
On remet le tablespace dans son tat initial.
Pour les controlfiles, on gnrera un fichier de sauvegarde de ceux-ci.
ALTER TABLESPACE T1 BEGIN BACKUP ;
ALTER TABLESPACE T2 BEGIN BACKUP ;
Cpio...
ALTER TABLESPACE T1 END BACKUP ;
ALTER TABLESPACE T2 END BACKUP ;
ALTER DATABASE BACKUP CONTROLFILE TO /chemin/sauve/controlfile.bkp
223560082.doc

Page 31/46

Cours RMAN

10 aot 2004

Restauration
Base arrte, on effectue une restauration des fichiers endommags, puis on applique les journaux
archivs.
Cpio
STARTUP MOUNT ;
RECOVER DATABASE UNTIL CANCEL ;

ALTER DATABASE OPEN RESETLOGS ;

Protection
C'est la plus complexe mettre en oeuvre.
Elle permet de revenir l'instant prcdent la panne, avec pas (ou peu) de perte de donnes.

Stratgie de sauvegarde Online:


Introduction:
Les sauvegardes Online ne peuvent tre effectues que sur des base de donnes en mode archivelog et
que l'archivage automatique des redo log est dmarr.
On peut vrifier ces conditions en utilisant la commande "archive log list" ou en show
parameters

Scnario type:
Sauvegardes sur une semaine :
Lundi
Mardi
Mercredi
Jeudi
Vendredi
Samedi
Dimanche

: Sauvegarde Online
: Sauvegarde Online
: Sauvegarde Online
: Sauvegarde Online
: Sauvegarde Online
:
: Sauvegarde full backup + Purge des journaux archivs

Ce scnario permet de garantir le minimum de perte de donnes. En effet:


- Une sauvegarde Online quotidienne permettra d'effectuer un recouvrement uniquement avec
les journaux gnrs depuis 24h, d'o une restauration rapide.
- La sauvegarde full backup permettra d'avoir une image cohrente de la base dont on pourra
repartir en cas de perte critique des fichiers. On doit garder les journaux archivs entre deux
sauvegarde full backup.

223560082.doc

Page 32/46

Cours RMAN

223560082.doc

10 aot 2004

Page 33/46

Cours RMAN

10 aot 2004

Les scnarios de restauration d'une base oracle en mode


archivelog:
Introduction:
Nous allons dcrire les diffrents scnarios de restauration d'une base oracle en mode archivelog, partir
des diffrents types de perte des fichiers qui la compose.

Complexit des scnarios:


Nous distinguerons les scnarios simples et les scnarios complexes.
Les scnarios simples seront faciles mettre en oeuvre, sans perte de donnes. Les complexes sont ceux
qui demanderont des manipulations plus labores et qui peuvent entraner ventuellement des pertes de
donnes.

Les scnarios couverts par une sauvegarde Online:


Contexte
Il existe une sauvegarde chaud (sauvegarde base ouverte des controfiles et des datafiles)et une froid
(sauvegarde base arrte de tous les fichiers) de la base, ainsi que les journaux archivs.
Tableau rcapitulatif des diffrents scnarios
Type de perte de
fichiers
Un datafile

Complexit

Oprations effectuer

Faible

Tous les datafiles


Un controlfile
Tous les controlfiles

Faible
Faible
Complexe

-On arrte la base


-On remplace la datafile manquant
-On monte la base
-On applique les journaux archivs avec la
commande "recover database"
Idem
On duplique le controlfile restant
-On arrte la base
-On remplace les controlfiles
-On monte la base
-On applique les journaux archivs ainsi
que le redo log courant avec la commande
"recover database using backup
controlfile"
-On effectue un resetlogs lors de la
rouverture de la base
nota : aprs avoir appliqu les journaux
archivs, on applique le redo log courant.
Idem
Alter database clear logfile group

Controlfiles et datafiles Complexe


Perte dun redo logs
223560082.doc

Sauvegarde
utilise
Online

Idem
Aucune
Online

Idem
Idem
Page 34/46

Cours RMAN
non courant

10 aot 2004

Perte du redo logs


courant

Tous les redo logs

Complexe

Datafiles et redo logs


Controlfiles et redo
logs

Complexe
Complexe

Tous les fichiers

Complexe

223560082.doc

drop et recrer le redologs inactif


On recrer un redolog
Alter database clear Unarchived
logfile group 1
ne marche pas toujours, sinon on restaure
les redo logs.
-On arrte la base
-On remplace les datafiles et les redo logs
partir de la sauvegarde
-On monte la base
-On applique les journaux archivs avec la
commande "recover database until
cancel"
-On effectue un resetlogs lors de la
rouverture de la base
Idem
-On arrte la base
-On remplace tous les fichiers
-On monte la base
-On applique les journaux archivs avec la
commande "recover database using
backup controlfile until cancel"
-On effectue un resetlogs lors de la
rouverture de la base
Idem
1

Idem

full backup

Idem
full backup

Idem

Page 35/46

Cours RMAN

10 aot 2004

Pourquoi effectue-t-on un resetlogs:


Les actions dun RESETLOGS
Un ALTER DATABASE OPEN RESETLOGS ; effectue les actions suivantes :
a. Rinitianilise le SCN des enttes de fichiers de donnes.
b. Rinitialise le redo log courant.
En remettant au mme niveau tous les enttes des fichiers de la base on assure la cohrence de celle-ci.

Dans quel cas utilise t-on cette option ?


Lors dune restoration ncessitant un BACKUP CONTROLFILE. : Option USING BACKUP
CONTROLFILE du RECOVER.
Une recovery incomplte : Option UNTIL <scn,date> du RECOVER.
On appelle cela une rcupration incomplte. Puisquelle se fait jusqu annulation par loprateur de la
procdure de rcpration.

223560082.doc

Page 36/46

Cours RMAN

10 aot 2004

ANNEXE B : SCENARII
Scnario : Perte d'un "DATAFILE" (non SYSTEM, non UNDO)
STARTUP MOUNT;
SELECT * FROM V$RECOVER_FILE ;
SELECT * FROM V$DATAFILE;
ALTER DATABASE DATAFILE 3 OFFLINE;
ALTER DATABASE OPEN;
! cp $HOME/BACKUP/u3/users01 $HOME/DATA/u3
SELECT * FROM V$RECOVER_FILE;
RECOVER DATAFILE 3;
SELECT * FROM V$RECOVER_FILE ;
ALTER DATABASE DATAFILE 3 ONLINE;
SELECT tablespace_name,status FROM DBA_TABLESPACES;
Remarque: Cette mthode permet d'ouvrir la base alors qu'un datafile pose problme

Scnario : Perte d'UN "DATAFILE" SYSTEM


STARTUP MOUNT;
SELECT * FROM V$RECOVER_FILE;
! cp /chemin/BACKUP/ul/system01.dbf /chemin/DATA/
RECOVER DATABASE
SELECT * FROM V$RECOVER_FILE;
ALTER DATABASE OPEN;
Remarque: II n'est pas possible d'ouvrir (OPEN) la base sans dictionnaire.

Scnario : Perte d'un DATAFILE" UNDO


STARTUP
SELECT * FROM V$RECOVER FILE;
! cp /chemin/BACKUP/u2/undotbs.dbf /chemin/DATA/
RECOVER DATABASE
SELECT * FROM V$RECOVER_FILE;
ALTER DATABASE OPEN;
Remarque: II n'est pas possible d'ouvrir (OPEN) la base sans TS undo.

Scnario : Perte de tous les CONTROLFILE


(II existe un fichier genr par ALTER DATABASE BACKUP CONTROLFILE TO TRACE)
STARTUP MOUNT
! vi $HOME/ADMIN/UDUMP/u*
Adapter Ie script
@$HOME/ADMIN/UDUMP/u301_ora_633l.trc
SELECT status FROM V$INSTANCE;
223560082.doc

Page 37/46

Cours RMAN

10 aot 2004

Scnario : Problme lors d'une sauvegarde base ouverte


Forcer la base a changer dtat. Puis lister le contenu de V$BACKUP
STARTUP MOUNT
SELECT * FROM V$RECOVER_FILE;
SELECT * FROM V$BACKUP;
ALTER DATABASE END BACKUP;
ALTER DATABASE OPEN;
SELECT * FROM V$BACKUP ;

Scnario : Perte d'un datafile sans backup prealable.


STARTUP MOUNT
SELECT * FROM V$RECOVER_FILE ;
SELECT * FROM V$DATAFILE;
ALTER DATABASE CREATE DATAFILE '$HOME/ORADATA/u01/new01.dbf;
RECOVER DATAFILE' $HOME/ORADATA/u01/new01.dbf;
ALTER DATABASE OPEN;
SELECT * FROM V$RECOVER_FILE ;
SELECT * FROM V$DATAFILE;

Scnario : Perte d'un groupe de redo log ACTIF

223560082.doc

Page 38/46

SHUTDOWN IMMEDIATE
STARTUP MOUNT
! cp-rp $HOME/BACKUP/*.dbf $HOME/ORADATA
! cp-rp $HOME/BACKUP/*.rdo $HOME/ORADATA
SELECT * FROM V$LOG;
RECOVER DATABASE UNTIL CANCEL;
ALTER DATABASE OPEN RESETLOGS.
SHUTDOWN IMMEDIATE
!cp -rp $HOME/ORADATA/u* $HOME/BACKUP

Scnario : Perte de tous les "CONTROLFILE" ( partir des


"CONTROLFILE" de backup)
STARTUP
HOST cp $HOME/BACKUP/u1/ctrl01.dbf $HOME/DATA/ul
RECOVER DATABASE USING BACKUP CONTROLFILE;
specifier le logfile:
$HOME/ORADATA/ARCHIVEl/arch _I.arc
$HOME/ORADATA/ARCHIVEl/arch_2.arc
$HOME/ORADATA/ARCHIVE1/arch_3.arc
$HOME/ORADATAlu3/log01a.rdo
ALTER DATABASE OPEN RESETLOGS;
SHUTDOWN IMMEDIATE
!cp -rp $HOME/ORADATA/u* $HOME/BACKUP

Scnario : Perte d'un groupe de "REDO" inactif


SHUTDOWN IMMEDIATE
STARTUP
ALTER DATABASE ADD LOGFILE GROUP 3
('$HOME/ORADATA/u3/log03a.rdo') size 2M;
ALTER DATABASE DROP LOGFILE GROUP 1;
ALTER DATABASE OPEN;

Scnario : Perte d'un support (disque)


STARTUP MOUNT .
SELECT * FROM V$RECOVER_FILE; 3 SELECT * FROM V$BACKUP;
ALTER DATABASE DATAFILE ' FILE' OFFLINE;
ALTER DATABASE OPEN;
ALTER TABLESPACE TBS OFFLINE IMMEDIATE;
RENAME 'FILE' TO 'DESTINATION FILE';
HOST CP $HOME/BACKUP/DISKx/xxxx.dbf $HOME/DATA/DISKx/xxx.dbf
RECOVER TABLESPACE TBS.
ALTER TABLESPACE TBS ONLINE;

Scnario : Perte d'un fichier de donnes et d'un redo log archive


A) identification du redo log archiv qui manque:
HOST CP $HOME/BACKUP/DISKx/xxxx.dbf $HOME/DATA/DISKx/xxx.dbf
STARTUP MOUNT
RECOVER DATABASE

Taper cancel lors de la suggestion du redo log archive qui manque.


B) restauration de la base:
SHUTDOWN IMMEDIATE
STARTUP MOUNT
HOST CP-rp $HOME/BACKUP/*.dbf $HOME/ORADATA
RECOVER DATABASE UNTIL CANCEL;
ALTER DATABASE OPEN RESETLOGS.
SHUTDOWN IMMEDIATE
CP -rp $HOME/ORADATA/lu* $HOME/BACKUP

Scnario : Perte d'un fichier de donnes non essentiel


STARTUP MOUNT
SELECT * FROM V$RECOVER_FILE;
ALTER DATABASE DATAFILE ' FILE' OFFLINE;
ALTER DATABASE OPEN;
DROP TABLESPACE 'TBS' INCLUDING CONTENTS;
CREATE TABLESPACE INDX DATAFILE 'FILE' size 500k;
@$HOME/SCRIPTS/index.sql

ANNEXE C : Trucs et astuces


Tester le canal SBT_TAPE en utilisant linterface par dfaut doracle. Utile pour vrifier quil
na pas de problme avec rman et valider le script.
RMAN> run {
2> allocate channel c1 type 'SBT_TAPE'
3> PARMS="SBT_LIBRARY=oracle.disksbt,ENV=(BACKUP_DIR=/tmp/backup)";
4> backup datafile 1 format 'JUL%U';
5> }
canal affect : c1
canal c1 : sid=23 typedev=SBT_TAPE
canal c1 : WARNING: Oracle Test Disk API
Dmarrage de backup dans 23/08/04
canal c1 : dmarrage de l'ensemble de sauvegarde du fichier de donnes full
canal c1 : insertion du fichier de donnes dans l'ensemble de sauvegarde
fichier de donnes en entre fno=00001
nom=/opale/oradata/BOREA/SYSTEM01.dbf
canal c1 : dmarrage de l'lment 1 dans 23/08/04
canal c1 : lment 1 termin dans 23/08/04
descripteur d'lment=JUL08fu5kni_1_1 commentaire=API Version 2.0,MMS
Version 8.1.3.0
canal c1 : ensemble de sauvegarde termin, temps coul : 00:00:07
Fin de backup dans 23/08/04
Dmarrage de Control File Autobackup dans 23/08/04
descripteur d'lment=c-2469470182-20040823-00 commentaire=API Version
2.0,MMS Version 8.1.3.0
Fin de Control File Autobackup dans 23/08/04
canal libr : c1

Configurer la sauvegarde automatique du controlfile


RMAN> configure controlfile autobackup format for device type disk to
$HOME/xxx /%F.bck;
RMAN>configure controlfile autobackup on;

Backup total
RMAN>backup database format chemin/df_%d_%s;

Restauration et rcupration du tablespace user


RMAN>
RMAN>
RMAN>
RMAN>

startup mount ;
restore tablespace users ;
recover tablespace users ;
alter database open ;

Transfrer un datafile dun filesystem vers un autre et recupere le


TBS
RMAN> startup mount ;
run {
set newname for datafile 3 to /newfilesystem/users01.df ;
restore tablespace users ;
switch datafile all ;
recover tablespace users ;
sql alter database open ;
}

Rcupration incomplte jusquau dernier fichier de journalisation


correcte
run {
Set until sequence 2 thread 1 ;
restore database ;
recover database;
}
RMAN> alter database open resetlogs;

Rcupration de la structure de la base


RMAN>REPORT SCHEMA ;

Lister les backups et vrifier ltat des fichiers


RMAN> LIST BACKUP ;
Liste des ensembles de sauvegarde
===================
Cl BS Taille
Type d'unit Temps coul Heure d'excution
------- ---------- ----------- ------------ ----------------1
47M
DISK
00:00:04
05/08/04
Cl d'lment de sauvegarde : 1
Statut : AVAILABLE
Balise :
BASE HOT L0
Nom d'lment : /oracle/ora920/dbs/01fsm810_1_1
Liste des journaux archivs dans l'ensemble de sauvegarde 1
Thread Sq
Plus petit SCN
Heure de chgt. de redo log SCN suivant
Prochaine fois
---- ------- ---------- -------------------------- ---------- --------1
16
48652
28/07/04
73717
29/07/04
1
17
73717
29/07/04
193146
02/08/04
1
18
193146
02/08/04
288502
05/08/04
1
19
288502
05/08/04
289077
05/08/04
1
20
289077
05/08/04
289087
05/08/04
Cl BS Type Taille LV
Type d'unit Temps coul Heure d'excution
------- ---- -- ---------- ----------- ------------ ----------------2
Incr 0 190M
DISK
00:00:27
05/08/04
Cl d'lment de sauvegarde : 2
Statut : AVAILABLE
Balise :
BASE HOT L0
Nom d'lment : /oracle/ora920/dbs/02fsm818_1_1
Fichier de contrle inclus : SCN Ckp : 289089
Ckp temps : 05/08/04

Liste des fichiers de donnes dans l'ensemble de sauvegarde 2


Fichier LV Type SCN Ckp
Heure Ckp Nom
---- -- ---- ---------- --------- ---1
0 Incr 289090
05/08/04 /opale/oradata/BOREA/SYSTEM01.dbf
2
0 Incr 289090
05/08/04 /opale/oradata/BOREA/UNDO01.dbf
3
0 Incr 289090
05/08/04 /opale/oradata/BOREA/OPALETABLES.dbf
4
0 Incr 289090
05/08/04 /opale/oradata/BOREA/OPALEINDEX.dbf
5
0 Incr 289090
05/08/04 /opale/oradata/BOREA/OPALEBLOB.dbf
6
0 Incr 289090
05/08/04 /opale/oradata/BOREA/TOOLS01.dbf
Cl BS Taille
Type d'unit Temps coul Heure d'excution
------- ---------- ----------- ------------ ----------------3
2K
DISK
00:00:01
05/08/04
Cl d'lment de sauvegarde : 3
Statut : AVAILABLE
Balise :
BASE HOT L0
Nom d'lment : /oracle/ora920/dbs/03fsm82c_1_1
Liste des journaux archivs dans l'ensemble de sauvegarde 3
Thread Sq
Plus petit SCN
Heure de chgt. de redo log SCN suivant
Prochaine fois
---- ------- ---------- -------------------------- ---------- --------1
21
289087
05/08/04
289105
05/08/04
Cl BS Taille
Type d'unit Temps coul Heure d'excution
------- ---------- ----------- ------------ ----------------4
40K
DISK
00:00:01
05/08/04
Cl d'lment de sauvegarde : 4
Statut : AVAILABLE
Balise :
BASE HOT L0
Nom d'lment : /opalebackup/sauv_BOREAxxx_04fsmass_1_1.bckp
Liste des journaux archivs dans l'ensemble de sauvegarde 4
Thread Sq
Plus petit SCN
Heure de chgt. de redo log SCN suivant
Prochaine fois
---- ------- ---------- -------------------------- ---------- --------1
22
289105
05/08/04
290065
05/08/04
Cl BS Type Taille LV
Type d'unit Temps coul Heure d'excution
------- ---- -- ---------- ----------- ------------ ----------------5
Incr 0 189M
DISK
00:00:21
05/08/04
Cl d'lment de sauvegarde : 5
Statut : AVAILABLE
Balise :
BASE HOT L0
Nom d'lment : /opalebackup/sauv_BOREAxxx_05fsmasu_1_1.bckp
Liste des fichiers de donnes dans l'ensemble de sauvegarde 5
Fichier LV Type SCN Ckp
Heure Ckp Nom
---- -- ---- ---------- --------- ---1
0 Incr 290066
05/08/04 /opale/oradata/BOREA/SYSTEM01.dbf
2
0 Incr 290066
05/08/04 /opale/oradata/BOREA/UNDO01.dbf
3
0 Incr 290066
05/08/04 /opale/oradata/BOREA/OPALETABLES.dbf
4
0 Incr 290066
05/08/04 /opale/oradata/BOREA/OPALEINDEX.dbf
5
0 Incr 290066
05/08/04 /opale/oradata/BOREA/OPALEBLOB.dbf
6
0 Incr 290066
05/08/04 /opale/oradata/BOREA/TOOLS01.dbf
Cl BS Taille
Type d'unit Temps coul Heure d'excution
------- ---------- ----------- ------------ ----------------6
2K
DISK
00:00:01
05/08/04
Cl d'lment de sauvegarde : 6
Statut : AVAILABLE
Balise :
BASE HOT L0
Nom d'lment : /opalebackup/sauv_BOREAxxx_06fsmatn_1_1.bckp
Liste des journaux archivs dans l'ensemble de sauvegarde 6

Thread Sq
Plus petit SCN
Heure de chgt. de redo log SCN suivant
Prochaine fois
---- ------- ---------- -------------------------- ---------- --------1
23
290065
05/08/04
290077
05/08/04
Cl BS Type Taille LV
Type d'unit Temps coul Heure d'excution
------- ---- -- ---------- ----------- ------------ ----------------7
Full
1M
DISK
00:00:00
05/08/04
Cl d'lment de sauvegarde : 7
Statut : AVAILABLE
Balise :
Nom d'lment : /opalebackup/CF_BOREAxxx_c-2469470182-2004080500.bckp
Fichier de contrle inclus : SCN Ckp : 290077
Ckp temps : 05/08/04
Cl BS Type Taille LV
Type d'unit Temps coul Heure d'excution
------- ---- -- ---------- ----------- ------------ ----------------8
Full
112M
SBT_TAPE
00:00:06
23/08/04
Cl d'lment de sauvegarde : 8
Statut : AVAILABLE
Balise :
TAG20040823T154034
Nom d'lment : JUL08fu5kni_1_1
Liste des fichiers de donnes dans l'ensemble de sauvegarde 8
Fichier LV Type SCN Ckp
Heure Ckp Nom
---- -- ---- ---------- --------- ---1
Full 770914
23/08/04 /opale/oradata/BOREA/SYSTEM01.dbf
Cl BS Type Taille LV
Type d'unit Temps coul Heure d'excution
------- ---- -- ---------- ----------- ------------ ----------------9
Full
1M
SBT_TAPE
00:00:00
23/08/04
Cl d'lment de sauvegarde : 9
Statut : AVAILABLE
Balise :
Nom d'lment : c-2469470182-20040823-00
Fichier de contrle inclus : SCN Ckp : 770916
Ckp temps : 23/08/04
RMAN> allocate channel for maintenance type disk;
canal affect : ORA_MAINT_DISK_1
canal ORA_MAINT_DISK_1 : sid=10 typedev=DISK
RMAN> CROSSCHECK BACKUPSET 7 ;
lment de sauvegarde vrifi : repr comme tant 'AVAILABLE'
descripteur d'lment de sauvegarde=/opalebackup/CF_BOREAxxx_c-246947018220040805-00.bckp recid=7 horodatage=533408698
1 objets contre-vrifis
RMAN>

Lister les fichiers expirs


RMAN> LIST EXPIRED BACKUP ;
lancement de la resynchronisation complte du catalogue de rcupration
resynchronisation complte termine
Liste des ensembles de sauvegarde
===================
Cl BS Taille
Type d'unit Temps coul Heure d'excution
------- ---------- ----------- ------------ -----------------

13160

127K
SBT_TAPE
00:00:17
17/10/03
Cl d'lment de sauvegarde : 13161
Statut : EXPIRED
TAG20031017T130450
Nom d'lment : 14f4453i_1_1

Balise :

Liste des journaux archivs dans l'ensemble de sauvegarde 13160


Thread Sq
Plus petit SCN
Heure de chgt. de redo log SCN suivant
Prochaine fois
---- ------- ---------- -------------------------- ---------- --------1
504
336992590 17/10/03
336994225 17/10/03

Backup de datafile
RMAN> backup datafile 1,2 ;

Backup des archivelogs a partir dune date


RMAN> Backup archivelog from time sysdate-3 ;

Valider la suppression non rman des fichiers de journalisation


archivs
RMAN> change archivelog all validate ;

Restauration incrementale avec saut de datafile read only


RMAN>backup incremental level 4 database skip readonly ;

Utilisation dun tag


RMAN> List backuppiece tag=TAG<Date>T<Heure> ;

Liste le contenu de dun TAG


RMAN> list backuppiece tag=TAG20031201T120657;
Liste des lments de sauvegarde
Cl BP Cl BS Pc# Cp# Statut
Type d'unit Nom d'lment
------- ------- --- --- ----------- ----------- ---------37033
37032
1
1
EXPIRED
SBT_TAPE
9kf7tav2_1_1

Ce qui est important savoir cets son STATUS et la cl BS pour pouvoir lister ce quil y a
linterieur ou faire un crosscheck.

Enlever une base du catalogue


noter le DB_ID pendant une connexion RMAN a la base target concerne
Se connecter au catalog avec sqlplus
SQL>Select DB_KEY,DB_ID from db ;

Executer la procedure

SQL>Execute dbms_rcvcat.unregisterdatabase(db_key,db_id) ;

You might also like