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

Administration Oracle Discussion :

Oracle 11g: restauration à partir de sauvegarde à chaud


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 51
    Par défaut Oracle 11g: restauration à partir de sauvegarde à chaud
    Bonjour.
    J’ai une base 11.1.0.6.0 sur Linux (Redhat 5).
    J’essaye de faire une procédure de sauvegarde à chaud et de reconstruction de ma base en cas de crash avec évidemment récupération des données (utilisée aussi éventuellement pour alimenter une base de test).

    Mais lors de la reconstruction de ma base ça ne passe pas. Voici mon mode opératoire :

    J’ai passé ma base en mode archivelog (et en force logging).
    Mes archives de redo log sont multiplexés sur mon disque de sauvegarde.

    Pour la sauvegarde j’ai fait un script qui effectue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Archive log list;
    Alter system switch logfile;
    Puis pour chacun des tablespaces de la base:
    - passage du tablespace en mode backup (begin backup)
    - copie du fichier sur mon disque de sauvegarde
    - je repasse le tablespace en mode normal (end backup)

    Puis à la fin de mon script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Alter database backup controlfile to ‘/save/control.ctl’ REUSE ;
    Alter system switch logfile;
    Archive log list;
    Pour reconstruire une base en se servant de la sauvegarde :
    - je repasse mes scripts de création de base vide.
    - j’arrête ma base (shutdown immediate)
    - j’écrase les datafiles (.dat et .dbf) avec ceux de la sauvegarde
    - j’écrase les redo log et les archives de redo log avec ceux de la sauvegarde
    - j’écrase mes 2 fichiers de contrôle avec le fichier control.ctl de la sauvegarde (là j’ai un gros doute !)
    - je me connecte sous sysdba
    - je monte ma base
    - puis j’exécute la commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    recover database using backup controlfile ;
    Il me demande alors les archives en me suggérant à chaque fois l’archive avec la bonne séquence (il m’affiche à chaque fois les erreurs ORA-00279, ORA-00289, ORA-00280). Donc je fais juste « Entrer » pour qu’il prenne en compte l’archive.

    Ensuite je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Alter database open resetlogs ;
    Et là erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ORA-01113 : le fichier 1 nécessite une récupération après défaillance matérielle
    ORA-01110 : fichier de données 1 : ‘/base/ora_system.dbf’
    J’avoue être perdue. Comme je ne maitrise pas le détail de ce que font les commandes, je n’arrive pas à trouver mon erreur.
    Quelqu’un peut m’aider ?
    Merci d'avance

  2. #2
    Membre Expert Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Par défaut
    As-tu bien rejoué TOUS les archivelogs (mêmes ceux générés après ton backup des tablespaces) ?
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  3. #3
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 51
    Par défaut
    Peut-être pas.
    J'ai recopié les archivelog. J'avais de la séquence 60 à la séquence 70.
    Et lors du recover il m'a demandé les séquences à partir de 64, mais il ne s'est pas arrêté à 70, il a demandé la 71 que je n'avais pas.
    En fait volontairement j'ai fait des modifications de ma base pendant le backup (là normalement les modif sont compris dans les archivelog que j'ai recopié).
    Puis j'ai arrêté ma base pour tout figer, et bien mis de coté tous les archivelog et les redo log pour ne pas les écraser par ceux générés lors de ma reconstruction de base vide.
    après j'ai écrasé tous les fichiers par ceux mis de coté.
    Sinon mon mode opératoire est bon?

  4. #4
    Membre Expert Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Par défaut
    Le log 71 était la séquence en cours pendant ton backup ?
    Dans ce cas tu en as besoin pour finir la restauration, sinon tes datafiles peuvent être désynchronisés (pas tous au même SCN vu que tu ne les as pas copiés en même temps)

    Pour ta procédure, je backuperais d'abord les tablespaces/datafiles, ensuite log du switch et enfin sauvegarde des archivelogs (y compris celui généré par le switch)
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    Pour dupliquer une base, il est inutile de la recréer avec CREATE DATABASE mais il faut recréer les control files avec CREATE CONTROLFILE. Il ne faut pas en général sauvegarder les online redo logs.

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 286
    Par défaut
    il faut penser à sauver les données redo générées pendant la durée de toute l'opération de backup.

    Surtout si on procède individuellement par tablespace, il peut/va y avoir un écart entre le premier tablespace ( en générale le datafile 1 = system.dbf) et le dernier.

    APRES la backup des tablespaces, il faut forcer un archivage des redo et garder ces archives au chaud avec le le reste du backup.


    Je crois qu'il existe maintenant un "database begin/end backup"

    PS:
    Message subliminal :
    !!! RMAN c'est bien !!! RMAN c'est bien !!! RMAN c'est bien !!!

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

Discussions similaires

  1. [11g] Problème de Connexion sur une Base Oracle 11g XE à partir de sqldeveloper 4.0.1
    Par iaiiai dans le forum Connexions aux bases de données
    Réponses: 1
    Dernier message: 09/05/2014, 22h45
  2. Réponses: 0
    Dernier message: 28/06/2013, 14h39
  3. Réponses: 13
    Dernier message: 15/01/2007, 08h32

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