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

WinDev Discussion :

Sauvegarder/Restauration base HFCS par fRepCopie


Sujet :

WinDev

  1. #1
    Membre éprouvé Avatar de b_reda31
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 899
    Points : 961
    Points
    961
    Par défaut Sauvegarder/Restauration base HFCS par fRepCopie
    Bonjour,
    Je voudrai savoir s'il est déconseillé de réaliser la sauvegarde d'une base HFCS à l'aide de la fonction fRepCopie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    fRepCopie("d:\PC SOFT\ServeurHyperFileSQL_Bureau\BDD\BDD-EasyTracer","C:\SAVE");

    C'est une copie à chaud (serveur en état de marche) seulement aucune autre application n'utilise la base au moment de la sauvegarde.

    Qu'en est il aussi pour la restauration de la même manière?
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste!!»

  2. #2
    Rédacteur/Modérateur

    Avatar de dsr57
    Homme Profil pro
    Analyste programmeur senior
    Inscrit en
    Octobre 2003
    Messages
    1 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Analyste programmeur senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 139
    Points : 4 681
    Points
    4 681
    Billets dans le blog
    22
    Par défaut
    Bonjour

    Je te conseillerais d utiliser les options adaptées du centre de contrôle ou les fonctions Hyperfile : HSauvegarde et HRestaureSauvegarde.

    Bon Dev
    ------------------------------------------------------------------------------------------------------------------------------------------
    Mon message vous a aidé, pensez à remercier . La discussion est résolue, n'oubliez pas le tag
    ------------------------------------------------------------------------------------------------------------------------------------------
    Site perso : Formation, Expérience, Réalisations, ...
    Blog : Le Blog de DSR57 - Programmation WinDev

  3. #3
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 161
    Points : 9 111
    Points
    9 111
    Par défaut
    Sans vouloir contredire dsr57, je pense que c'est possible. C'est logiquement plus propre de passer par le centre de contrôle.

    Mais Manta n'est pas un "véritable" SGBD. Attention toutefois que les fichiers ne soient pas verrouillés par des connexions de postes clients.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  4. #4
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 133
    Points : 204
    Points
    204
    Par défaut
    ayant passé par une expérience de ce genre, je peut te confirmer que la sauvegarde de la base de données à chaud, en passant par le centre de Control ou les fonction de sauvegarde de windev, provoque parfois des pertes de données.

    je pense que manta utilise un genre de fichier temporaire ou variable ou quelques chose du genre pour y mettre les modification apportés au niveau de la bdd lors de la sauvegarde, afin de garder une bdd intègre. en effet, des enregistrement sont modifié, ajouté ou supprimé pendant la sauvegarde peuvent donner naissance à une sauvegarde qui touche une partie des modifications et donc une sauvegarde avec des données non cohérent.
    le problème survient lors de l'application des modifications temporaire sur la bdd après sauvegarde ce qui cause la perte de ces dernier.

    pour moi, j'ai abandonné la sauvegarde à chaud car la copie des fichiers en dure peut données une sauvegarde avec des enregistrement non cohérent et le centre de Control ainsi que les fonctions de gestion de sauvegarde peuvent provoquer la pertes des enregistrement effectué au cour de cette dernière.

    Bonne continuation

    Ps: je suis passé par la avec la v15. je ne sais pas si les choses ont changé depuis mais moi je ne prend plus le risque.

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 188
    Points : 12 744
    Points
    12 744
    Par défaut
    Bonjour,
    Je déconseille très fortement de passer par une copie de fichier pour faire une sauvegarde à chaud.
    Prenons par exemple une base avec, entre autre, les fichiers suivants:
    EnteteCommande
    LigneCommande

    Disons qu'à 23:00 la sauvegarde démarre.
    Le fichier EnteteCommande est copié, puis avant que ce soit le tour de LigneCommande, une nouvelle commande est importée dans la base.
    En restaurant la sauvegarde, on se retrouve avec des enregistrements orphelins dans LigneCommande.
    Il en va de même dans l'autre sens. Si une commande est supprimée entre la copie de EnteteCommande et LigneCommande, la sauvegarde contiendra encore l'entête, mais pas les lignes.

    Bref la sauvegarde risque de ne pas être intègre, elle n'est donc pas fiable.

    Tatayo.

  6. #6
    Membre éprouvé Avatar de b_reda31
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 899
    Points : 961
    Points
    961
    Par défaut
    Merci à vous tous pour votre aide.
    Je vois que les avis différent quelque peu mais sont globalement contre la copie à chaud des fichiers de la base.

    Je pense cependant que le contexte est aussi à prendre en considération, car dans mon cas, aucune connexion à la base n'est établie au moment de la sauvegarde (je sous entends qu'aucun poste client n'est en exécution). Donc pour le scénario qu'évoque Tatayo, le problème ne se pose pas dans mon cas.

    Passer par le centre de contrôle ne m'arrange pas, car mon objectif étant justement de faire des sauvegardes quotidiennes automatiquement de la manière suivante :
    Création d'un zip contenant la base.
    L'envoi du zip sur un serveur FTP
    Le fichier zip portera comme nom la date et l'heure de la sauvegarde.

    Je réitére donc ma demande, en précisant cette fois les conditions :
    - Aucune connexion à la base HF pendant la sauvegarde
    - Sauvegarde externe (sur un serveur FTP)
    la fonction fRepCopie peut poser problèmes ?
    je voulais éviter de passer par les fonctions HSauvegarde et HRestaureSauvegarde qui me paraissent être entièrement gérées par manta
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste!!»

  7. #7
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 133
    Points : 204
    Points
    204
    Par défaut
    oui en effet, tu peut réaliser une sauvegarde avec frepcopie si aucun poste ne fait de modification sur la base. mais pour la restauration tu ne peut pas passer par ce chemin car pour écraser certains fichiers le serveur doit être arrêté. et si tu veut passer par HRestaureSauvegarde, tu aura besoin du fichier "backup.info" généré par Hsauvegarde. peut être que tu peut le créer d'une autre manière. à toi de voir.

  8. #8
    Membre éprouvé Avatar de b_reda31
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 899
    Points : 961
    Points
    961
    Par défaut
    Merci encore à vous DarkWD pour votre aide,
    Pour faire plus "propre", j’arrête momentanément le service "HyperFile Server" au moment de la sauvegarde.
    Pour cela, j'exécute la commande net stop dans un fichier batch :

    ArreterServeur.bat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    net stop "Hyper File Server : REDA-DELL"
    Je lance ensuite la copie de la base (fRepCopie), puis je remet en marche le serveur (Commande net start)

    DemarrerServeur.bat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    net start "Hyper File Server : REDA-DELL"
    Je pense suivre cette démarche, à moins que vous me le déconseillez

    J'espère juste que les commandes net start et net stop ne pose pas de problème sur windows 10
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste!!»

  9. #9
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 325
    Points : 3 838
    Points
    3 838
    Par défaut
    Personnellement, je ne suis pas chaud pour cette méthode, ne serait-ce que pour le cas où la machine sur laquelle HFCS tombe.

    Tu installes un nouveau HFCS ailleurs et tu restaures tes fichiers par copie. Est-ce que cela fonctionne ? (je n'ai pas testé)
    Avec un backup, il n'y a pas de référence à une machine ou un serveur (testé maintes et maintes fois).

  10. #10
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : Laos

    Informations forums :
    Inscription : Mars 2003
    Messages : 552
    Points : 1 193
    Points
    1 193
    Par défaut
    Je n'ai pas d'avis tranché sur la question.

    Par contre, si vous voulez une sauvegarde complète (c'était à dire avec les login/pwd des comptes utilisateurs) il vous faut aussi copier les répertoires cachées "__system" (se trouvant dans le répertoire de la BDD)
    Car sinon, dans le cas où vous restaurez cette sauvegarde sur une nouvelle machine, il vous manquera les utilisateurs.

    Cordialement.

  11. #11
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 133
    Points : 204
    Points
    204
    Par défaut
    Citation Envoyé par Ry_Yo Voir le message
    Je n'ai pas d'avis tranché sur la question.

    Par contre, si vous voulez une sauvegarde complète (c'était à dire avec les login/pwd des comptes utilisateurs) il vous faut aussi copier les répertoires cachées "__system" (se trouvant dans le répertoire de la BDD)
    Car sinon, dans le cas où vous restaurez cette sauvegarde sur une nouvelle machine, il vous manquera les utilisateurs.

    Cordialement.
    puisque les repertoires systèmes sont dans le dossier le bdd, la sauvegarde de la bdd avec fRepCopie ou HSauvegarde inclue ce dossier

  12. #12
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 325
    Points : 3 838
    Points
    3 838
    Par défaut
    Je viens d'essayer un bête Ctrl-C Ctrl-V d'un dossier dans lequel un autre dossier était caché.

    Résultat :
    - Si les éléments cachés sont visibles, la copie se fait bien.
    - Si les éléments cachés ne sont pas visibles, la copie n'est pas faite.

    A voir si fRepCopie(..) n'est pas dans ce cas de figure.

  13. #13
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 133
    Points : 204
    Points
    204
    Par défaut
    Citation Envoyé par Lo² Voir le message
    Je viens d'essayer un bête Ctrl-C Ctrl-V d'un dossier dans lequel un autre dossier était caché.

    Résultat :
    - Si les éléments cachés sont visibles, la copie se fait bien.
    - Si les éléments cachés ne sont pas visibles, la copie n'est pas faite.

    A voir si fRepCopie(..) n'est pas dans ce cas de figure.
    ah bon? tu as copié le dossier ou ce qu'il y a a l’intérieur?
    J'ai jamais remarqué ce genre de chose étant donnée que je met directement les fichier caché et système en visible avec chaque nouvel install de windows.

  14. #14
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 325
    Points : 3 838
    Points
    3 838
    Par défaut
    J'ai copié le dossier qui contenait le caché.

    En fait, ça m'a rappelé mes débuts quand je voulais copier un CD de jeu...

  15. #15
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut
    Salut!

    Pour ma part, j'effectue cette sauvegarde à chaud uniquement depuis le serveur HF/CS en m'assurant qu'aucune connexion à la base n'est en cours et en effectuant la copie (frepcopie) dans un dossier temporaire des fichiers *.fic et *.mmo du répertoire du dossier BDD. Le résultat est zippé avec un mot de passe et la date heure comme nom de fichier.
    Je n'ai jamais sauvegardé les fichiers du dossier système et je n'ai jamais observé de problème. Je pense que cela gère surtout les contraintes d'intégrité? Les procédures stockées? Il est vrai que je n'utilise aucune procédure stockée dans mes projets.

    De la même manière, j'effectue la restauration en supprimant au préalable tous les fichiers *ndx et *fic et *mmo du dossier de restauration, ainsi que les fichiers *trs de transaction puis j'extrais la sauvegarde dans le dossier.

Discussions similaires

  1. Sauvegarde/Restauration base Multifichier
    Par Didier44 dans le forum Administration
    Réponses: 3
    Dernier message: 13/06/2012, 11h50
  2. [MySQL] Sauvegarde de base de données et envoi par e-mail
    Par lemirandais dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 11/01/2009, 22h27
  3. Sauvegarder/Restaurer une base
    Par Sytchev3 dans le forum Access
    Réponses: 3
    Dernier message: 12/06/2006, 22h35
  4. Sauvegarde de base de donnée par SSH
    Par onet dans le forum Réseau
    Réponses: 2
    Dernier message: 05/03/2006, 23h42
  5. Sauvegarde / restauration d'une base sur un autre PC
    Par LEF97 dans le forum Administration
    Réponses: 2
    Dernier message: 31/08/2005, 16h22

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