IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Recovery Manager Oracle Discussion :

Restore après une perte de données inefficace [11gR2]


Sujet :

Recovery Manager Oracle

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 204
    Points : 89
    Points
    89
    Par défaut Restore après une perte de données inefficace
    Bonjour à tous,


    Je suis en train de me faire les dents sur RMAN au niveau Sauvegarde & Restauration et sa me chagrine car je n'arrive pas à le faire fonctionner (enfin j'ai pas d'erreurs mais mes données ne sont pas restaurées).

    Voilà les informations qui nous intéressent :

    - Database : DBTEST.
    - User/Schema : TEST.
    - Tablespace : EXAMPLE.
    - Table : TEST_TABLE.

    Voici comment je procède :

    1. Je créé ma table et j'insère au fur et à mesure plein de lignes (pour arriver à environ 250.000 lignes).
    2. J'effectue une Sauvegarde complète de la base avec RMAN (Cf. *1).
    3. Une fois la Sauvegarde effectuée, je supprime ma table (Drop Table).
    4. J'essaye de restaurer uniquement le Tablespace EXAMPLE qui contenait ma table, avec RMAN (Cf. *2).
    5. Ma table n'a pas été restaurée !
    6. J'essaye de restaurer toute la base de données DBTEST avec RMAN (Cf. *3).
    7. Ma table n'a toujours pas été restaurée !


    Procédures RMAN :

    *1: Sauvegarde complète de la database.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    run
    {
    	allocate channel t1 type disk;
    	backup format 'C:\Destination\df_%d_%t_%s_%p' database;
    	sql 'alter system switch logfile';
    	backup format 'C:\Destination\al_%d_%t_%s_%p' archivelog all delete input;
    	backup format 'C:\Destination\ctl_%d_%t_%s_%p' current controlfile;
    }
    *2: Restauration du tablespace EXAMPLE.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    run 
    {
    	sql 'alter tablespace EXAMPLE offline';
    	allocate channel t1 type disk ;
    	restore tablespace EXAMPLE;
    	recover tablespace EXAMPLE;
    	sql 'alter tablespace EXAMPLE online'; 
    }
    *3: Restauration complète de la database (la base est 'montée').
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    run 
    {
    	allocate channel t1 type disk ;
    	restore database;
    	recover database;
    	sql 'alter database open';
    }
    Est-ce que j'utilise mal RMAN? Les scripts ne sont pas corrects? Ou pire, c'est normal que ma table ne soit pas restaurée!?

    PS: J'ai essayé aussi avec les commandes backup sans destination (ce qui va les mettre dans le dossier flash_recovery_area), mais j'ai le même résultat.


    Merci d'avance,
    Clément.

  2. #2
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Si ! Elle a bien été restorée, puis à nouveau droppée pour arriver au dernier état de la base de donnée. Pour restaurer la base à l'état avant le drop, il faut dèfinir le point de restoration avec SET UNTIL TIME

    Cordialement,
    Franck.
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 204
    Points : 89
    Points
    89
    Par défaut
    Salut Franck et merci pour ta réponse.

    Ce que je ne comprends pas, c'est que le drop table est bien effectué APRES la sauvegarde. Donc normalement il ne devrait pas apparaitre dans le backup (?).

    Si ce comportement est normal, dans quel cas ne doit-on pas utiliser le SET UNTIL TIME?

  4. #4
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Exact, après la sauvegarde qui est restorée par restore DATABASE;
    Mais ensuite en l'absence de 'set until time' on rejoue toutes les modifs suivantes avec: recover DATABASE;

    C'est le but du restore/recover: récupérer en cas de panne disque en ne perdant aucune transaction commitée.
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  5. #5
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 204
    Points : 89
    Points
    89
    Par défaut
    Ok je comprends mieux la différence entre restore et recover, merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 17/01/2012, 18h17
  2. [MySQL] Affichage d'image d'après une base de données
    Par runcafre91 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 08/02/2009, 17h48
  3. Restoration d'une base de données
    Par Anubis dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 12/12/2007, 09h08
  4. est ce que d'apres une base de données en access,
    Par loveflower dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 26/10/2004, 16h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo