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 :

Comment locker une partition au moment d'un truncate


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 750
    Par défaut Comment locker une partition au moment d'un truncate
    Bonjour,

    J'ai une table partitonnée. Au cours de mon traitement je souhaiterais faire un truncate de ma partition pour faire redescendre la HWM. avant de faire un truncate je lock la partition puis je fais un insert select de ma partition dans une table temporaire et après je peux truncater la partition. A la fin de mon truncate je peux réinsérer les lignes sauvegardées dans la partition.

    le problème est le suivant : si juste après avoir locké la partition une autre session fais une insertion dans la partition mon truncate va commencer par un commit implicite qui va libérer le lock et du coup l'insert de l'autre session va pouvoir se faire et le truncate lui va planter avec le message "ressource busy with no wait".

    je suis en 10G mais pour des raisons politiques je ne peux pas utiliser le shrink. y' a t'il une solution à ce problème ? Comment être sur qu' entre le moment où je sauvegarde des données et au moment où je truncate la partition une autre session n'aura pas mis à jour des lignes dans la partition ?

  2. #2
    Membre Expert Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Par défaut
    Bonjour,


    Que veux tu dire par probleme politique avec le shrink .....

    Parce qu'il y a d'autres sautions tel que move mais s'il rencontre le meme probleme politique ca va etre dur de t'aider ...

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 750
    Par défaut
    en fait je travaille pour un éditeur de logiciels.
    Un de nos très gros clients se plaint que leurs tables soient fragmentées à cause de notre appli car on fait beaucoup d'insert et beaucoup de deletes.
    On peut se retrouver dans des cas où la partition est défini sur 4000 blocks alors que les lignes occupent réellement 50 blocks.

    puisqu'il s'agit de tables avec bcp d'accès concurrents on ne peut pas faire de truncate facilement. Les DBA de notre client ne veulent pas de shrink ou de move au niveau applicatif. par contre ils ne veulent pas faire leur travail en réorganisant les tables aux moment où la base est arrêtée par exemple. Voilà les raisons POLITIQUES.

  4. #4
    Membre Expert Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Par défaut
    Le beurre ,l'argent du beurre et les majorettes en prime...


    Les solutions les plus simples et les plus soft sont shrink et online redefinition

    Il y a un moyen graphique avec dbms_advisor OEM , mais se basant de ces solutions et possibilité de le faire par schedule

    http://download.oracle.com/docs/cd/B.../schema003.htm

    Les autres (move, truncate ) bloquent avec risque de "busy ..."

    avec plus de risque de perte de donnée avec truncate

    De l'autre coté , tu ne dervais faire de reorganisation que si le bénéfice obtenu est supérieur a l'effort,risque encouru pour le faire .

    Est ce le cas ici ?

    Gain en temps de réponse vraiment chiffrable , gain en espace disque reéllement important ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 750
    Par défaut
    En fait on a constaté ce problème de fragmentation des partitions par le fait qu'on fait du dynamic sampling niveau 2 sur ces tables. le problème est que sur une partition hyper fragmentée (ex: 4000 blocks mais 50 blocks réellement occupées) au moment du sampling il est arrivé que l'optimizer en ne prenant que 2*32 blocks comme échantillon ne tombait que sur des blocks vides donc pour lui la partition contenait 0 lignes => du coup il nous a sortit un plan d'execution foireux avec un merge join cartesian car les cardinalités étaient pas bonnes.

    le client a gueulé en disant que c'était la faute de notre application et qu'il fallait qu'on fasse des truncates et pas des deletes. le problème c'est qu'on ne peut pas faire des truncates facilement.

    Quand tu parles de shrink et online redefinition ce n'est pas un pléonasme ? le shrink par defaut se fait on line non?

  6. #6
    Membre Expert Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103

Discussions similaires

  1. Comment créer une partition sur DOS ?
    Par wisso dans le forum Windows XP
    Réponses: 1
    Dernier message: 11/12/2009, 00h28
  2. comment faire une partition extensible sous debian
    Par princesse95 dans le forum Administration système
    Réponses: 1
    Dernier message: 03/11/2009, 17h16
  3. Ext4 freeze, comment changer une partition ext4 en ext3 ?
    Par eclesia dans le forum Administration système
    Réponses: 3
    Dernier message: 20/06/2009, 21h15
  4. Comment accéder à une partition cachée
    Par sterus dans le forum Applications et environnements graphiques
    Réponses: 10
    Dernier message: 18/12/2007, 21h52
  5. Comment detecter une partition linux sous windows?
    Par ibtisss dans le forum Administration système
    Réponses: 5
    Dernier message: 09/02/2006, 11h15

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