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 :

Lignes chainées


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Par défaut Lignes chainées
    Bonjour,

    J'aimerai savoir si un move tablespace d'une table permet d'enlever le chainage des lignes ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alter table TOTO move tablespace
    Merci

  2. #2
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Quoi que vous fassiez, si une ligne ne peut pas être contenue dans un bloc unique, elle ne peut pas !
    A moins de la déplacer dans un tablespace muni d'un block size suffisant.

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Par défaut
    Citation Envoyé par SheikYerbouti
    Quoi que vous fassiez, si une ligne ne peut pas être contenue dans un bloc unique, elle ne peut pas !
    A moins de la déplacer dans un tablespace muni d'un block size suffisant.
    Ce n'est pas mon cas. C'est une table qui a beaucoup de mise à jour et maintenant beaucoup de lignes chainées.


    Est-ce que le move tablespace enlevera le chaînage ?

    Ensuite il faudra reconstruire les indexes...

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    le chainage n'est pas grave, ce qui est plus grave c'est la migration de lignes.

    Chainage = ligne dans plusieurs blocs
    Migration = ligne déplacée dans un autre bloc avec un pointeur dans le bloc d'origine

  5. #5
    Membre éclairé
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Par défaut
    Citation Envoyé par Fred_D
    le chainage n'est pas grave, ce qui est plus grave c'est la migration de lignes.
    Cela oblige ORACLE a rechercher une ligne dans plusieurs blocs ! Si on diminue le chainage, on diminue le nombre de lecture physique sur disque.

    Est-ce que le move tablespace enlevera le chaînage ?

  6. #6
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 40
    Par défaut
    Fred a dit :

    Chainage = ligne dans plusieurs blocs
    Migration = ligne déplacée dans un autre bloc avec un pointeur dans le bloc d'origine.

    Pourriez vous m'expliquer svp dans quel cas une migration ait lieu.
    Mircé.

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Citation Envoyé par PhPeltier
    Est-ce que le move tablespace enlevera le chaînage ?
    non, il enlévera les migrations

    la migration arrive lorsqu'on fait un update qui permet de faire tenir la ligne dans un bloc mais que le bloc dans lequel est la ligne est trop petit. Oracle déplace les données dans un bloc libre et le compléte alors avec l'update mais laisse un pointeur dans le bloc d'origine pour ne pas modifier le ROWID.

    Que les spécialistes me corrigent si je divague

  8. #8
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 40
    Par défaut
    Franchement je comprend pas votre explication de la migration.
    Veuillez expliquer davantage.
    Et merci.

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96524/c03block.htm#15915

    imaginons cette configuration :

    || un bloc
    . espace libre
    A ligne A
    R Rowid

    |AAA...|BB....|.....|

    Si je fais un update de A qui est trop gros, si je fais rien j'ai :

    |AAA...|BB....|AAAA.|

    La migration donnerait :

    |R...|BB....|AAAAA|A....|

    Le problème c'est que si ça arrive souvent, on peut avoir 3/4 voir plus de migration encore :

    |R...|BB....|R.....|CCC...|AAAAA|A....| ici c'est migré ET chainé : copié dans un autre bloc (migration) et stocké dans plusieurs blocs (chainage)

    Est-ce plus clair ?

    J'espère surtout ne pas raconter de bétise

  10. #10
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 40
    Par défaut migration
    Bon ca va plus ou moins.

Discussions similaires

  1. [11gR2] Lignes chainées / migrées
    Par devkais dans le forum Administration
    Réponses: 5
    Dernier message: 25/07/2013, 03h20
  2. Compteur de ligne + chaine de caractères
    Par phenixs dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/07/2008, 08h38
  3. [VB6] comparaison d'une chaine ligne par ligne
    Par kubiczek dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 11/05/2006, 22h52
  4. Concatérner chaine avec retour à la ligne
    Par nebule dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 30/11/2004, 11h55
  5. [TP]lire une ligne de l'ecran et la stocker dans une chaine
    Par Bleuarff dans le forum Turbo Pascal
    Réponses: 26
    Dernier message: 02/07/2002, 10h08

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