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

PostgreSQL Discussion :

Restauration de base avec un .backup et le systeme WAL [9.3]


Sujet :

PostgreSQL

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2017
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Restauration de base avec un .backup et le systeme WAL
    Bonjour,
    Je sollicite vos connaissances en PostgreSQL. Les miennes sont inexistantes et j'ai un besoin de beaucoup d'aide afin de résoudre un (gros) problème pour moi.
    Contexte :
    Je dois reprendre la gestion d'une base de données PostgreSQL. Malheureusement pour moi, le server contenant la base de données a crashé il y plusieurs mois de ça. Nous avons pu récupérer la partition des Data de ce server. J'ai découvert plusieurs dossiers de sauvegarde de la base: un .backup datant de 08/2015 et des fichiers dans un répertoire WAL_Archive.

    J'ai l'impression qu'il est possible de reconstitué la base de données grâce a ses éléments. C'est possible mais je ne trouve pas d'explications claires (=correspondants à mon niveau) pour pouvoir remonter la base.

    J'ai testé depuis pgAdminIII de faire un clic droit -> restaurer-> sélectionner le .backup : j'ai un message que le dossier doit être en format text et d'utiliser psql.

    En théorie, je pense qu'il faut remonter le fichier .backup et rejouer les fichiers WAL depuis la date du backup sur la nouvelle installation pour que ça marche. Mais 1/ je n'en suis pas certain et 2/ j'en suis en pratique incapable.


    Si quelqu'un a déjà rencontré ce problème et a réussi à récupérer sa base ou si quelqu'un est super chaud là dedans, je veux bien votre aide, please.

    N’hésitez pas à m'expliquer comme à un enfant de 6 ans (c'est à peu près mon niveau)
    Merci !!!

    Environnement :
    Windows
    PostGresql 9.3.2

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 763
    Points : 52 554
    Points
    52 554
    Billets dans le blog
    5
    Par défaut
    Restaurer une base consiste à reprendre l'intégralité des données de la base à un moment du temps ou la base est intègre. La notion d'intégrité étant fondamentale, sinon la base est considérée comme corrompue et sera inexploitable. C'est pour cela qu'il existe des mécanismes spécifiques de sauvegarde des bases, intégrées au SGBDR (ici en l'occurrence PostGreSQL), qui génère des fichiers destinés à la restauration.
    En l'absence de tels fichiers, la restauration d'une base n'est pas garantie. En effet, la simple copie des fichiers ne garantie aucunement la possibilité de retrouver une base intègre.
    Un exemple simple va vous démontrer pourquoi...
    Imaginions que vous voulez sauvegarder votre base par simple copie des fichiers. Comme les fichiers vont être copiés successivement, il se peut que le fichier contenant la table des clients soit traité le premier, et le processus va continuer... Pendant ce temps, un utilisateur ajoute un nouveau client et une facture à ce client. Votre copie continuant, celle-ci porte finalement sur la table des factures.
    Maintenant à la restauration vous vous retrouvez avec une facture ayant un numéro de client qui n'existe pas dans la table des client, ce qui est logiquement impossible...
    Afin de se prémunir de ce cas de figure (et d'autres similaires) on a inventé un mécanisme appelé journalisation des transactions, constitué d'un fichier qui enregistre les commandes de mises à jour et les données avant modification afin d'en permettre la ré exécution (redo log) ou l'annulation (undo log).
    Mais comme les fichiers de données et les fichiers de transactions doivent "coopérer" afin de savoir quelle a été la dernière transaction effectives, on enregistre dans les différents fichier un numéro séquentiel de transaction appelé LSN (Log Segment Number).

    Bien entendu, vous ne pourrez restaurer une base et la rendre fonctionnelle que si les différents LSN se recoupent. Autrement dit, entre vos fichiers et les sauvegardes, vous devez pouvoir assurer une continuité des transactions, sans en oublier aucune, chaque transaction étant rejouée sur la base. Ce sont les fameux fichiers de type WAL, permettant une restauration PITR....

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2017
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci pour votre retour.
    Cependant, je cherche a remonter la base de données grâce aux différents fichiers que j'ai pu récupérer.
    Pouvez vous m'aider là-dessus.

    Merci

  4. #4
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Salut
    Le processus...
    1. Partir du dossier DATA...
      • copier le répertoire DATA sur la nouvelle machine
      • tenter l'installation de la dernière UPDATE de pg 9.3 en indiquant à l'intalleur le dossier DATA copié
    2. Si le premier ne passe pas!!!, partir du backup (donc restauration)...
      • installer la dernière UPDATE de pg 9.3
      • arrêter le service pg, décompresser le contenu du .backup dans le dossier DATA de la nouvelle installation
      • configurer le fichier recovery.conf pour que le serveur tente une restauration lors du démarrage. Pour plus de détails.
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2017
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par alassanediakite Voir le message
    Salut
    Le processus...
    1. Partir du dossier DATA...
      • copier le répertoire DATA sur la nouvelle machine
      • tenter l'installation de la dernière UPDATE de pg 9.3 en indiquant à l'intalleur le dossier DATA copié
    2. Si le premier ne passe pas!!!, partir du backup (donc restauration)...
      • installer la dernière UPDATE de pg 9.3
      • arrêter le service pg, décompresser le contenu du .backup dans le dossier DATA de la nouvelle installation
      • configurer le fichier recovery.conf pour que le serveur tente une restauration lors du démarrage. Pour plus de détails.
    Merci alassanediakite ! Ca a marché

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

Discussions similaires

  1. [11gR2] Restaurer une base avec rman+ archivelog
    Par dari68 dans le forum Administration
    Réponses: 2
    Dernier message: 06/06/2013, 12h03
  2. backup et restaurer ma base de donnée
    Par Romantic_a dans le forum Administration
    Réponses: 3
    Dernier message: 19/05/2008, 08h23
  3. Restaurer une base avec le .mdf seul
    Par [DreaMs] dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 12/01/2007, 17h31
  4. Restaurer une base avec un autre nom de base de donnée
    Par dimdidi dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 19/08/2005, 10h11

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