Copie de RMAN

					648788b6-28fa-4371-b51d-587c5e919d5a.doc / version 1 du 15/02/2002 imprime   le
10/09/201212




                                  ORACLE


                            SAUVEGARDES
                                        &
                           RESTAURATION


                                  ATELIER
                     RECOVERY MANAGER
648788b6-28fa-4371-b51d-587c5e919d5a.doc / version 5 du 08/11/01                                                         imprime                         le
10/09/201212



                                                          SOMMAIRE

SOMMAIRE ......................................................................................................... 2

SAUVEGARDES & RESTAURATION
ATELIER RECOVERY MANAGER .................................................................. 5

1CONCEPTS ........................................................................................................ 5
  1.1Principes ............................................................................................................................................ 5

  1.2Architecture....................................................................................................................................... 6
     1.2.1Architecture centralisée ou distribuée ................................................................................ 6
     1.2.2Architecture Client Serveur ou Serveur Local ................................................................... 7

  1.3Flux..................................................................................................................................................... 8
     1.3.1Intégration des « Media Manager » .................................................................................... 8
     1.3.2Copies physiques ................................................................................................................ 9

  1.4Intégration OEM .............................................................................................................................. 9

  1.5Schéma fonctionnel ......................................................................................................................... 10

2METTRE RMAN EN PLACE ......................................................................... 11
  2.1Créer le catalogue ........................................................................................................................... 11
     2.1.1Créer une base de données dédiée aux données RMAN .................................................. 11
     2.1.2Créer le propriétaire du catalogue .................................................................................... 11
     2.1.3Connexion au catalogue .................................................................................................... 12
     2.1.4Créer le catalogue ............................................................................................................. 12

  2.2Recenser les bases cibles ................................................................................................................. 12
     2.2.1Sécurité ............................................................................................................................. 12
     2.2.2Connexion à la cible ......................................................................................................... 13
     2.2.3Compatibilité .................................................................................................................... 13
     2.2.4Enregistrement de la base cible ........................................................................................ 15
     2.2.5Fichier de contrôle ............................................................................................................ 15

3SAUVEGARDER UNE BASE......................................................................... 16
648788b6-28fa-4371-b51d-587c5e919d5a.doc / version 5 du 08/11/01                                                     imprime                       le
10/09/201212


  3.1Arrêter ou démarrer une base ....................................................................................................... 16
     3.1.1Arrêter la base ................................................................................................................... 16
     3.1.2Démarrer la base ............................................................................................................... 16

  3.2Les canaux ....................................................................................................................................... 16
     3.2.1Allouer un canal................................................................................................................ 17
     3.2.2Parallélisme ...................................................................................................................... 18
     3.2.3Options des canaux ........................................................................................................... 18

  3.3Réaliser une sauvegarde complète D’une base entière ................................................................ 19
     3.3.1Options.............................................................................................................................. 20
     3.3.2Réaliser une sauvegarde complète de la base entière fermée ........................................... 20
     3.3.3Réaliser une sauvegarde complète de la base entière ouverte .......................................... 21
     3.3.4Sauvegarder les archives .................................................................................................. 21
     3.3.5Sauvegarde parallèle complète d’une base entière ........................................................... 21

  3.4Sauvegarde complète d’une base partielle .................................................................................... 22

  3.5Sauvegarde incrémentale ............................................................................................................... 22
     3.5.1Sauvegarde différentielle .................................................................................................. 23
     3.5.2Sauvegarde cumulative ..................................................................................................... 23
     3.5.3Stratégie de sauvegarde incrémentale ............................................................................... 23

  3.6Sauvegarde de la base RMAN ....................................................................................................... 24

  3.7Automatisation ................................................................................................................................ 24
     3.7.1Scripts stockés .................................................................................................................. 24
     3.7.2Commandes SQL .............................................................................................................. 25
     3.7.3Commandes OS ................................................................................................................ 25
     3.7.4Ligne de commande .......................................................................................................... 25

4RESTAURATION ............................................................................................ 26
  4.1Restauration du fichier de contrôle ............................................................................................... 26

  4.2Restauration complète sans archives ............................................................................................ 27

  4.3Restauration AVEC archives ......................................................................................................... 27
     4.3.1Restauration complète ...................................................................................................... 27
     4.3.2Restauration incomplète ................................................................................................... 28

  4.4Restauration partielle ..................................................................................................................... 29
648788b6-28fa-4371-b51d-587c5e919d5a.doc / version 5 du 08/11/01                                                         imprime                        le
10/09/201212


  4.5Restauration de la base catalogue ................................................................................................. 29

  4.6Duplication de base ......................................................................................................................... 30

5MAINTENANCE ............................................................................................. 31
  5.1Listes et rapports ............................................................................................................................ 31

  5.2Cataloguer un fichier ...................................................................................................................... 32

  5.3Synchronisation du catalogue ........................................................................................................ 32

  5.4Reset ................................................................................................................................................. 33

  5.5Vérifier la disponibilité des sauvegardes ...................................................................................... 33

  5.6Supprimer des sauvegardes du catalogue ..................................................................................... 33

ANNEXES .......................................................................................................... 34

A.SCRIPTS DES EXERCICES ......................................................................... 34
  I.Création du catalogue ....................................................................................................................... 34

  II.Recensement de la base cible .......................................................................................................... 35

  III.Sauvegarde base fermée ................................................................................................................ 35

  IV.Sauvegarde DE LA base catalogue ............................................................................................... 36

  V.Restauration QUAND TOUTE LA BASE est perdue .................................................................. 37

  VI.Restauration QUAND DES fichierS de données SONT perduS ................................................ 38

  VII.Restauration de la base catalogue ............................................................................................... 39

INDEX ................................................................................................................ 40
Oracle Sauvegarde & Restauration                             REPRODUCTION INTERDITE


            SAUVEGARDES & RESTAURATION
             ATELIER RECOVERY MANAGER

PREAMBULE
Recovery Manager (RMAN) est un outil apparu avec Oracle 8.0 et est devenu le
 standard de gestion des sauvegardes des bases Oracle.


L’objectif du cours est de décrire la mise en place et l’administration d’un
 environnement RMAN à travers un atelier pratique.


La description des commandes RMAN n’est pas exhaustive mais suffira dans 90%
 des cas.


Pré-requis obligatoires :
Administration Oracle
Sauvegardes et restaurations




1 CONCEPTS



1.1 PRINCIPES

RMAN est un interpréteur de commande destiné à déclencher et gérer les sauvegardes des
bases. Les commandes RMAN se décomposent en deux catégories principales :


    « Job commands » ou commandes opérationnelles :
             ce sont les commandes qui déclenchent des actions sur les bases cibles :
             sauvegardes, restaurations, duplication, etc.
                                                                                 5/45
Oracle Sauvegarde & Restauration                             REPRODUCTION INTERDITE



    « Management commands » ou commandes administratives :
               ce sont les commandes qui permettent de maintenir les données de gestion des
               sauvegardes : rétention, synchronisation, rapports, etc.


Les commandes sont gérées par des packages :


    DBMS_RCVMAN : commandes opérationnelles.
    DBMS_RCVCAT : commandes administratives


Ces commandes peuvent être exécutées directement à l’invite de l’interpréteur ou par
l’intermédiaire de scripts stockés.



1.2 ARCHITECTURE


1.2.1 Architecture centralisée ou distribuée

Pour gérer les sauvegardes des bases du système, RMAN maintient des informations de
gestion :


    Structurelles :
               SID, fichiers, tablespaces


    Temporelles :
               Dates, SCN


Ces informations sont conservées :


    De manière centralisée : dans une base dite « Repository » ou Catalogue.
    De manière distribuée : dans les fichiers de contrôle de chaque base concernée.


Dans la suite du document nous distinguerons donc :


    La base catalogue (« catalog ») : la base du référentiel RMAN.

                                                                                       6/45
Oracle Sauvegarde & Restauration                                REPRODUCTION INTERDITE

    Les bases cibles (« target ») : les bases gérées par RMAN.
    Les bases auxiliaires (« auxiliary ») : pour la duplication de base ou TPITR.

1.2.2 Architecture Client Serveur ou Serveur Local

RMAN interagit avec les bases de données dans les deux configurations :


    Client / Serveur : par Net8, c’est le processus serveur qui est responsable de
          l’exécution des tâches administratives et/ou opérationnelles. RMAN se connecte
          toujours   en    mode    dédié,    jamais   en    mode     « Multi-Threads »     (utiliser
          DEDICATED=YES sur le client NET*8).
    Serveur Local : En positionnant le ORACLE_SID, le processus se connecte
          directement à la base et exécute les tâches administratives et/ou opérationnelles.



Dans une configuration distribuée (i.e. les données de gestion sont maintenues dans le fichier
de contrôle), RMAN est uniquement connecté à la base de données cible et le même
processus est en charge des tâches administratives et opérationnelles.



Dans le cas d’une configuration centralisée (i.e. avec une base catalogue), RMAN est
connecté simultanément à la base catalogue et à une base cible. Dans ce cas, une connexion,
au moins, est en client serveur et deux processus différents sont donc attachés aux deux
bases :


    Le processus attaché à la base cible est responsable des tâches opérationnelles.
    Le processus attaché à la base catalogue est responsable des tâches administrative.



Dans les cas particuliers d’une duplication ou TPITR, il y a une troisième connexion vers une
base auxiliaire. Les tâches opérationnelles sont alors partagées entre les processus attachés
aux bases cible et auxiliaire.




                                                                                               7/45
Oracle Sauvegarde & Restauration                           REPRODUCTION INTERDITE

1.3 FLUX

RMAN génère des fichiers de sauvegarde ou flux dans un format propriétaire. Ces flux sont
compressés et ne peuvent être restaurés que par l’intermédiaire de RMAN ou du package
DBMS_RCVMAN.


Les flux RMAN peuvent être multiples et parallélisés pour une seule base cible. Ceci, en plus
de la compression, permet des temps de sauvegarde et restauration performants.


Un flux RMAN correspond à un BACKUP SET qui est un fichier composé de un ou plusieurs
BACKUP PIECES multiplexés du même type. Les types de BACKUP PIECE sont :


    Fichier de la base ou fichier de contrôle
    Archives


   Note : les redo logs ne sont jamais sauvegardés. Ils sont éventuellement recréés lors des
   restaurations.


Les flux de sauvegarde peuvent être :


    Complets ou « full » : la totalité du BACKUP SET est sauvegardé.
    Incrémentaux : Seuls les blocs modifiés sont sauvegardés (deux options : cumulatifs
        ou différentiels).

1.3.1 Intégration des « Media Manager »

RMAN s’interface avec quelques Media Managers du marché sur la base d’une API définie
par Oracle. Ceci permet de réaliser directement les sauvegardes des bases de données sur
bandes.


L’éditeur du Media Manager fournit une librairie qui implémente l’API qui interface RMAN
avec les fonctions du Media Manager. Les éditeurs suivants fournissent la librairie (la liste
n’est pas exhaustive) :


    Legato
    Veritas

                                                                                        8/45
Oracle Sauvegarde & Restauration                                 REPRODUCTION INTERDITE

    Omniback


   Note : la librairie s’appelle libobk.so sur UNIX et ORASBT.DLL sur NT.


RMAN propose deux modes d’interaction avec le Media Manager :


    « normal » : RMAN génère et écrit les flux à sauvegarder.
    « proxy » : RMAN envoie une liste de fichiers au Media Manager et délègue les
       opérations de sauvegarde.

1.3.2 Copies physiques

Outre les sauvegardes RMAN classiques dans un format propriétaire, RMAN permet de faire
des copies de fichier. Ces copies sont identiques à la source, donc ni compressées, ni
multiplexées.


Les copies physiques ne sont possibles que sur disques. En revanche, elles sont directement
exploitables pour la restauration.



1.4 INTEGRATION OEM

Oracle Enterprise Manager propose un module de gestion des sauvegardes et restaurations par
RMAN. Ce module génère des jobs pris en charge par l’« Agent Intelligent Oracle » du
serveur de la base cible.


Pour accéder à ces fonctions, il faut passer par le menu contextuel (bouton de droite)
disponible au niveau des bases de données. Le sous-menu « Backup Management » propose
des outils permettant d’effectuer les tâches suivantes :


    Réaliser et / ou programmer une sauvegarde.
    Réaliser une restauration.
    Gérer le catalogue.




                                                                                      9/45
Oracle Sauvegarde & Restauration                                 REPRODUCTION INTERDITE

1.5 SCHEMA FONCTIONNEL




           Base                                       Base
         Catalogue                                    Cible




                                                                        Média
                                                                       Manager
      Process Serveur                           Process Serveur
  (tâches administratives)                  (tâches administratives)


                      Net8                  Net8

                             Interpréteur                                        Bandes
                               RMAN


                                                     Agent
         Ordonnanceur                              Intelligent
                                                     Oracle




2 METTRE RMAN EN PLACE




2.1 CREER LE CATALOGUE


2.1.1 Créer une base de données dédiée aux données RMAN

Il vaut mieux créer un base spécifique pour les données du référentiel RMAN car les
procédures de sauvegarde et restauration sont particulières à cette base.

                                                                                     10/45
Oracle Sauvegarde & Restauration                               REPRODUCTION INTERDITE



En effet, la base RMAN, si elle doit être restaurée peut être inaccessible. Donc il ne faut pas
qu’elle contienne les données nécessaires à sa restauration.


De plus, si elle est dédiée à RMAN la perte de la base ne remet pas la production en cause. La
restauration ou la reconstruction du catalogue peut s’effectuer tranquillement.


   Atelier : créer une base pour le catalogue RMAN.

2.1.2 Créer le propriétaire du catalogue

Il faut créer un utilisateur disposant d’un quota sur un tablespace (les indexes et les données
sont dans le même tablespace).


L’espace nécessaire pour gérer une base pendant une période donnée dans RMAN est très
difficile à prévoir car il dépend de facteurs multiples et imprévisibles :


    Nombre de fichiers de la base
    Nombre d’archives générées
    Fréquence des sauvegardes
    Type de sauvegardes
    Etc.


On peut, néanmoins se baser sur la règle (très) approximative de 30 Mo par base et par an. Au
delà d’une certaine période de rétention, on supprime les données de sauvegarde.


Le propriétaire reçoit le rôle recovery_catalog_owner.


   Atelier : créer l’utilisateur RMAN/RMAN qui sera propriétaire du catalogue. Le catalogue sera
   hébergé dans le tablespace TBS_CAT (allocation uniforme de 160K).




                                                                                         11/45
Oracle Sauvegarde & Restauration                                      REPRODUCTION INTERDITE

2.1.3 Connexion au catalogue

Lancer l’interpréteur de commandes :


   OS> rman

   RMAN> connect catalog rman/rman@rcat

2.1.4 Créer le catalogue


   RMAN> create catalog [tablespace TBS_CAT]


Il n’est pas nécessaire d’indiquer le tablespace si c’est le tablespace par défaut du propriétaire.


   Atelier : créer le catalogue et visualiser les vues et packages qu’il contient.



2.2 RECENSER LES BASES CIBLES


2.2.1 Sécurité

La connexion à la base de donnée cible nécessite le rôle SYSDBA. Pour réaliser cette
connexion, il existe plusieurs possibilités :


    Client / Serveur : il faut configurer un fichier de mot de passe sur le serveur de
        données
            1. Dans le fichier init : remote_login_passordfile = [ EXCLUSIVE | SHARED ]
            2. Créer le fichier : orapwd file=<chemin> password=<mot_de_passe>
            3. Eventuellement renseigner la variable d’environnement ORA_PWFILE si le
                 fichier est partagé.


    Serveur seul : il est possible de se connecter sans fichier de mot de passe : en utilisant
        authentification OS. En d’autres termes, il s’agit d’utiliser une connexion internal sans
        mot de passe
            1. l’utilisateur doit appartenir au groupe dba sur UNIX ou au groupe ora_dba sur
                 NT.

                                                                                            12/45
Oracle Sauvegarde & Restauration                                      REPRODUCTION INTERDITE

            2. sur NT, dans le fichier sqlnet.ora, ajouter la valeur (NTS) au paramètre
                 SQLNET.AUTHENTICATION_SERVICES

2.2.2 Connexion à la cible

Pour se connecter à la base cible :


      Méthode client / serveur :
   RMAN> connect target sys@db
Ou
      Authentification OS :
   RMAN> connect target /


   Atelier : configurer la connexion distante SYSDBA vers la base d’exercice qui sera la base cible
   dans la suite de l’atelier. Ensuite, utiliser RMAN pour se connecter en local sur la base catalogue et
   en client / serveur sur la base cible.

2.2.3 Compatibilité

Le niveau de compatibilité du catalogue RMAN indique le niveau de version des bases cibles
qu’il peut gérer. Il faut toujours veiller à respecter ces trois règles :


      L’interpréteur RMAN doit être de même version que la base cible.
      L’interpréteur RMAN ne peut pas se connecter à un catalogue de version inférieure.
      L’interpréteur RMAN ne peut pas se connecter à un catalogue de niveau de
        compatibilité supérieur.


En d’autres termes :


      La version du catalogue  la version la plus élevée du S.I.
      Le niveau de compatibilité  la version la moins élevée du S.I.


   Exemple : si le S.I. contient des bases 8.0.5, 8.1.6 et 8.1.7, alors :
            1. le catalogue doit être en 8.1.7 pour permettre sauvegarder les 8.1.7
            2. le niveau de compatibilité doit être fixé à 8.0.5 pour permettre de sauvegarder les 8.0.5



                                                                                                  13/45
Oracle Sauvegarde & Restauration                                      REPRODUCTION INTERDITE

    Note : le niveau de compatibilité restreint les fonctionnalités disponibles


Il faut toujours travailler avec la version RMAN qui correspond à l’action que l’on veut
réaliser. Donc :
1    Pour modifier le niveau de compatibilité du catalogue (par exemple 8.0.5), lancer
     RMAN :


    OS> export ORACLE_HOME=/u01/app/oracle/products/8.0.5

    OS> export PATH=${ORACLE_HOME}/bin:${PATH}

    OS> rman

    RMAN> connect catalog rman/rman@rcat

    RMAN> configure compatible 08.00.05;


2    Pour mettre à jour la version du catalogue (par exemple 8.1.7) :


    OS> export ORACLE_HOME=/u01/app/oracle/products/8.1.7

    OS> export PATH=${ORACLE_HOME}/bin:${PATH}

    OS> rman

    RMAN> connect catalog rman/rman@rcat

    RMAN> upgrade catalog;




    Note : Cette manipulation n’est plus nécessaire à partir de la version 8.1.6.2, la gestion du niveau de
    compatibilité est automatique.

2.2.4 Enregistrement de la base cible

Une fois la connexion établie, il faut enregistrer la base dans le catalogue RMAN :


    RMAN> register database;


Lors de l’enregistrement dans le catalogue, la base se voit attribuer deux identifiants visibles
dans la vue du catalogue RC_DATABASE_INCARNATION :

                                                                                                    14/45
Oracle Sauvegarde & Restauration                                     REPRODUCTION INTERDITE



    DBID : identifiant unique identifiant la base de donnée. Ce numéro est attribué
        pendant l’exécution de CREATE DATABASE.
    DBID_KEY : ce numéro s’appelle l’incarnation de la base, l’incarnation change à
        chaque RESETLOGS.


Grâce à ces identifiants, il est possible d’identifier les sauvegardes qui permettent de restaurer
la base dans son état le plus récent.


   Atelier : enregistrer la base d’exercice. Interroger le catalogue, retrouver les fichiers et l’incarnation
   de la base.

2.2.5 Fichier de contrôle

Le fichier de contrôle est accédé par RMAN pour plusieurs opérations. RMAN doit lire une
version consistante du fichier de contrôle (notamment pour sa sauvegarde). Pour cela, un
fichier appelé « snapshot control file » est utilisé. Par défaut, ce fichier se nome :


   ${ORACLE_HOME}/dbs/SNCF${ORACLE_SID}.ORA


Il est possible de changer ce nom :


   RMAN> set snapshot controlfile name to 'chemin';




3 SAUVEGARDER UNE BASE


   Atelier : basculer la base cible en mode ARCHIVELOG. Réaliser quelques switches des redo logs de
   manière à générer des archives.

                                                                                                     15/45
Oracle Sauvegarde & Restauration                          REPRODUCTION INTERDITE

3.1 ARRETER OU DEMARRER UNE BASE


3.1.1 Arrêter la base

Pour arrêter la base depuis l’interpréteur RMAN :


   RMAN> shutdown [normal | immediate | abort]



3.1.2 Démarrer la base

Pour démarrer la base depuis l’interpréteur RMAN :


   RMAN> startup [nomout | mount]

   RMAN> alter database [ mount | open [resetlogs] ]



3.2 LES CANAUX

Pour interagir avec les unités de stockage, RMAN utilise des canaux. Ces canaux sont de deux
types :


    « disk » : pour les sauvegardes sur disques
    « sbt_tape » : pour les sauvegardes sur bandes via un Media Manager




                                                                                     16/45
Oracle Sauvegarde & Restauration                              REPRODUCTION INTERDITE

3.2.1 Allouer un canal

Comme la plupart des commandes opérationnelles, l’allocation d’un canal se fait à l’intérieur
d’un bloc de commandes run :


   RMAN> run {

   2>           allocation_de_canal;

   3>           commande_opérationnelle_1;

   4>           commande_opérationnelle_2;

   5>           ...
   6>     }


Les commandes opérationnelles (sauvegarde ou restauration) du bloc de commandes pourront
utiliser le canal alloué.


L’allocation du canal s’effectue par la commande allocate :


Cas 1 : stockage sur disque


   RMAN> run {

   2>           allocate channel nom_canal type disk;

   3>           ...
   4>     }


Cas 2 : stockage sur bande


   RMAN> run {

   2>           allocate channel nom_canal type 'sbt_tape';

   3>           ...
   4>     }




                                                                                      17/45
Oracle Sauvegarde & Restauration                             REPRODUCTION INTERDITE

3.2.2 Parallélisme

Il est possible de paralléliser les opérations vers les unités de stockage, simplement en
allouant successivement plusieurs canaux :


   RMAN> run {

   2>          allocate channel nom_canal_1 type 'sbt_tape';

   3>          allocate channel nom_canal_2 type 'sbt_tape';

   4>          ...
   5>     }


Cet exemple permet de paralléliser la sauvegarde vers les bandes sur deux flux. Ces deux flux
génèreront au moins deux fichiers ou backup set.



3.2.3 Options des canaux

A la suite de la commande d’allocation, il est possible d’ajouter des options qui modifient le
comportement des canaux. Les options sont spécifiées selon la syntaxe suivante :


   option = valeur


3.2.3.1   FORMAT

Pour spécifier le nom du flux ou backup set généré. Cela permet notamment d’indiquer les
emplacements des sauvegardes sur disques.


Le format est une chaîne de caractères qui peut contenir des indicateurs de substitution :


        %d : nom de la base de données
        %t : « timestamp » de la sauvegarde
        %s : numéro du backup set
        %U: numéro unique généré par RMAN
        etc.


Exemple :

                                                                                             18/45
Oracle Sauvegarde & Restauration                             REPRODUCTION INTERDITE



   format = ${ORACLE_BASE}/BACKUP/%d/%d_%t_%s


Par défaut, les canaux vers les disques utilisent le format ${ORACLE_HOME}/dbs/%U et les
canaux vers les bandes le format %U
3.2.3.2   PARMS

Permet de spécifier des paramètres ; ceux-ci sont utiles pour les Media Managers et sont
spécifiques au produit de sauvegarde utilisé.
3.2.3.3   CONNECT

Dans une configuration Oracle Parallel Server, permet de spécifier l’instance en charge du
canal.
3.2.3.4   DEBUG

Pour le support Oracle.
3.2.3.5   TRACE

Pour déclencher les traces sur le Media Manager.



3.3 REALISER UNE SAUVEGARDE COMPLETE D’UNE BASE ENTIERE

Une sauvegarde complète s’oppose à une sauvegarde incrémentale : c’est une sauvegarde de
toutes les données utiles même non modifiées depuis la dernière sauvegarde.


La sauvegarde d’une base entière est la sauvegarde de tous les fichiers de données et du
fichier de contrôle. Elles s’effectuent base ouverte ou fermée.


La sauvegarde complète d’une base entière est le cas le plus simple et correspond aux besoins
dans 90% des cas. Bien sûr, la base peut-être ouverte ou fermée.
Pour que RMAN effectue une sauvegarde base ouverte, il faut que celle-ci soit en mode
ARCHIVELOG.


Les sauvegardes de bases entières s’effectuent par la commande backup database dans un
bloc de commandes run :




                                                                                      19/45
Oracle Sauvegarde & Restauration                                 REPRODUCTION INTERDITE

  RMAN> run {

  2>           allocation_des_canaux_de_sauvegarde;

  3>           backup [full] database;

  4>     }



3.3.1 Options

Comme la commande allocate channel, la commande backup accepte des options.
3.3.1.1 TAG
Donne un nom logique à la sauvegarde, ce qui permet de les repérer facilement. Par exemple :


  tag = SauvLundiComplete


3.3.1.2 FORMAT, PARMS
Ces options outrepassent les options données à la commande allocate channel.

3.3.2 Réaliser une sauvegarde complète de la base entière fermée

La commance backup database s’exécute en mode MOUNT et sauvegarde la totalité de la
base, fichier de contrôle compris. Exemple :


  RMAN> shutdown immediate

  RMAN> startup mount

  RMAN> run {

  2>           allocation_des_canaux_de_sauvegarde;

  3>           backup [full] database;

  4>     }

  RMAN> alter database open;


  Atelier : réaliser une sauvegarde base fermée de la base cible en s’authentifiant à la base cible par
  l’OS. Le BACKUP SET doit se trouver dans un répertoire spécifique pour les sauvegardes.




                                                                                                20/45
Oracle Sauvegarde & Restauration                            REPRODUCTION INTERDITE

3.3.3 Réaliser une sauvegarde complète de la base entière ouverte

La base de données doit être en mode archivage. La commande backup database s’exécute
base ouverte et réalise la sauvegarde de tous les fichiers de la base, fichier de contrôle
compris.


En revanche, il faut sauvegarder les archives à part dans un autre BACKUP SET.

3.3.4 Sauvegarder les archives

Pour sauvegarder les archives, il faut que la base soit en mode MOUNT ou OPEN et exécuter
la commande backup archivelog, par exemple :


   RMAN> run {

   2>          allocation_des_canaux_de_sauvegarde;

   3>          backup [full] archivelog all [delete input];

   4>      }


L’option delete input permet de supprimer physiquement les archives sauvegardées, elle n’est
pas obligatoire.


La clause all indique de sauvegarder tous les redo logs archivés. Elle peut être remplacée par
l’une des clauses suivantes :


   [from time = 'dateheure'] [until time = 'dateheure']

   [from SCN = scn] [until SCN = scn]

   [from logseq = seq] [until logseq = seq] [thread = thread]


Ces clauses permettent de limiter la sauvegarde des archives à une plage donnée.

3.3.5 Sauvegarde parallèle complète d’une base entière

Pour paralléliser la sauvegarde d’une base de données complète, il suffit d’allouer autant de
canaux que de flux parallèles souhaitées




                                                                                       21/45
Oracle Sauvegarde & Restauration                                   REPRODUCTION INTERDITE

   Atelier : en se connectant en mode local au catalogue et en client / serveur à la base cible, effectuer
   une sauvegarde complète, base ouverte.
   Sauvegarder toutes les archives mais ne conserver que les archives vielles de moins d’une journée.
   Les sauvegardes devront être parallélisées sur deux flux et stockées sur disque dans un répertoire
   dédié.



3.4 SAUVEGARDE COMPLETE D’UNE BASE PARTIELLE

La sauvegarde d’un base partielle revient à ne sauvegarder qu’une partie des fichiers de
données. De telles sauvegardes ne sont valables que si la base est en mode ARCHIVELOG.


Pour réaliser une telle sauvegarde, il suffit d’utiliser la commande backup avec l’une des
clauses suivantes :


    tablespace : sauvegarde des fichiers d’un ou plusieurs tablespaces
    datafile : sauvegarde d’un ou plusieurs fichiers
    current controlfile : sauvegarde du fichier de contrôle


Les sauvegardes de bases partielles permettent de gagner du temps sur les fenêtres de
sauvegardes en traitant des volumes plus faibles à chaque sauvegarde.



3.5 SAUVEGARDE INCREMENTALE

Les sauvegardes incrémentales ne sauvegardent que les blocs modifiés. Cette technique,
comme les sauvegardes de bases partielles permettent de réduire les volumes traités.


Contrairement aux sauvegardes partielles, elles peuvent être réalisées sur des bases en mode
NOARCHIVELOG. En revanche, il faut en général restaurer plus de BACKUP SETS que
pour les autres méthodes.


Les sauvegardes incrémentales sont basées sur une sauvegarde de niveau 0 correspondant à
toute la base. Les sauvegardes complètes ou « full » ne peuvent pas faire office de sauvegarde
de niveau 0.


                                                                                                   22/45
Oracle Sauvegarde & Restauration                            REPRODUCTION INTERDITE

Ensuite, chaque sauvegarde est faite à un niveau spécifié. Les blocs sauvegardés dépendent du
type de sauvegarde incrémentale :


    Différentielle
    Cumulative



3.5.1 Sauvegarde différentielle

Les sauvegardes différentielles de niveau N sauvegardent tous les blocs modifiés depuis la
dernière sauvegarde de niveau N ou inférieur :


   RMAN> run {

   2>           allocation_des_canaux_de_sauvegarde;

   3>           backup incremental level=N database;

   4>       }



3.5.2 Sauvegarde cumulative

Les sauvegardes différentielles de niveau N sauvegardent tous les blocs modifiés depuis la
dernière sauvegarde de niveau N-1 ou inférieur.


   RMAN> run {

   2>           allocation_des_canaux_de_sauvegarde;

   3>           backup incremental level=N

   4>                 cumulative database;

   5>       }



3.5.3 Stratégie de sauvegarde incrémentale

En général, une bonne stratégie de sauvegarde incrémentale mixe les deux méthodes
(différentielle et cumulative) parce que les sauvegardes différentielles minimisent les volumes
traités tandis que les sauvegardes cumulatives minimisent le nombre de BACKUP SETS
restaurés

                                                                                        23/45
Oracle Sauvegarde & Restauration                               REPRODUCTION INTERDITE

3.6 SAUVEGARDE DE LA BASE RMAN

La sauvegarde de la base RMAN est particulière. En effet si elle devait être restaurée, le
catalogue serait indisponible.


La sauvegarde de la base RMAN doit se faire sans catalogue. Pour exécuter RMAN sans
connexion au catalogue et donc travailler avec le fichier de contrôle de la base cible (dans ce
cas la base qui contient le catalogue…), il faut utiliser l’option nocatalog :


   OS> rman nocatalog


Ensuite, la connexion à la base cible et les autres opérations se déroulent de la même façon.


Seul, le fichier de contrôle est sauvegardé différemment : il est très précieux puisqu’il contient
toutes les information de restauration, et ne peut être sauvegardé que de manière classique.


   Atelier : sauvegarder la base catalogue avec RMAN.



3.7 AUTOMATISATION


3.7.1 Scripts stockés

Les scripts stockés permettent de conserver les stratégies de sauvegarde et restauration dans le
catalogue RMAN. Pour créer un script stocké, il faut utiliser les commandes create script ou
replace script :


   RMAN > replace script nom_script {

   2>          allocation_de_canaux;

   3>          sauvegarde;

   4>          ...
   5>    }


Pour exécuter un script stocké :

                                                                                           24/45
Oracle Sauvegarde & Restauration                            REPRODUCTION INTERDITE



  RMAN > run { execute script nom_script; }



3.7.2 Commandes SQL

Il set possible d’exécuter des requêtes SQL avec la commande sql.


Exemple :
  RMAN> sql 'alter database datafile 3 offline';



3.7.3 Commandes OS

Pour exécuter des commandes OS il faut utiliser host :


  RMAN> host 'commande_OS';



3.7.4 Ligne de commande

La ligne de commande RMAN permet de spécifier les connexions et les scripts à lancer :


  OS> rman catalog cstr target tstr @fichier
Où :
       cstr : chaîne de connexion au catalogue
       tstr : chaîne de connexion à la cible
       fichier : nom du fichier de commandes RMAN.


Pour une sécurité optimale, les scripts de sauvegarde doivent être mis en place comme suit :


    Connexion avec authentification OS à la base cible.
    Connexion client serveur à la base catalogue.


Exemple :




                                                                                        25/45
Oracle Sauvegarde & Restauration                               REPRODUCTION INTERDITE

   OS> rman catalog rman/rman@rcat target / @bkp_full.rcv




4 RESTAURATION

Les restaurations s’effectuent par la commandes restore et nécessitent l’allocation de canaux
pour s’interfacer avec les unités de stockage. Ces canaux s’allouent de la même façon que les
canaux de sauvegarde. Par contre, il n’est pas nécessaire de spécifier les formats pour les
canaux utilisés en restauration : RMAN saura retrouver l’emplacement des fichiers.


Les opérations de restauration avec RMAN, par défaut, déterminent et restaurent
automatiquement tous les BACKUP SET nécessaires. C’est ce cas qui sera présenté dans ce
document.



4.1 RESTAURATION DU FICHIER DE CONTROLE

La restauration du fichier de contrôle peut être réalisée en mode NOMOUNT, MOUNT ou
OPEN.


Contrairement à la sauvegarde, la restauration du fichier de contrôle doit toujours être
spécifiée séparément, pour éviter de l’écraser si il est toujours disponible :


   RMAN> run {

   2>          allocation_des_canaux_de_restauration;

   3>          restore controlfile [to 'chemin'];

   4>    }




                                                                                      26/45
Oracle Sauvegarde & Restauration                            REPRODUCTION INTERDITE

4.2 RESTAURATION COMPLETE SANS ARCHIVES

Ce type de restauration n’est possible que pour les sauvegardes bases fermées.


La commande restore database s’exécute en mode NO MOUNT ou MOUNT et ne fait que
restaurer les fichiers de la base.


   RMAN> startup mount

   RMAN> run {

   2>            allocation_des_canaux_de_restauration;

   3>            restore database;

   4>       }


Il faut utiliser la commande recover database noredo en mode MOUNT pour pouvoir ouvrir
la base :


   RMAN> startup mount

   RMAN> run {

   2>            recover database noredo;

   3>       }
   4>           alter database open [resetlogs];


L’option noredo spécifie qu’il n’y a pas d’archive à appliquer et qu’il faut simplement
redémarrer la base.
L’option resetlogs est utile si les redo logs sont perdus. Dans ce cas, des fichiers redo logs
vierges sont créés au moment du démarrage et la base de données change d’incarnation.



4.3 RESTAURATION AVEC ARCHIVES


4.3.1 Restauration complète

Comme pour la restauration sans archive, la commande restore database s’exécute en mode
NO MOUNT ou MOUNT et ne fait que restaurer les fichiers de la base.
                                                                                        27/45
Oracle Sauvegarde & Restauration                              REPRODUCTION INTERDITE



   RMAN> startup mount

   RMAN> run {

   2>            allocation_des_canaux_de_restauration;

   3>            restore database;

   4>    }


Il faut utiliser la commande recover database en mode MOUNT pour pouvoir restaurer et
appliquer les archives, puis ouvrir la base. Puisque la commande recover restaure les archives,
il faut allouer des canaux.


   RMAN> startup mount
   RMAN> run {

   2>            allocation_des_canaux_de_restauration;

   3>            recover database;

   4>    }

   5>        alter database open;



4.3.2 Restauration incomplète

La commande recover database applique les archives logs mais nécessite la présence des
fichiers redo logs non sauvegardés et du fichier rdedo log courrant. Si ils sont indisponibles, il
faut avoir recours à une restauration incomplète et compléter la commande recover database
d’une des clauses suivante :


   until time = 'dateheure'

   until SCN = scn

   until logseq = seq thread = thread


Dans ce cas, il faut ouvrir la base avec l’option resetlogs. La base de données change donc
d’incarnation.


                                                                                           28/45
Oracle Sauvegarde & Restauration                                  REPRODUCTION INTERDITE

Exemple :


  until time = 'sysdate'


  Atelier: Arrêter la base cible, renommer les répertoires où se trouvent les fichiers et recréer les
  arborescences vides. Ensuite, restaurer la base




4.4 RESTAURATION PARTIELLE

Lorsque des fichiers qui n’appartiennent pas au tablespace SYSTEM doivent être restaurés, il
est possible de le faire base ouverte. Pour cela, il faut utiliser les commandes restore et
recover avec l’une des clauses suivantes :


    tablespace : restauration des fichiers d’un ou plusieurs tablespaces
    datafile : restauration d’un ou plusieurs fichiers
    current controlfile : restauration du fichier de contrôle


  Atelier: Sans arrêter la base cible, supprimer puis restaurer des fichiers de données ou d’indexes.



4.5 RESTAURATION DE LA BASE CATALOGUE

Pour restaurer la base catalogue, il faut travailler en mode nocatalog comme pour les
sauvegardes :


  OS> rman nocatalog


Comme pour les sauvegardes, le fichier de contrôle doit-être restauré au niveau OS par une
méthode classique n’utilisant pas RMAN. Ensuite, les autres opérations sont identiques.


  Rappel : le fichier de contrôle de cette base est très précieux puisqu’il contient les données de
  restauration. Ne pas hésiter à le sauvegarder fréquemment.



                                                                                                 29/45
Oracle Sauvegarde & Restauration                              REPRODUCTION INTERDITE

   Atelier : sauvegarder la base catalogue avec RMAN.




4.6 DUPLICATION DE BASE

L’identifiant de la base étant unique, les bases ne peuvent être clonées par une simple copie de
fichier suivie d’une éventuelle recréation du fichier de contrôle.
En effet, en utilisant la méthode classique de clonage, la base garde le même identifiant et
RMAN ne peut les différencier l’une de l’autre. Une seule de ces deux bases peut-être
recensée dans un même catalogue.


Pour palier ce problème RMAN permet de dupliquer une base avec la commande duplicate.


La duplication revient à restaurer la base cible à un autre emplacement et lui changer son
identifiant.


Par exemple, si la base cible et la base dupliquée ne sont pas sur le même serveur :


   RMAN> connect catalog rman/rman

   RMAN> connect target sys@db

   RMAN> connect auxiliary sys@dbdup

   RMAN> run {

   2>          allocation_des_canaux;

   3>          duplicate target database to db_name;

   4>     }


Si la duplication est réalisée sur le serveur qui héberge la base cible, il faut utiliser la
commande set newname for datafile :




                                                                                         30/45
Oracle Sauvegarde & Restauration                            REPRODUCTION INTERDITE

   RMAN> run {

   2>          allocation_des_canaux;

   3>          set new name for datafile 1 to 'chemin';

   4>          set new name for datafile 1 to 'chemin';

   5>          ...

   6>          duplicate target database to db_name;

   7>    }




5 MAINTENANCE




5.1 LISTES ET RAPPORTS

Les commandes list et report permettent d’obtenir des informations sur les base référencées et
les sauvegardes disponibles.


Exemples :


Liste des incarnations de la base cible :
   RMAN> list incarnation;


Liste des sauvegardes disponibles pour la base cible :
   RMAN> list backup of database;


Liste des fichier non sauvegardés depuis 3 jours :



                                                                                       31/45
Oracle Sauvegarde & Restauration                            REPRODUCTION INTERDITE

  RMAN> report need backup days=3;


Liste des sauvegardes précédant les deux dernières sauvegardes pour la base cible :
  RMAN> report obsolete redundancy 2;


Ces rapports permettent de générer des scripts d’administration automatiques, mais il faut
traiter leur sorties, avec un fichier de commande UNIX par exemple.


Pour générer des scripts d’administration RMAN, il est parfois plus simple d’utiliser
SQL*Plus en interrogeant directement les vues du catalogue.



5.2 CATALOGUER UN FICHIER

La commande catalog permet de prendre en compte un fichier dans le catalogue :


    Sauvegarde OS
    Archive


  RMAN> catalog [datafilecopy | controlfilecopy |
      archivelog]
      2>            nom_du_fichier;


Cataloguer les archives non sauvegardées avant les restaurations, permet de les appliquer
automatiquement lors de la commande recover.



5.3 SYNCHRONISATION DU CATALOGUE

La synchronisation permet de remettre à jour les données du catalogue depuis la dernière
sauvegarde, notamment :


    Les fichiers ou tablespaces ajoutés
    Les redo logs archivés



                                                                                      32/45
Oracle Sauvegarde & Restauration                            REPRODUCTION INTERDITE

   RMAN> resync catalog;


Les re-synchronisations régulières facilitent l’application des archives non sauvegardées lors
des restaurations.



5.4 RESET

La commande reset s’utilise quand le numéro d’incarnation de la base n’est plus en phase
avec la réalité :


     Après un RESETLOGS par SQL*Plus
     Après un test de restauration avec RESETLOGS


   RMAN> reset database [to incarnation db_inc];


L’option to incarnation permet de revenir soit à une incarnation du passé soit à l’incarnation
réelle après un test de restauration avec RESETLOGS.



5.5 VERIFIER LA DISPONIBILITE DES SAUVEGARDES

La commande crosscheck permet de rechercher sur les unités de stockage les sauvegardes qui
ne sont plus disponibles et de les marquer comme EXPIRED dans le catalogue. Pour cela il
faut ouvrir un canal dit de « maintenance » :


   RMAN> allocate channel for maintenance type disk;

   RMAN> crosscheck backup of database;

   RMAN> delete expired backup of database;




                                                                                       33/45
Oracle Sauvegarde & Restauration                            REPRODUCTION INTERDITE

5.6 SUPPRIMER DES SAUVEGARDES DU CATALOGUE

Après une certaine période, on sait qu’on utilisera plus certains BACKUP SET. On peut alors
les supprimer du catalogue et de l’unité de stockage pour gagner de l’espace :




                                                                                     34/45
Oracle Sauvegarde & Restauration          REPRODUCTION INTERDITE

  RMAN> allocate channel for maintenance type disk;

     RMAN> CHANGE BACKUPSET NUMERO
                     DELETE;ANNEXES




                    A. SCRIPTS DES EXERCICES




         I. CREATION DU CATALOGUE

  #!/bin/ksh

  export ORACLE_SID=RCAT

  sqlplus internal << Fin

  create tablespace tbs_cat datafile
      '/u01/oradata/RCAT/RCAT_tbs_cat_01.dbf' size 500M
      extent management local uniform size 160K;

  create user rman identified by rman
      default tablespace tbs_cat temporary tablespace temp
      quota unlimited on tbs_cat;

  grant recovery_catalog_owner to rman;

  exit

  Fin

  rman << Fin

  connect catalog rman/rman

  create catalog;

  exit

  Fin
                                                             35/45
Oracle Sauvegarde & Restauration            REPRODUCTION INTERDITE




         II. RECENSEMENT DE LA BASE CIBLE

  #!/bin/ksh

  export ORACLE_SID=RCAT

  rman << Fin

  connect catalog rman/rman

  connect target sys@badm1

  register database;

  exit

  Fin




                                                             36/45
Oracle Sauvegarde & Restauration           REPRODUCTION INTERDITE

        III. SAUVEGARDE BASE FERMEE

  #!/bin/ksh

  export ORACLE_SID=badm1

  rman << Fin

  connect catalog rman/rman@RCAT

  connect target /

  shutdown immediate

  startup mount

  run {

             allocate channel disk1 type disk format
                  '/u03/backup/%d/%d_%t-%s';

             backup database;

         }

  alter database open;

  exit

  Fin




                                                            37/45
Oracle Sauvegarde & Restauration           REPRODUCTION INTERDITE

        IV. SAUVEGARDE DE LA BASE CATALOGUE

  #!/bin/ksh

  export ORACLE_SID=RCAT

  rman nocatalog << Fin

  connect target /

  shutdown immediate

  startup mount

  run {

             allocate channel disk1 type disk format
                  '/u03/backup/%d/%d_%t-%s';

             backup database;

         }

  alter database open;

  sql "alter database backup controlfile to
         '/u03/backup/RCAT/RCAT_control_backup'";

  exit

  Fin




                                                            38/45
Oracle Sauvegarde & Restauration           REPRODUCTION INTERDITE

        V. RESTAURATION QUAND TOUTE LA BASE EST PERDUE

  #!/bin/ksh

  export ORACLE_SID=badm1

  rman << Fin

  connect catalog rman/rman@RCAT

  connect target /

  startup nomount

  run {

             allocate channel disk1 type disk;

             restore controlfile;

         }

  alter database mount;

  run {

             allocate channel disk1 type disk;

             allocate channel disk2 type disk;

             restore database;

             recover database until time='sysdate';

         }

  alter database open resetlogs;

  exit

  Fin




                                                            39/45
Oracle Sauvegarde & Restauration           REPRODUCTION INTERDITE

        VI. RESTAURATION QUAND DES FICHIERS DE DONNEES SONT
             PERDUS

  #!/bin/ksh

  export ORACLE_SID=badm1

  rman << Fin

  connect catalog rman/rman@RCAT

  connect target /

  sql 'alter database datafile 5 offline';

  sql 'alter database datafile 8 offline';

  run {

             allocate channel disk1 type disk;

             allocate channel disk2 type disk;

             restore datafile 5,8;

             recover datafile 5,8;

         }

  sql 'alter database datafile 5 online';

  sql 'alter database datafile 8 online';

  exit

  Fin




                                                            40/45
Oracle Sauvegarde & Restauration                  REPRODUCTION INTERDITE

            VII. RESTAURATION DE LA BASE CATALOGUE

    #!/bin/ksh

    export ORACLE_SID=RCAT

    rman nocatalog << Fin

    connect target /

    host 'cp /u03/backup/RCAT/RCAT_control_backup
        /u01/oradata/control01.ctl';

    host 'cp /u03/backup/RCAT/RCAT_control_backup
        /u02/oradata/control02.ctl';

    startup mount;

    run {

                    allocate channel disk1 type disk;

                    allocate channel disk2 type disk;

                    restore database;

                    recover database until time='sysdate';

             }

    alter database open resetlogs;

    exit

    Fin



                                        INDEX
A
allocate channel                                                      17, 18
alter                                                                      16
alter database                                                             27
ARCHIVELOG                                                            19, 22
archives                                                                   21
auxiliary                                                                  7
B
backup                                                                     20
backup archivelog                                                          21
backup database                                                            20


                                                                   41/45
Oracle Sauvegarde & Restauration   REPRODUCTION INTERDITE

backup incremental                                                23
BACKUP PIECE                                                       8
BACKUP SET                                                         8
base auxiliaire                                                    7
base catalogue                                                     7
base cible                                                         7
C
canaux                                                        16, 26
catalog                                                        7, 32
Catalogue                                                          6
change                                                            33
clonage                                                           30
commandes administratives                                          6
commandes opérationnelles                                          5
compatibilité                                                     13
configure compatible                                              14
connect catalog                                                   12
connect target                                                    13
copie de fichier                                                   9
create catalog                                                    12
CREATE DATABASE                                                   15
create script                                                     24
crosscheck                                                        33
Cumulative                                                        23
current controlfile                                               22
D
datafile                                                          22
DBID                                                              15
DBMS_RCVCAT                                                        6
DBMS_RCVMAN                                                        6
delete                                                            33
delete input                                                      21
Différentielle                                                    23
disk                                                          16, 17
duplicate                                                         30
duplicate target database                                         30
Duplication de base                                               30
E
execute script                                                    25
F
fichier de contrôle                              6, 7, 15, 24, 26, 29
fichier de mot de passe                                           12
format                                                            18
FORMAT                                                            20
from logseq                                                       21

                                                         42/45
Oracle Sauvegarde & Restauration   REPRODUCTION INTERDITE

from SCN                                                    21
from time                                                   21
G
groupe dba                                                  13
groupe ora_dba                                              13
H
host                                                        25
I
incarnation                                            15, 33
L
Ligne de commande                                           25
list                                                        31
M
maintenance                                                 33
Media Manager                                               8
N
nocatalog                                              24, 29
O
Oracle Enterprise Manager                                   9
P
proxy                                                       9
R
recover database                                       27, 28
recovery_catalog_owner                                      11
register database                                           15
remote_login_passordfile                                    12
replace script                                              24
report                                                      31
Reset                                                       33
resetlogs                                                   28
RESETLOGS                                              15, 33
Restauration                                                26
Restauration complète                                       27
Restauration incomplète                                     28
Restauration partielle                                      29
restore controlfile                                         26
restore database                                       27, 28
resync                                                      32
run                                                         17
S
sauvegarde base ouverte                                     19
sauvegarde complète                                         19
sauvegarde d’un base partielle                              22

                                                    43/45
Oracle Sauvegarde & Restauration   REPRODUCTION INTERDITE

sauvegarde d’une base entière                               19
sauvegarde incrémentale                                     19
Sauvegarde incrémentale                                     22
sbt_tape                                               16, 17
sécurité                                                    25
Sécurité                                                    12
set newname for datafile                                    30
shutdown                                                    16
snapshot controlfile                                        15
sql                                                         25
SQLNET.AUTHENTICATION_SERVICES                              13
startup                                                     16
SYSDBA                                                      12
T
tablespace                                                  22
TAG                                                         20
target                                                      7
U
until logseq                                                21
until SCN                                                   21
until time                                                  21
upgrade catalog                                             14




                                                    44/45
648788b6-28fa-4371-b51d-587c5e919d5a.doc / version 5 du 08/11/01   imprime   le
10/09/201212




                                  ORACLE
           SAUVEGARDE ET RESTAURATION
                     RECOVERY MANAGER
                     Version : 2.0 - Février 2002

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:13
posted:9/10/2012
language:Latin
pages:45