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 :

Réorganisation d'une base - resize des datafiles


Sujet :

Administration Oracle

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 6
    Par défaut Réorganisation d'une base - resize des datafiles
    Bonjour à tous,

    Je viens de réorganiser des bases en 10g (par move des tables et rebuild d'indexes).
    Mes datafiles se sont 'vidés' mais je ne peut les réduires (ORA-03297: file contains used data beyond requested RESIZE value.)
    Cette erreur correspond d'après ce que j'ai pu comprendre à une HWM qui serait trop haute mais dans mon cas un shrink ne m'apporte rien ???

    Je me retrouve donc dans un état ou j'ai des datafiles enorme pour peu de place réélement utilisée.
    Je suis en small tablespace et en management local.

    Avez-vous une idée pour que je puisse diminuer mes datafiles ???
    Merci pour votre aide.

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    Quelle est la commande exacte ALTER TABLE ... SHRINK utilisée ?
    La requête suivante doit afficher pour chaque datafile le segment qui utilise le "dernier extent":



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    select owner,
             segment_name,
                 segment_type,
                 (select file_name
                    from dba_data_files b
                       where b.file_id = a.file_id
                         and b.relative_fno = b.relative_fno ) file_name
        from (select owner, segment_name, segment_type, file_id, relative_fno, block_id,
                     max(block_id) over (partition by file_id, relative_fno) max_block_id
                from dba_extents
                 ) a
       where block_id = max_block_id
     /

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 6
    Par défaut
    Pour le shrink j'ai testé :
    alter table matable shrink space compact;
    et
    alter table matable shrink space cascade;

    Merci pour ta requete. J'ai pu visualiser les segments qui utilisent le dernier extend mais je ne sais comment le déplacer !

    Merci pour ton aide.

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    (par défaut dans le même tablespace) doit répondre à ton besoin pour les tables.
    Attention aux contraintes:
    http://download.oracle.com/docs/cd/B...htm#sthref2297

  5. #5
    Membre Expert Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Par défaut
    Un petit tour dans la FAQ t'aurait aussi donné la réponse :
    http://oracle.developpez.com/sources...#DISPO_SEGMENT

    Pour déplacer les objets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    alter table ma_table move tablespace mon_tablespace;
    alter index mon_index rebuild mon_tablespace;
    En sachant que le MOVE d'une table rend ses indexes inutilisables et donc nécessite leur rebuild
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  6. #6
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 6
    Par défaut
    Effectivement j'ai bien fait un move dans le même tablespace (en modifiant les clauses de storage qui n'étaient pas toujours très judicieuses !).
    Pour les tables contenant des blob, il faut le préciser (sinon, par défaut, cela ne marche pas) - mais je ne suis pas dans ce cas.

    Il est a noter que j'ai ce problème même pour des tablespaces contenant xxx datafiles mais une seule table.
    ????

  7. #7
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 6
    Par défaut
    Désolé scheu, nos réponses se sont croisées.

    J'ai bien fait un move et un rebuild mais j'ai encore des extends "au bout" de mes datafiles : je ne peux les réduire à la place réélement occupée.

    Exemple 1 table de 128G avant move (sur 12 datafiles, tous pleins) : 77G après le move, tous les datafiles sont occupés à 60% (environ). Je tente un resize, je ne gagne que quelques Mo par datafile.
    ????
    Je vien d'ouvrir un call à métalink.

    Merci pour votre aide. Ca me prend le chou !!!

Discussions similaires

  1. Récupération d'une base à partir des fichiers dbf
    Par Skirlou dans le forum Administration
    Réponses: 2
    Dernier message: 26/11/2012, 17h12
  2. Transfert des données d'une base via des Sockets
    Par akram1985 dans le forum Entrée/Sortie
    Réponses: 0
    Dernier message: 14/09/2011, 12h13
  3. Optimisation d'une base avec des tables liés
    Par snoopy69 dans le forum Access
    Réponses: 2
    Dernier message: 28/04/2006, 09h11
  4. [9i] Réorganisation d'une base
    Par Xav' dans le forum Oracle
    Réponses: 8
    Dernier message: 09/03/2006, 05h05
  5. accès fortran à une base / utilisation des "bytea"
    Par bdkiller dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 05/11/2004, 08h31

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