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 :

resize d'un fichier oracle


Sujet :

Administration Oracle

  1. #1
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 7
    Par défaut resize d'un fichier oracle
    bonjour,

    j'ai un tablespace de 11 GO, dans lequel je viens de supprimer pleins de tables et d'index.
    j'ai fait un coalese, puis j'ai essayé de faire un resize mais j'ai ces erreurs :

    1-soit y a des données au dela de la taille du resize.
    2- soit caractère invalide ORA-000911

    remarque : la taille réelle des objets restant ne depasse 3GO
    verison = oracle 8i

    merci

  2. #2
    Membre expérimenté

    Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 169
    Par défaut
    bonjour,
    a ma connaissance en 8 le seul moyen de vraiement tout récupere est export
    drop du tablespace
    create tablespace (avec un initial a la taille de tes données)
    puis import.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 15
    Par défaut
    Bonjour,

    Je souhaite egalement faire une manip en version 8 de resize de mon tablespace.
    Est-ce que ta commande de "coalesce" sur ton tablespace t'a permis de faire redescendre le pourcentage d'utilisation de ta base ?

    Avant de faire mon resize (ajout d'espace), je souhaiterai voir si le fait de demander un COALESCE permet de "retasser les données". Ceci m'eviterai d'ajouter un fichier.

    D'apres ce que j'ai vu ou demande, si tu veux reduire la taille de ton fichier dbf, tu es quitte a faire un export/create/import.

  4. #4
    Membre expérimenté
    Inscrit en
    Mars 2010
    Messages
    205
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 205
    Par défaut
    Tu peux faire des move des objets qui restent sur ton tablespace, ils seront recopiés en début de fichier.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 15
    Par défaut
    Est-ce que tu as des informations concernant les commandes a effectuer pour le MOVE.

    Faut-il faire auparavant un COALESCE ?
    Est-ce que l'operation de "move" des tables necessitent enfin de refaire les index ?
    est-ce que l'operation de MOVE peux s'effectuer sur un tablespace ONLINE ?

    Merci pour ton aide.

  6. #6
    Membre expérimenté
    Inscrit en
    Mars 2010
    Messages
    205
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 205
    Par défaut
    Pour déplacer les tables :
    alter table xxxx move tablespace yyyy;

    les index :

    alter index xxxx rebuild tablespace zzzz [ online ];

    Le déplacement des tables ne peut se faire online, le rebuild des index oui si tu précises la clause online. il vaut mieux faire un coalesce du tablespace avant de commencer, et un autre après terminaison de l'opération.

    Il est impératif de refaire les index, ils passent en état "unusable" quand tu déplaces une table, ce qui est inévitable vu que tous les rowid des lignes de la table sont modifiés.

    Oui, le move peut se se faire sur un tablespace online, on ne peut pas faire grand chose s'il est offline , mais comme tu l'auras compris on ne peut utiliser les tables quand elles sont déplacées (pour ça il faut la v9 et le package DBMS_REDEFINITON).

    Après, il y a deux manières de procéder :

    Soit tu te sers temporairement d'un tablespace, tu déplaces tous les objets du tablespace d'origine dans celui-là, tu fais ton coalesce, puis opération inverse, retour dans le tablespace d'origine. C'est la manière la plus simple de procéder, mais elle demande de l'espace libre.

    Soit tu reste dans le même tablespace, il faut que tu repères la position des objets et de l'espace libre dans ton tablespace, et tu t'arranges pour déplacer les tables qui sont en fin de tablespace dans l'espace libre se trouvant au début. Ainsi, de déplacement en déplacement, tu récupéres de l'espace libre à la fin de ton tablespace.

    Tu peux enfin faire ton resize une fois les manipulations précédentes faites.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 15
    Par défaut
    Merci pour tes explications.
    En fait si j'ai pas mal de place recupere (dans db_freespace, il m'annonce 900 000KO-900Mo ?), le fait de faire les move devrait m'eviter de redimensionne mon tablespace (si j'ai tout compris).

    Si mon tablespace fait 5Go par exemple, qu'il ne reste que 1Go(donc 4Go de donnees). Si le db_free_space m'annonce 800Mo de free block, lorsque je ferais les move des tables dans mon tablespace, je devrai me retrouver a la fin avec 4Go-800Mo soit 3,2Go.Du coup je n'ai plus besoin de faire de resize puisuqe j'ai reussi a recuperer l'espace libre.

    Ai-je tout bien compris ?
    Par contre, tu me dis que je peux faire le move des tables online et une autre fois non. Je compte faire la manip a l'interieur d'un meme tablespace faute de place.

    Merci pour tes explications (je commence a en voir le bout) ;-)

  8. #8
    Membre expérimenté
    Inscrit en
    Mars 2010
    Messages
    205
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 205
    Par défaut
    On ne peut déplacer les tables online en v8i, parc contre on peut la faire avec les index.
    Si ton dba_free_space t'indique 800M, il te reste donc 4,2Go de données, pas 3,2.
    Et tu ne vas pas récupérer d'espace libre, tu l'as déjà, il va seulement être déplacé en fin de fichier.

Discussions similaires

  1. insertion des données d'un fichier à oracle
    Par waldoun dans le forum PL/SQL
    Réponses: 5
    Dernier message: 20/05/2009, 01h20
  2. Fichier oracle.cfg
    Par lesageelu dans le forum Débuter
    Réponses: 1
    Dernier message: 28/10/2008, 17h14
  3. Réponses: 7
    Dernier message: 10/07/2006, 14h54
  4. controle d'accés pour un fichier (oracle)
    Par tsyl dans le forum Oracle
    Réponses: 13
    Dernier message: 17/03/2006, 09h03
  5. Problème de lecture de fichier Oracle 9.2
    Par fortlow dans le forum Oracle
    Réponses: 4
    Dernier message: 14/11/2005, 16h48

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