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 :

[XE] Défragmentation d'un tablespace


Sujet :

Administration Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 28
    Points : 24
    Points
    24
    Par défaut [XE] Défragmentation d'un tablespace
    Bonjour

    j'ai une version XE, et étant donné qu'elle est limitée à 11go , je dois réduire la taille d'un tablespace.

    J'ai supprimé les lignes d'une grosse table avec alter table ... enable row movement et alter table ... shrink space.

    mais je ne peux pas réduire la taille du tablespace avec la commande alter database datafile ... resize.

    D'après des recherches dans google, il parait que c'est normal parce qu'il y a des tables placées à la fin de mon tablespace. il faut que déplace ou supprime ces tables.

    j'ai fait un alter table ... move sans succès

    *********

    voilà ma question : si je supprime une table avec TRUNCATE TABLE et que je reinsère la table avec des INSERT, la table sera enregistrée à la fin du tablespace ?

    Patrice

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Pourquoi ne pas déplacer vos tables dans un nouveau tablespace plutôt que de les vider ?

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 28
    Points : 24
    Points
    24
    Par défaut
    Bonjour

    je suis limité à 11Go et je suis à la limite.

    je ne peux pas copier les tables dans un autre tablespace.

    je suis bloqué

    patrice

  4. #4
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Il faut voir dans dba_extents quels segments sont à la fin (d'après leur block_id).
    C'est sur ces segments qu'il faut faire un move (si table) ou rebuild (si index).
    Cordialement,
    Franck.
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  5. #5
    Membre éclairé

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2003
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 701
    Points : 741
    Points
    741
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Vous pouvez aussi utiliser export - import ,
    ces outils optimisent l'espace dans le tablespace .

    Cdlt

  6. #6
    Membre confirmé Avatar de PaulNero
    Homme Profil pro
    DBA Senior Oracle and SQL SERVER
    Inscrit en
    Octobre 2010
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Inde

    Informations professionnelles :
    Activité : DBA Senior Oracle and SQL SERVER
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 416
    Points : 470
    Points
    470
    Par défaut
    Ducho bonjour,
    mais je ne pense pas que la solution que tu donnes soit possible dans le cas d'espèce.Seule la solution de Pacho me semble exploitable.

    cordialement
    Cordialement,
    J'ose espérer que m'a contribution vous a été d'une grande aide.
    Pensez tout de Même à dire MERCI et marquer RESOLU en cas de satisfaction.
    Paul

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 28
    Points : 24
    Points
    24
    Par défaut Déçu par la non résolution du problème
    Bonsoir,

    j'ai effectué cette solution inspirée par pachot qui est très cohérent.

    j'ai droppé toutes les tables listées par la requête suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT DISTINCT
                          OWNER
                        || '.'
                        || SEGMENT_NAME
                        || ' - OBJECT TYPE = '
                        || SEGMENT_TYPE
                  FROM DBA_EXTENTS
                 WHERE (block_id + blocks - 1) * 8192> 4000000
                       AND FILE_ID = 11
              ORDER BY 1
    j'ai fait un ALTER DATABASE DATAFILE... RESIZE 4000M ou ALTER DATABASE TABLESPACE ... RESIZE 8000Mj'ai le même message d'erreur

    ORA-03297: file contains used data beyond requested RESIZE value
    Pourtant quand je ré-exécute la requête qui liste les tables, il n'y a pas de tables à supprimer.

    en conclusion, je ne comprends plus rien, d'autant plus que cette méthode se trouve dans plusieurs endroits en recherchant dans google

  8. #8
    Membre éclairé

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2003
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 701
    Points : 741
    Points
    741
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    normalement, ce n'est pas nécessaire, mais avez-vous arrêté votere base complètement puis la redémarrer pour être sûr des informations ?
    Sinon, comme je vous l' ai déjà dit : export full, suppression utilisateur + recréation + import de l'utilsateur optimisera l'occupation dans le tablespace .

    Avez-vous un outil queconque permettant de visualiser le contenu de votre tablespace ( existe sous toad et autres ..) ?

    Cordialement

Discussions similaires

  1. Défragmentation de tablespace
    Par Invité dans le forum Oracle
    Réponses: 1
    Dernier message: 22/03/2010, 09h15
  2. Gestion de tablespace
    Par blids dans le forum Administration
    Réponses: 20
    Dernier message: 24/09/2004, 09h45
  3. Comment déplacé un index de tablespace?
    Par superfly dans le forum Administration
    Réponses: 4
    Dernier message: 10/08/2004, 13h56
  4. Défragmenter une table
    Par Doctor Z dans le forum Administration
    Réponses: 14
    Dernier message: 09/06/2004, 17h57
  5. unable to create INITIAL extent for segment in tablespace
    Par Ludolitaliano dans le forum Administration
    Réponses: 4
    Dernier message: 11/09/2003, 16h43

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