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

Oracle Discussion :

[Oracle 9i] demande de précisions sur la sauvegarde à chaud


Sujet :

Oracle

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Août 2002
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 194
    Points : 216
    Points
    216
    Par défaut [Oracle 9i] demande de précisions sur la sauvegarde à chaud
    Bonjour,

    J'ai lu à de nombreux endroits qu'il était nécessaire d'avoir sa base de données en mode ARCHIVELOG pour pouvoir faire une sauvegarde à chaud.
    (par exemple dans cet excellent tutoriel http://oracle.developpez.com/guide/s...eneralites/#L3 où il est expliqué que "les changements qui ont lieu durant la phase de sauvegarde d'un tablespace donnent lieu à une consignation dans le flux de reprise...").

    Cependant les changements pendant et après la sauvegarde ne seront pas appliqués lors de la restauration.
    (la base de données pointe vers des fichiers hors base qui sont aussi modifiés par l'application et donc la sauvegarde pour être cohérente doit sauvegarder la base et les fichiers au même instant... et impensable d'arrêter l'application...).

    Est ce que dans mon cas le mode ARCHIVELOG est obligatoire pour la sauvegarde à chaud?
    (Etant donné que les fichiers absoluments nécessaires pour une restauration sont les datafiles et un fichier de contrôle (cf ce post-ci) je me pose la question).



    Merci de m'avoir lu et désolé d'avoir été si long pour une seule question.
    Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait.
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant.


    Spidercochon, spidercochon, il peut marcher au plafond
    ...MM ......Voici Spidercochon. Aidez le à conquérir le monde
    E(....)~....en le reproduisant.
    ...w

  2. #2
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    d'abord ce n'est pas tout à fait exacte puisque RMAN n'a pas besoin d'archives et la base est dispo si je ne m'abuse.

    En fait la sauvegarde à chaud consiste juste à copier les fichiers à une instant t. Ce qui va te permettre de redémarrer ta base en cas de restauration ce sont les archive log, en effet, la copie de tes fichiers ne suffit pas à avoir une base consitante (transaction en cours pendant la copie, heure de sauvegarde différente entre le 1° et dernier fichier sauvé, etc...). L'archive log est une copie du redolog réalisée à chaque checkpoint. Ainsi, si tu as les archives générées depuis le début de la sauvegarde, tu peux restaurer ce que tu veux (avant, pendant et après sauvegarde).

    Ce qu'il faut retenir : la copie de fichier (datafile, tempfile et controlfile) ne sert à rien sans l'intelligence de la base qui est dans les redolog et archivelog.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Août 2002
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 194
    Points : 216
    Points
    216
    Par défaut
    Oui tu as tout a fait raison pour RMAN (c'est d'ailleurs un des avantages indiqués dans le RMAN User's Guide pour le préférer à la méthode à laquelle je pensais cad le chapitre 3.2 du tutoriel que j'indiquais).

    J'avoue que naïvement j'esperais que la commande
    "PROMPT alter system switch logfile ;;" permettait de forcer l'écriture dans la base de ce qui était en mémoire et donc d'avoir une base consistante juste avant la mise en mode backup des tablespaces (en me relisant je me dis que je n'avais pas assez détaillé à mon message d'avant).


    Je vais donc me tourner vers RMAN alors (je suis entouré de gens plutôt allergiques aux modifications).
    Merci.
    Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait.
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant.


    Spidercochon, spidercochon, il peut marcher au plafond
    ...MM ......Voici Spidercochon. Aidez le à conquérir le monde
    E(....)~....en le reproduisant.
    ...w

  4. #4
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    ce qui n'est pas commité n'est pas dans les redos... donc un checkpoint ne te garanti pas la cohérence de données... CQFD

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Août 2002
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 194
    Points : 216
    Points
    216
    Par défaut
    Ok! Je viens de comprendre mon erreur de compréhension, cela force l'écriture sur disque de ce qui est en mémoire mais pas dans les fichiers que j'espérais.

    Merci.
    Bon je vais mettre en résolu, même si c'est agréable d'en comprendre un peu plus à chacun de tes passages
    Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait.
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant.


    Spidercochon, spidercochon, il peut marcher au plafond
    ...MM ......Voici Spidercochon. Aidez le à conquérir le monde
    E(....)~....en le reproduisant.
    ...w

  6. #6
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    à ton service

  7. #7
    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
    Points : 3 597
    Points
    3 597
    Par défaut
    Citation Envoyé par Fred_D
    ce qui n'est pas commité n'est pas dans les redos...
    Je crois qu'il y a des cas où des données peuvent être dans les redo logs avant le COMMIT: http://www.developpez.net/forums/sho...ht=redo+commit

  8. #8
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Et bien, bouyao a écrit : "Après un commit Oracle écrite dans les fichiers redo"

    Je vais essayer de trouver la doc mais pour moi c'est pas dans les redos tant que c'est pas committé. D'ailleurs sans UNDO on ne peut pas restaurer une base qui aurait des transactions en cours

  9. #9
    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
    Points : 3 597
    Points
    3 597
    Par défaut
    Voir aussi ce qu'il a écrit dans son message du 22/08/2006, 19h27:


    J'ai dit en géneral :


    Citation:
    Les enregistrements redo peuvent aussi être écrits dans le fichier redo avant que la transaction correspondante soit validée. Si le buffer redo log est plein ou une autre transaction à été validée, LGWR vide toutes les entrées redo du buffer redo log dans le fichier redo, bien que certain enregistrements redo ne devrait pas être validés. Si nécessaire, oracle peut annuler ces changements.



    Voir : http://mbouayoun.developpez.com/fichredo/#LI.1.

  10. #10
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    en effet

  11. #11
    Membre régulier
    Inscrit en
    Janvier 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 129
    Points : 121
    Points
    121
    Par défaut
    Selon ma source (Livre OCA Admin I de Sybex)

    Je reformule en francais (je ne peux copier/coller cette source)

    LGWR écrit les infos du RedoLog Buffer vers les fichiers Redo Log selon certaines circonstances :

    * Quand un utilisateur 'commit' une transaction
    * Quand le RedoLog Buffer est 1/3 plein
    * Quand le RedoLog Buffer contient environ 1MB de données

  12. #12
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    oui mais Oracle écrit dans le redo log buffer dés qu'une transaction est exécutée

    Donc, le redo log buffer peut contenir des infos qui seront rollbackées

  13. #13
    Membre éprouvé
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Points : 1 294
    Points
    1 294
    Par défaut
    pour moi c'est une simple question de bon sens... si toutes les données devaient rester stockées en mémoire avant le commit, ça voudrait dire que la mémoire devrait être au moins égale à l'espace UNDO, ce qui est quand meme un peut exigeant comme contrainte!

  14. #14
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    le redolog buffer ne contient pas les mêmes infos que le UNDO et il est copier dans le redolog file si besoin. On utilise Shareplex qui est une sorte de standby database et on voit très bien des transactions rollbackées alors qu'il ne fait que jouer les redos... ce qui prouve bien que les redoslogs contiennent des transactions "invalides"

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/09/2007, 09h12
  2. [Xquery] demandes de précision sur XQuery
    Par totoranky dans le forum XQUERY/SGBD
    Réponses: 7
    Dernier message: 31/05/2007, 11h06
  3. Demande de précision sur "Extends" ..
    Par Invité dans le forum Langage
    Réponses: 6
    Dernier message: 12/02/2006, 14h25
  4. Demande de précisions sur Backup/Restore et transactions
    Par lio33 dans le forum Connexion aux bases de données
    Réponses: 1
    Dernier message: 16/11/2005, 12h08
  5. Précision sur les sauvegarde à chaud
    Par alxkid dans le forum Administration
    Réponses: 2
    Dernier message: 09/08/2004, 18h55

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