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 :

Shrink Table trop long


Sujet :

Administration Oracle

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Shrink Table trop long
    Bonjour,

    j'ai une table de 10Go, lorsque je fais le shrink space compact j'ai toujours pas fini au bout d'une heure , cela fait gonfler mon tablespace undo, il y a t-il une solution pour éviter cela ou je dois simplement attendre.

    Merci d'avance

  2. #2
    Membre confirmé
    Homme Profil pro
    xxxxxxxxx
    Inscrit en
    Avril 2015
    Messages
    392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : xxxxxxxxx

    Informations forums :
    Inscription : Avril 2015
    Messages : 392
    Points : 552
    Points
    552
    Par défaut Shrink table trop long
    Bonjour,

    Faisant suite à votre message essaie la méthode alter table nomtable move ou bien datapump.
    Pour savoir en temps réel, lance une requête sur les vues v$session_wait, v$session et v$sql en jointure.

  3. #3
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 992
    Points : 2 498
    Points
    2 498
    Par défaut
    Question très bête mais qui le serait encore plus si je ne la posais pas : quand on fait un ALTER TABLE ... SHRINK, pourquoi le tbs UNDO gonfle?
    Le UNDO, pour moi, sert à défaire des mises à jour de données (UPDATE, INSERT, DELETE, MERGE) mais dans le cas du SHRINK, on a pas juste une réorganisation physique des blocs de données?
    Une fois que le ALTER TABLE... SHRINK est OK, pas de message d'erreur, on ne peut pas faire un ROLLBACK car il y a un COMMIT implicite donc comment peut-on utiliser les données dans le tbs UNDO? (en cas de SHRINK qui plante?)...
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  4. #4
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2012
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mai 2012
    Messages : 127
    Points : 339
    Points
    339
    Par défaut
    Bonjour,

    Déjà, un shrink table procède en supprimant des lignes et en les réinsérant à un autre emplacement.

    Ensuite, les données UNDO ne servent pas uniquement à effectuer les rollbacks. Elles servent également à satisfaire les requêtes des autres sessions qui ne doivent pas voir les modifications non commitées, et à garantir qu'un ordre SQL, aussi long soit-il, se base exclusivement sur les données qui existent au moment où il est lancé.

  5. #5
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 992
    Points : 2 498
    Points
    2 498
    Par défaut
    OK, je ne pensais pas qu'Oracle faisait un DELETE/INSERT pendant un SHRINK, je pensais que c'était géré à un niveau bas, au niveau du bloc physique, pas des données.

    Je ne comprends pas cette remarque : "Ensuite, les données UNDO ne servent pas uniquement à effectuer les rollbacks. Elles servent également à satisfaire les requêtes des autres sessions qui ne doivent pas voir les modifications non commitées, et à garantir qu'un ordre SQL, aussi long soit-il, se base exclusivement sur les données qui existent au moment où il est lancé."
    Si on fait des INSERT/DELETE lors du SHRINK, c'est forcément sur les données qui ont déjà été commitées (je suis dans le cas où je suis le seul à modifier cette table). Ceux qui font des SELECT vont lire les données qui sont déjà dans la table, on ne les modifie pas avec le SHRINK.
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

Discussions similaires

  1. Shrink database Trop long
    Par Donpi dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 10/10/2012, 15h17
  2. Nom de champs de table trop long
    Par SGASSAMA dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 25/11/2009, 13h59
  3. SHrink Database trop long
    Par freestyler dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 02/09/2008, 13h40
  4. Temps de création index table InnoDB trop long
    Par ctobini dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 22/02/2008, 10h23
  5. Enregistrement trop long dans ACCESS (ALTER TABLE)
    Par Arrown dans le forum Bases de données
    Réponses: 2
    Dernier message: 29/07/2004, 21h20

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