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 :

difference entre undo et rollback segment.


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2003
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 75
    Par défaut difference entre undo et rollback segment.
    Bonjour,
    jaimerais bien comprendre la difference entre des finchier REDO organisé en
    undo ou organisé en rollback segment ( dans oracle 9i),
    merci,

  2. #2
    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
    Attention, le REDO c'est ce qui passe dans les online redo logs puis dans les archive redo logs et le UNDO ce c'est qui est stocké dans les rollback segments.

    Configurer la base en mode undo automatique revient a déléguer à Oracle la création des rollback segments et leur gestion (nombre d'extents, agrandissement, réduction de taille, etc.): le DBA doit essentiellement définir le tablespace et la durée de rétention (undo_retention). Le mode manuel c'est le mode par défaut où le DBA doit décider de créer et gérer lui même les rollback segments ainsi que le tablespace.

    Voir le Concepts Guide.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 4
    Par défaut
    Bonjour,

    [Pour faire simple et sans rentrer ds les détails]

    Attention, les redo n'ont rien à voir ni avec les rollback ou les undo segments. Les redo (redo logs) sont les fichiers qui contiennent pour dire simplement toutes les modification faites dans l'instance au cours de sont fonctionnement. Ils font partie de l'aspect cohérence de l'instance/base en cas de crash/recovery de façon à revenir à un état stable (transactionnellement parlant) au redémarrage.

    Les rollback et undo sont les éléments principaux qui permettent d'avoir l'image avant des modifications de façon à assurer le cohérence transactionnelle. Grosso merdo (mais ce n'est pas le seul cas), un user us1 modifie la valeur va1 de X lignes d'une table sans pour autant commiter. Un autre user devra voir la valeur va1 avant la modification de ce user. Oracle va aller ds les rollback et/ou undo segment pour avoir la valeur avant et la donner au second user.

    Quant à la différence entre redo et rollback, les rollback sont les mécanismes originels d'Oracle. L'admin devait positionner lui même le nombre et la taille des rollback de façon que l'information image avant ds les rollback soient présentent en cas de besoin (par le user2 par ex). Sinon, on récupérait le falmeux ora-1555 snapshot too old indiquant au user2 que lon avait plus l'information avant et que par conséquent on ne pouvait pas répondre favorablement à sa requête. Il y a plein de doc ds metalink qui donnait des règles pour dimensionner les rollback.
    Les undo segment sont les mecanismes remplacant les rollback ds les versions récentes d'Oracle. La partie admin est passé au moteur Oracle. On précise simplement en seconde (undo_retention), la durée pdt laquelle Oracle doit garder l'image avant d'une données pour de futurs besoins avant de la perdre ainsi que le tablespace d'undo de l'instance. Cela limite grandement l'arrivées des ORA-1555 (sans toutefois les supprimer complètement malgrès l'imagnaire populaire !). A vous simplement de positioner undo_retention. Le Grid Control a un outil permettant de tuner cela. En théorie, undo_retention devrait être au moins aussi gd que la plus longue des transaction mais ... ds ce cas je connais des cas ou le tbs d'undo a explosé ... Il faut trouver un juste compromis entre les besoins fonctionnels et l'espace de stockage des undo (entre autre).

    Cdlt
    Hieraklion

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2003
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 75
    Par défaut
    Ok , j'ai tres bien compris ,
    merci beacoup pour vos réponse chirurgicale !
    A+

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

Discussions similaires

  1. Différences entre Delphi et Visual Basic ?
    Par Anonymous dans le forum Débats sur le développement - Le Best Of
    Réponses: 75
    Dernier message: 30/03/2009, 20h09
  2. Réponses: 11
    Dernier message: 10/01/2007, 19h38
  3. Difference entre fenetre et boite de dialog
    Par billyboy dans le forum Windows
    Réponses: 2
    Dernier message: 02/06/2003, 15h43
  4. [] Difference entre MSHFlexGrid et MSFlexGrid
    Par olivierx dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 23/04/2003, 08h48
  5. Difference entre types d'Adresse IP
    Par freud dans le forum Développement
    Réponses: 3
    Dernier message: 02/03/2003, 02h06

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