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 :

[Noyau] Mécanisme d'exécution des requettes DML


Sujet :

Oracle

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 7
    Points : 6
    Points
    6
    Par défaut [Noyau] Mécanisme d'exécution des requettes DML
    Bonjour a tous,
    peut quelq'un de vous m'expliquer comment Oracle implemente le mecanisme de sauvegarde des donnees modifiees dans le redo log buffer: Quel est la structure d'un redo log buffer (Pour garder l'information q'un tel ou tel ligne de la table T a ete ajoutee/modifiee), e-ce-qu'il ecrit tout simplement le texte de la requette DML(je le croi pas).
    -Quand on parle d'une image avant et une image apres des donnes modifier (avant que les donnees soient validee) est ce qu'on parle d'une image du block tout entier ou juste de/des lignes modifiees. Comment cela est implementee: image avant/apres, est ce la veut dire la duplication du block dans le database buffer cache.

    Je compte sur vous,
    Merci d'avance...

  2. #2
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Bonjour,
    je suis totalement incapable de répondre à cette question, mais je pense que ça serait bien (pour les futures recherches) de mettre un tag [DBA] dans le titre comme tu l'as fait pour le précédent post (pour éditer le titre, il suffit d'éditer ton précédent message).

    Je me demande aussi si le mécanisme ne varie pas selon les versions... et donc s'il ne faudrait pas préciser la version demandée (enfin ce ne sont que des suppositions).
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  3. #3
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut Re: mecanisme d'execution des requettes DML
    Bonjour ,

    Redo log buffer

    Citation Envoyé par gtaoufik
    -Quand on parle d'une image avant et une image apres des donnes modifier (avant que les donnees soient validee) est ce qu'on parle d'une image du block tout entier ou juste de/des lignes modifiees. Comment cela est implementee: image avant/apres, est ce la veut dire la duplication du block dans le database buffer cache.

    Je compte sur vous,
    Merci d'avance...
    Avant tout , il faut préciser que nous sommes ici dans les segments de rollbacks.
    En effet lorsque nous modifions une donnée d’une colonne dans une lignes , l’image before ( donc avant modification) est stocké dans les Rollbacks. Ici Oracle ne stocke que la valeur de la colonne de la ligne modifiée. Cette image est conservé jusqu'à ce qu’il ait un COMMIT( implicite ou pas ) ou un rollback. Donc il n’y a pas de dirty reads.

    A quoi sert l’image before : cette image sert à donner une vue cohérente des données, à savoir si le user 1 modifie une valeur , le user 2 doit pouvoir voir l’ancienne valeur jusqu'à ce que le user 1 valide ou annule la transaction. C’est ce que l’on appelle la cohérence de la lecture multi-version.


    Si par contre vous commencer une requête se basant sur l’image before et que cette dernière est validé, vous continuez de disposer de l’ancienne image des données.
    D’ou une erreur classique chez Oracle le Snapshot too old : Vous commencez avec une image before , les données sont validées mais votre requête continue de tourner => ora 1555 .Impossible de reproduire l’image Before.

    Voilà une description plus que brève des RBS .
    Une recherche sur ITL , SCN , system change number , image cohérente ...
    te permettra de répondre à tes questions plus en détails

Discussions similaires

  1. [telnet] Exécuter des instructions en cas d'echec
    Par xjinh dans le forum Modules
    Réponses: 3
    Dernier message: 15/11/2005, 17h43
  2. Réponses: 1
    Dernier message: 23/02/2005, 11h23
  3. exécution des fichiers index.php
    Par berry dans le forum Apache
    Réponses: 4
    Dernier message: 20/12/2004, 20h29
  4. Réponses: 2
    Dernier message: 02/11/2004, 06h52
  5. Temps d'exécution des instructions FPU
    Par ubi dans le forum Assembleur
    Réponses: 2
    Dernier message: 24/10/2003, 18h39

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